Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Sep 2012 10:14:13 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-stable@freebsd.org
Cc:        Steven Hartland <killing@multiplay.co.uk>
Subject:   Re: Lock MFI config not exclusively locked - panic
Message-ID:  <201209261014.13064.jhb@freebsd.org>
In-Reply-To: <ED06B1F69D4042FBA4604BFE48121E23@multiplay.co.uk>
References:  <F623D1F9C19F4D4DB525E9E0B2102B1A@multiplay.co.uk> <ED06B1F69D4042FBA4604BFE48121E23@multiplay.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, September 25, 2012 9:37:41 pm Steven Hartland wrote:
> ----- Original Message ----- 
> > I've been testing some enhancements to mfiutil so compiled
> > kernel in debug with:-
> > options INVARIANTS
> > options INVARIANT_SUPPORT
> > options DDB
> > options MFI_DEBUG
> > 
> > After doing that and running mfiutil to import a foreign
> > config I get a panic with:-
> > Lock MFI config not exclusively locked @ /usr/src/sys/dev/mfi/mfi.c:1001
> > 
> > Looking at the code this was trigged by the mfi_ldprobe from
> > mfi_check_command_post which doesn't do any locking.
> > 
> > Is the correct fix for this to wrap all the calls to mfi_ldprobe
> > with config and io lock as per mfi_startup e.g.
> >        sx_xlock(&sc->mfi_config_lock);
> >        mtx_lock(&sc->mfi_io_lock);
> >        mfi_ldprobe(sc);
> >        mtx_unlock(&sc->mfi_io_lock);
> >        sx_xunlock(&sc->mfi_config_lock);
> 
> Replying to my own posts again, but just spotted mfi_config_lock
> method and seems its just missing MFI_DCMD_CFG_FOREIGN_IMPORT
> which is required for user commands.
> 
> Adding it fixes this panic :)

Committed, thanks!

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209261014.13064.jhb>