From owner-svn-src-stable@FreeBSD.ORG Thu Sep 17 11:03:37 2009 Return-Path: Delivered-To: svn-src-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E9DB4106566C; Thu, 17 Sep 2009 11:03:37 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D77DB8FC12; Thu, 17 Sep 2009 11:03:37 +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 n8HB3bRg054762; Thu, 17 Sep 2009 11:03:37 GMT (envelope-from zec@svn.freebsd.org) Received: (from zec@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n8HB3br6054760; Thu, 17 Sep 2009 11:03:37 GMT (envelope-from zec@svn.freebsd.org) Message-Id: <200909171103.n8HB3br6054760@svn.freebsd.org> From: Marko Zec Date: Thu, 17 Sep 2009 11:03:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r197267 - in stable/8/sys: . amd64/include/xen cddl/contrib/opensolaris compat/linux contrib/dev/acpica contrib/pf dev/xen/xenpci X-BeenThere: svn-src-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for all the -stable branches of the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Sep 2009 11:03:38 -0000 Author: zec Date: Thu Sep 17 11:03:37 2009 New Revision: 197267 URL: http://svn.freebsd.org/changeset/base/197267 Log: MFC r197176: Lock the ifnet list while iterating over it. Submitted by: julian MFC after: 3 days Approved by: re (kensmith) Modified: stable/8/sys/ (props changed) stable/8/sys/amd64/include/xen/ (props changed) stable/8/sys/cddl/contrib/opensolaris/ (props changed) stable/8/sys/compat/linux/linux_ioctl.c stable/8/sys/contrib/dev/acpica/ (props changed) stable/8/sys/contrib/pf/ (props changed) stable/8/sys/dev/xen/xenpci/ (props changed) Modified: stable/8/sys/compat/linux/linux_ioctl.c ============================================================================== --- stable/8/sys/compat/linux/linux_ioctl.c Thu Sep 17 06:31:59 2009 (r197266) +++ stable/8/sys/compat/linux/linux_ioctl.c Thu Sep 17 11:03:37 2009 (r197267) @@ -2152,6 +2152,7 @@ linux_ifconf(struct thread *td, struct i /* handle the 'request buffer size' case */ if (ifc.ifc_buf == PTROUT(NULL)) { ifc.ifc_len = 0; + IFNET_RLOCK(); TAILQ_FOREACH(ifp, &V_ifnet, if_link) { TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { struct sockaddr *sa = ifa->ifa_addr; @@ -2159,6 +2160,7 @@ linux_ifconf(struct thread *td, struct i ifc.ifc_len += sizeof(ifr); } } + IFNET_RUNLOCK(); error = copyout(&ifc, uifc, sizeof(ifc)); CURVNET_RESTORE(); return (error);