From owner-freebsd-bugs@FreeBSD.ORG Mon Oct 10 06:10:15 2005 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B06E716A41F for ; Mon, 10 Oct 2005 06:10:15 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3122E43D46 for ; Mon, 10 Oct 2005 06:10:15 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j9A6AFCl007191 for ; Mon, 10 Oct 2005 06:10:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j9A6AEQK007190; Mon, 10 Oct 2005 06:10:14 GMT (envelope-from gnats) Resent-Date: Mon, 10 Oct 2005 06:10:14 GMT Resent-Message-Id: <200510100610.j9A6AEQK007190@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Brian Fundakowski Feldman Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5E46616A420 for ; Mon, 10 Oct 2005 06:05:50 +0000 (GMT) (envelope-from bfeldman@rex.vetinsite.net) Received: from rex.vetinsite.net (36.f8bed1.client.atlantech.net [209.190.248.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id E2FAB43D67 for ; Mon, 10 Oct 2005 06:05:45 +0000 (GMT) (envelope-from bfeldman@rex.vetinsite.net) Received: from rex.vetinsite.net (bfeldman@localhost.vetinsite.net [127.0.0.1]) by rex.vetinsite.net (8.13.4/8.13.4) with ESMTP id j9A65iUM003451 for ; Mon, 10 Oct 2005 02:05:44 -0400 (EDT) (envelope-from bfeldman@rex.vetinsite.net) Received: (from bfeldman@localhost) by rex.vetinsite.net (8.13.4/8.13.4/Submit) id j9A65iFI003450; Mon, 10 Oct 2005 02:05:44 -0400 (EDT) (envelope-from bfeldman) Message-Id: <200510100605.j9A65iFI003450@rex.vetinsite.net> Date: Mon, 10 Oct 2005 02:05:44 -0400 (EDT) From: Brian Fundakowski Feldman To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: kern/87191: aac(4) panics immediately with INVARIANTS X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Oct 2005 06:10:15 -0000 >Number: 87191 >Category: kern >Synopsis: aac(4) panics immediately with INVARIANTS >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Oct 10 06:10:14 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Brian Fundakowski Feldman >Release: FreeBSD 6.0-RC1 i386 >Organization: >Environment: System: FreeBSD rex.vetinsite.net 6.0-RC1 FreeBSD 6.0-RC1 #2: Sun Oct 9 21:16:52 EDT 2005 root@:/usr/obj/usr/src/sys/REX i386 aac0: mem 0xf8000000-0xfbffffff irq 25 at device 3.0 on pci2 aac0: [FAST] aac0: Adaptec Raid Controller 2.0.0-1 >Description: When the kernel is compiled with INVARIANTS, lack of synchronization around the aac_describe_controller() contents results in a mutex assertion failure panic. >How-To-Repeat: Recompile a kernel with INVARIANTS and INVARIANT_SUPPORT. >Fix: cvs diff: Diffing . Index: aac.c =================================================================== RCS file: /export/ncvs/src/sys/dev/aac/aac.c,v retrieving revision 1.109.2.1 diff -u -5 -r1.109.2.1 aac.c --- aac.c 9 Oct 2005 06:39:21 -0000 1.109.2.1 +++ aac.c 10 Oct 2005 01:15:50 -0000 @@ -2713,10 +2713,11 @@ struct aac_fib *fib; struct aac_adapter_info *info; debug_called(2); + mtx_lock(&sc->aac_io_lock); aac_alloc_sync_fib(sc, &fib); fib->data[0] = 0; if (aac_sync_fib(sc, RequestAdapterInfo, 0, fib, 1)) { device_printf(sc->aac_dev, "RequestAdapterInfo failed\n"); @@ -2774,10 +2775,11 @@ "\22NEWCOMM" "\23ARRAY64BIT" "\24HEATSENSOR"); } aac_release_sync_fib(sc); + mtx_unlock(&sc->aac_io_lock); } /* * Look up a text description of a numeric error code and return a pointer to * same. >Release-Note: >Audit-Trail: >Unformatted: