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