mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 08:43:19 -04:00
Partial backout of 1.318, remove error handling added because it may be
incorrect. Requested by: bde
This commit is contained in:
parent
2749b14129
commit
37a6b453c4
1 changed files with 3 additions and 15 deletions
|
|
@ -154,21 +154,9 @@ vfs_hang_addrlist(mp, nep, argp)
|
|||
}
|
||||
}
|
||||
rn = (*rnh->rnh_addaddr)(saddr, smask, rnh, np->netc_rnodes);
|
||||
if (rn == 0) {
|
||||
/*
|
||||
* One of the reasons that rnh_addaddr may fail is that
|
||||
* the entry already exists. To check for this case, we
|
||||
* look up the entry to see if it is there. If so, we
|
||||
* do not need to make a new entry but do return success.
|
||||
*/
|
||||
free(np, M_NETADDR);
|
||||
rn = (*rnh->rnh_matchaddr)(saddr, rnh);
|
||||
if (rn != 0 && (rn->rn_flags & RNF_ROOT) == 0 &&
|
||||
((struct netcred *)rn)->netc_exflags == argp->ex_flags &&
|
||||
!bcmp(&((struct netcred *)rn)->netc_anon,
|
||||
&argp->ex_anon, sizeof(struct ucred)))
|
||||
return (0);
|
||||
return (EPERM);
|
||||
if (rn == 0 || np != (struct netcred *)rn) { /* already exists */
|
||||
error = EPERM;
|
||||
goto out;
|
||||
}
|
||||
np->netc_exflags = argp->ex_flags;
|
||||
bzero(&np->netc_anon, sizeof(np->netc_anon));
|
||||
|
|
|
|||
Loading…
Reference in a new issue