Do not leak lock in the case of EEXIST error.
PR: kern/92776 Submitted by: Ed Schouten <Ed.Schouten tunix.nl>
This commit is contained in:
parent
d0a2646099
commit
e9bf9fb67c
@ -1906,8 +1906,12 @@ carp_ioctl(struct ifnet *ifp, u_long cmd, caddr_t addr)
|
||||
cif = (struct carp_if *)sc->sc_carpdev->if_carp;
|
||||
TAILQ_FOREACH(vr, &cif->vhif_vrs, sc_list)
|
||||
if (vr != sc &&
|
||||
vr->sc_vhid == carpr.carpr_vhid)
|
||||
return EEXIST;
|
||||
vr->sc_vhid == carpr.carpr_vhid) {
|
||||
error = EEXIST;
|
||||
break;
|
||||
}
|
||||
if (error == EEXIST)
|
||||
break;
|
||||
}
|
||||
sc->sc_vhid = carpr.carpr_vhid;
|
||||
IF_LLADDR(sc->sc_ifp)[0] = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user