From owner-cvs-src-old@FreeBSD.ORG Sun Apr 3 18:56:35 2011 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 CE4B2106564A for ; Sun, 3 Apr 2011 18:56:35 +0000 (UTC) (envelope-from trociny@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BBD3F8FC0C for ; Sun, 3 Apr 2011 18:56:35 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id p33IuZOC053340 for ; Sun, 3 Apr 2011 18:56:35 GMT (envelope-from trociny@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id p33IuZZ1053339 for cvs-src-old@freebsd.org; Sun, 3 Apr 2011 18:56:35 GMT (envelope-from trociny@repoman.freebsd.org) Message-Id: <201104031856.p33IuZZ1053339@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to trociny@repoman.freebsd.org using -f From: Mikolaj Golub Date: Sun, 3 Apr 2011 18:56:16 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: RELENG_8 Subject: cvs commit: src/sys/geom/gate g_gate.c g_gate.h 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: Sun, 03 Apr 2011 18:56:35 -0000 trociny 2011-04-03 18:56:16 UTC FreeBSD src repository Modified files: (Branch: RELENG_8) sys/geom/gate g_gate.c g_gate.h Log: SVN rev 220300 on 2011-04-03 18:56:16Z by trociny MFC r220062, r220173: r220062: In g_gate_create() there is a window between when g_gate_softc is registered in g_gate_units array and when its sc_provider field is filled. If during this period g_gate_units is accessed by another thread that is checking for provider name collision the crash is possible. Fix this by adding sc_name field to struct g_gate_softc. In g_gate_create() when g_gate_softc is created but sc_provider is still not sc_name points to provider name stored in the local array. Reported by: Freddie Cash r220173: Increase debug level on g_gate device destruction and add message on device creation. Suggested by: danger Approved by: pjd (mentor) Revision Changes Path 1.26.10.5 +7 -2 src/sys/geom/gate/g_gate.c 1.10.10.3 +1 -1 src/sys/geom/gate/g_gate.h