From owner-freebsd-stable@FreeBSD.ORG Mon Apr 15 10:45:28 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id EAC57854; Mon, 15 Apr 2013 10:45:28 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) by mx1.freebsd.org (Postfix) with ESMTP id 751D8320; Mon, 15 Apr 2013 10:45:28 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.6/8.14.6) with ESMTP id r3FAgdkp097825; Mon, 15 Apr 2013 14:42:39 +0400 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.6/8.14.6/Submit) id r3FAgcxI097824; Mon, 15 Apr 2013 14:42:38 +0400 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Mon, 15 Apr 2013 14:42:38 +0400 From: Gleb Smirnoff To: Chris Forgeron Subject: Re: kern/165903: mbuf leak Message-ID: <20130415104238.GP76816@FreeBSD.org> References: <46D80686C389884BB0C047851038EC456D8BCEBC@AA-EX0.acsi.ca> <20130410235347.GA38492@icarus.home.lan> <20130411000818.GA38803@icarus.home.lan> <46D80686C389884BB0C047851038EC456D8C0EF0@AA-EX0.acsi.ca> <20130413235031.GA8212@icarus.home.lan> <46D80686C389884BB0C047851038EC456D8C0F52@AA-EX0.acsi.ca> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="+OvhQd+MVTzxy63P" Content-Disposition: inline In-Reply-To: <46D80686C389884BB0C047851038EC456D8C0F52@AA-EX0.acsi.ca> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Jeremy Chadwick , "freebsd-stable@freebsd.org" , Jack Vogel , John Baldwin X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Apr 2013 10:45:29 -0000 --+OvhQd+MVTzxy63P Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Chris, can you please test attached patch? Jeremy, thanks for cc :) -- Totus tuus, Glebius. --+OvhQd+MVTzxy63P Content-Type: text/x-diff; charset=koi8-r Content-Disposition: attachment; filename="if_ether.c.diff" Index: if_ether.c =================================================================== --- if_ether.c (revision 249327) +++ if_ether.c (working copy) @@ -558,13 +558,13 @@ in_arpinput(struct mbuf *m) if (ah->ar_pln != sizeof(struct in_addr)) { log(LOG_NOTICE, "in_arp: requested protocol length != %zu\n", sizeof(struct in_addr)); - return; + goto drop; } if (allow_multicast == 0 && ETHER_IS_MULTICAST(ar_sha(ah))) { log(LOG_NOTICE, "arp: %*D is multicast\n", ifp->if_addrlen, (u_char *)ar_sha(ah), ":"); - return; + goto drop; } op = ntohs(ah->ar_op); --+OvhQd+MVTzxy63P--