Re: Recursive ->i_mutex lockdep complaint

From: Miklos Szeredi
Date: Tue Apr 03 2007 - 11:05:46 EST


On Tue, 2007-04-03 at 18:21 +0400, Alexey Dobriyan wrote:
> On Mon, Mar 26, 2007 at 11:35:42PM -0800, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> > The patch titled
> > add file position info to proc
> > has been added to the -mm tree. Its filename is
> > add-file-position-info-to-proc.patch
>
> I tried to stress-test it with the following program and script and
> lockdep barfs on me reasonably quickly:

Ugh. As I see it, this is independent from the above patch, as the same
can happen with /proc/PID/fd. Or did I miss something?

And it seems quite benign, one of the mutexes is for the proc inode, the
other is for the pipe inode, and hopefully they haven't got anything
else to do with each other.

> It seems that lockdep is unhappy about ->i_mutex taken in
> ->release/pipe_read_release()/pipe_read_fasync()
> which is triggered from put_files_struct() in proc_readfd_common()
>
> Now checking if giving pipe's i_mutex its own lockdep class with fix
> things.

Should help. Although I'm wondering if it's worth bothering with, as it
doesn't seem to happen in real life for lockdep users.

Thanks,
Miklos

-
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/