From owner-cvs-src-old@FreeBSD.ORG Thu Apr 23 17:47:33 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7427F10656D2 for ; Thu, 23 Apr 2009 17:47:33 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 613568FC19 for ; Thu, 23 Apr 2009 17:47:33 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n3NHlXnp044150 for ; Thu, 23 Apr 2009 17:47:33 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n3NHlXlA044149 for cvs-src-old@freebsd.org; Thu, 23 Apr 2009 17:47:33 GMT (envelope-from rwatson@repoman.freebsd.org) Message-Id: <200904231747.n3NHlXlA044149@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to rwatson@repoman.freebsd.org using -f From: Robert Watson Date: Thu, 23 Apr 2009 17:47:15 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_7 Subject: cvs commit: src/sys/net if_mib.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Apr 2009 17:47:33 -0000 rwatson 2009-04-23 17:47:15 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/net if_mib.c Log: SVN rev 191434 on 2009-04-23 17:47:15Z by rwatson In sysctl_ifdata(), query the ifnet pointer using the index only once, rather than querying it, validating it, and then re-querying it without validating it. This may avoid a NULL pointer dereference and resulting kernel page fault if an interface is being deleted while bsnmp or other tools are querying data on the interface. The full fix, to properly refcount the interface for the duration of the sysctl, is in 8.x, but is considered too high-risk for 7.2, so instead will appear in 7.3 (if all goes well). Reproted by: mdtancsa Approved by: re (kensmith) Revision Changes Path 1.18.2.1 +1 -3 src/sys/net/if_mib.c