Re: pipe_release oops.

From: Al Viro
Date: Sun Mar 10 2013 - 18:10:58 EST


On Fri, Mar 08, 2013 at 10:30:01AM -0800, Linus Torvalds wrote:

> I must be missing something, and I wonder if the thing I'm missing is
> that with OPEN_PATH we may now have open calls that don't actually
> have FMODE_READ or FMODE_WRITE set at all.

With OPEN_PATH we don't call ->open() (or anything in the driver, for that
matter) at all. I really don't see how that could trigger...

> So suddenly we end up with these pipe openers that don't update the
> counts, and I could imagine that really confusing us...
>
> So I'm wondering if you could apply this patch, and see if that
> triggers. In fact, please un-apply the other changes to fs/pipe.c too,
> to see if it also obviates the need for checking i_pipe for NULL. You
> should get the new warning (once), but you should not get any oopses..
>
> Anyway, this would explain why the actual read/write paths don't need
> to check for i_pipe - if FMODE_READ/WRITE aren't set, we'll never get
> that far. But the release() and the fasync functions do get called
> even for non-readable and non-writable files...
>
> And Al, please get your email fixed. Is somebody usually on irc with
> him or something?

Back and looking through all that fun...
--
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/