From owner-svn-src-head@FreeBSD.ORG Sat Jul 31 21:33:18 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2430106566B; Sat, 31 Jul 2010 21:33:18 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B69EF8FC08; Sat, 31 Jul 2010 21:33:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o6VLXI3W099875; Sat, 31 Jul 2010 21:33:18 GMT (envelope-from bz@svn.freebsd.org) Received: (from bz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o6VLXISn099872; Sat, 31 Jul 2010 21:33:18 GMT (envelope-from bz@svn.freebsd.org) Message-Id: <201007312133.o6VLXISn099872@svn.freebsd.org> From: "Bjoern A. Zeeb" Date: Sat, 31 Jul 2010 21:33:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r210703 - in head/sys: netinet netinet6 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Jul 2010 21:33:19 -0000 Author: bz Date: Sat Jul 31 21:33:18 2010 New Revision: 210703 URL: http://svn.freebsd.org/changeset/base/210703 Log: Document the mandatory argument to the arptimer() and nd6_llinfo_timer() functions with a KASSERT(). Note: there is no need to return after panic. In the legacy IP case, only assign the arg after the check, in the IPv6 case, remove the extra checks for the table and interface as they have to be there unless we freed and forgot to cancel the timer. It doesn't matter anyway as we would panic on the NULL pointer deref immediately and the bug is elsewhere. This unifies the code of both address families to some extend. Reviewed by: rwatson MFC after: 6 days Modified: head/sys/netinet/if_ether.c head/sys/netinet6/nd6.c Modified: head/sys/netinet/if_ether.c ============================================================================== --- head/sys/netinet/if_ether.c Sat Jul 31 21:09:49 2010 (r210702) +++ head/sys/netinet/if_ether.c Sat Jul 31 21:33:18 2010 (r210703) @@ -163,12 +163,10 @@ static void arptimer(void *arg) { struct ifnet *ifp; - struct llentry *lle = (struct llentry *)arg; + struct llentry *lle; - if (lle == NULL) { - panic("%s: NULL entry!\n", __func__); - return; - } + KASSERT(arg != NULL, ("%s: arg NULL", __func__)); + lle = (struct llentry *)arg; ifp = lle->lle_tbl->llt_ifp; CURVNET_SET(ifp->if_vnet); IF_AFDATA_LOCK(ifp); Modified: head/sys/netinet6/nd6.c ============================================================================== --- head/sys/netinet6/nd6.c Sat Jul 31 21:09:49 2010 (r210702) +++ head/sys/netinet6/nd6.c Sat Jul 31 21:33:18 2010 (r210703) @@ -446,14 +446,9 @@ nd6_llinfo_timer(void *arg) struct ifnet *ifp; struct nd_ifinfo *ndi = NULL; + KASSERT(arg != NULL, ("%s: arg NULL", __func__)); ln = (struct llentry *)arg; - if (ln == NULL) { - panic("%s: NULL entry!\n", __func__); - return; - } - - if ((ifp = ((ln->lle_tbl != NULL) ? ln->lle_tbl->llt_ifp : NULL)) == NULL) - panic("ln ifp == NULL"); + ifp = ln->lle_tbl->llt_ifp; CURVNET_SET(ifp->if_vnet);