From owner-freebsd-net@FreeBSD.ORG Thu Jan 31 21:10:03 2008 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6809916A41B for ; Thu, 31 Jan 2008 21:10:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 656E613C4DB for ; Thu, 31 Jan 2008 21:10:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m0VLA3YE012117 for ; Thu, 31 Jan 2008 21:10:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m0VLA3B1012116; Thu, 31 Jan 2008 21:10:03 GMT (envelope-from gnats) Date: Thu, 31 Jan 2008 21:10:03 GMT Message-Id: <200801312110.m0VLA3B1012116@freefall.freebsd.org> To: freebsd-net@FreeBSD.org From: "Max Laier" Cc: Subject: Re: kern/120130: [carp] [panic] carp causes kernel panics in any constellation X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Max Laier List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2008 21:10:03 -0000 The following reply was made to PR kern/120130; it has been noted by GNATS. From: "Max Laier" To: bug-followup@freebsd.org Cc: cwf-ml@arcor.de, glebius@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--