Re: pipe_release oops.

From: Linus Torvalds
Date: Thu Mar 07 2013 - 19:21:20 EST


On Thu, Mar 7, 2013 at 2:36 PM, Dave Jones <davej@xxxxxxxxxx> wrote:
>
> The hits keep on coming..
>
> [ 255.609172] BUG: unable to handle kernel NULL pointer dereference at 0000000000000064
> [ 255.610393] IP: [<ffffffff811bad62>] pipe_release+0x42/0xd0

Ok, I think this is the same issue as your fasync thing.

So add a "if (pipe) { }" in pipe_release() too.

It's a bit odd, becuse we always allocate an inode->i_pipe whenever we
associate the file with any of the pipe operations, so I don't see how
that NULL i_pipe happens. But we do have that "free_pipe_info() if
there are no readers or writers" logic and I bet that's what triggers
this somehow. I just don't see what the exact sequence is.

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