kern/120130: [carp] [panic] carp causes kernel panics in any
constellation
Max Laier
max at love2party.net
Thu Jan 31 13:10:03 PST 2008
The following reply was made to PR kern/120130; it has been noted by GNATS.
From: "Max Laier" <max at love2party.net>
To: bug-followup at freebsd.org
Cc: cwf-ml at arcor.de, glebius at freebsd.org
Subject: Re: kern/120130: [carp] [panic] carp causes kernel panics in any
constellation
Date: Thu, 31 Jan 2008 22:03:46 +0100 (CET)
------=_20080131220346_45398
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Looks like rev. 1.49 of ip_carp.c needs to be MFC'ed. Patch attached,
please test and report back. Thank you.
-- Max
------=_20080131220346_45398
Content-Type: text/x-diff; name="carp.diff"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="carp.diff"
Index: ip_carp.c
===================================================================
RCS file: /mnt/mlaier/fcvs/src/sys/netinet/ip_carp.c,v
retrieving revision 1.27.2.11
diff -u -r1.27.2.11 ip_carp.c
--- ip_carp.c 6 Jun 2007 16:20:50 -0000 1.27.2.11
+++ ip_carp.c 31 Jan 2008 21:00:25 -0000
@@ -1881,8 +1881,12 @@
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;
IFP2ENADDR(sc->sc_ifp)[0] = 0;
------=_20080131220346_45398--
More information about the freebsd-net
mailing list