Re: btrfs/mmap lockdep report from 3.2

From: Jan Kara
Date: Tue Jan 17 2012 - 18:25:52 EST


On Mon 09-01-12 20:44:32, Chris Mason wrote:
> On Mon, Jan 09, 2012 at 08:03:32PM -0500, Dave Jones wrote:
> > Just hit this with Linus' tree as of 37cfc3f67db9f2d907f6bfcfae590cdbbef623e8
> >
> > Dave
> >
> > [ 130.932837] ======================================================
> > [ 130.933032] [ INFO: possible circular locking dependency detected ]
> > [ 130.933032] 3.2.0+ #19 Not tainted
> > [ 130.933032] -------------------------------------------------------
> > [ 130.933032] firefox/1630 is trying to acquire lock:
> > [ 130.933032] (&sb->s_type->i_mutex_key#13){+.+.+.}, at: [<ffffffffa011fd5b>] btrfs_page_mkwrite+0x5b/0x310 [btrfs]
> > [ 130.933032]
> > [ 130.933032] but task is already holding lock:
> > [ 130.933032] (&mm->mmap_sem){++++++}, at: [<ffffffff816a38c8>] do_page_fault+0xe8/0x5d0
> > [ 130.933032]
> > [ 130.933032] which lock already depends on the new lock.
>
> From a lockdep point of view, this is real. But the page_mkwrite
> code is never called on directories so it is actually safe. We'll fix
> it up.
Well, but hitting a fault (and thus acquiring mmap_sem) while holding
i_mutex can happen also for normal files when we copy data from userspace.
So I believe the deadlock is real...

Honza
--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
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/