Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Nov 2008 21:07:28 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Attilio Rao <attilio@freebsd.org>, Yuri Pankov <yuri.pankov@gmail.com>, freebsd-current@freebsd.org, freebsd-fs@freebsd.org, developers@freebsd.org
Subject:   Re: reproducible panic with mount_smbfs
Message-ID:  <alpine.BSF.1.10.0811032106110.48320@fledge.watson.org>
In-Reply-To: <200811031458.42549.jhb@freebsd.org>
References:  <20081102123100.GA1434@darklight.homeunix.org> <3bbf2fe10811020737g211dfb3fs54b48e4071db2393@mail.gmail.com> <3bbf2fe10811020817g1409a38ep26c1ee8edf075201@mail.gmail.com> <200811031458.42549.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 3 Nov 2008, John Baldwin wrote:

>> Yuri, could you please test this fix: 
>> http://www.freebsd.org/~attilio/netsmb.diff
>>
>> and report if it works? You could get a KASSERT running but this is 
>> expected as I want to identify on the callers who passes a malformed 
>> request and fix it.
>
> This allows all smb locks to recurse unlike the original code I think.  It 
> may be better if smb_vclist was initialized with LK_RECURSE, but not all the 
> other smb locks.  Also, in smb_co_addchild() I think you should just replace 
> the existing asserts with appropriate lockmgr_assert() (you could add a 
> smb_co_assert() to preserve the layering) rather than removing assertions 
> altogether.

My general feeling is that the locking in netsmb needs a bit of cleanup, 
updating, etc.  I'm reluctant to change the underlying primitives (as this 
patch does) without first clarifying what's going on in the code a layer or 
two above.

Robert N M Watson
Computer Laboratory
University of Cambridge



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