Messages in this thread | | | Date | Sat, 19 Sep 2009 19:39:48 +0200 | From | Ingo Molnar <> | Subject | Re: circular locking dependency detected panic in filldir when CONFIG_PROVE_LOCKING=y |
| |
* Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> On Sat, 2009-09-19 at 09:23 +0200, Ingo Molnar wrote: > > * Trond Myklebust <trond.myklebust@fys.uio.no> 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
| |