reproducible panic with mount_smbfs

Attilio Rao attilio at freebsd.org
Mon Nov 3 13:20:06 PST 2008


2008/11/3, Robert Watson <rwatson at freebsd.org>:
> 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.

I agree with Robert.
We need to make an upper layers analysis and decide what is the best
solution for locks.
This was a quick hack just to let it not panic when mounting.

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein


More information about the freebsd-current mailing list