Re: circular locking dependency detected panic in filldir whenCONFIG_PROVE_LOCKING=y

From: Ingo Molnar
Date: Sat Sep 19 2009 - 13:40:21 EST



* Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:

> On Sat, 2009-09-19 at 09:23 +0200, Ingo Molnar wrote:
> > * Trond Myklebust <trond.myklebust@xxxxxxxxxx> wrote:
> >
> > > On Fri, 2009-09-18 at 17:15 -0400, Joe Korty wrote:
> > > > I experienced a might_fault panic from NFS's use of filldir
> > > > in a 2.6.31 kernel compiled with CONFIG_PROVE_LOCKING=y.
> > > >
> > > > Looking at filldir, I see it is accessing user space with
> > > > __put_dir's (which are inatomic) and with one copy_to_user
> > > > (which is not inatomic). It is the single copy_to_user
> > > > which is causing the might_fault panic.
> > > >
> > > > It doesn't make any sense to be mixing use of inatomic
> > > > and non-inatomic services in filldir. Either all should be
> > > > the inatomic version, or none should be.
> > > >
> > > > The might_fault condition being reported by the panic looks
> > > > real to me, so I suspect the wrong answer is converting
> > > > everything to the inatomic version, since that just
> > > > suppresses the circular dependency check while leaving
> > > > the circular dependency in place.
> > >
> > > Yes. This is known... Please see
> > > http://thread.gmane.org/gmane.linux.nfs/28578
> > > and
> > > http://thread.gmane.org/gmane.linux.nfs/27406
> > >
> > > I'm still hoping the VM folks can see fit to merge Peter's fix at some
> > > point...
> >
> > Ouch, those patches at:
> >
> > http://programming.kicks-ass.net/kernel-patches/mmap-vs-nfs/
> >
> > .... are 2 years old. Higher intensity prodding needed to get this
> > moving?
>
> No I just need to find a way to clone() myself :-)

I did not mean to prod you :-)

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/