Messages in this thread | | | Date | Mon, 11 Mar 2013 08:10:10 -0700 | Subject | Re: pipe_release oops. | From | Linus Torvalds <> |
| |
On Sun, Mar 10, 2013 at 5:35 PM, Al Viro <viro@zeniv.linux.org.uk> wrote: > > Hmm... How the devil would things like pipe_read_open() get called, anyway? > pipe_rdwr_open() can be called, all right - that happens if you do pipe() > and then open() via /proc/self/fd/<n>. But how could pipe_read_open() and > pipe_write_open() be called? They are accessible only as ->open() of > read_pipefifo_fops/write_pipefifo_fops. And those are only used by > fifo_open(), which does reassign file->f_op to them, but does *not* call > their ->open()...
.. same deal? Open the resulting fd from /proc/self/fd/<n> afterwards, which will call file->f_op->open(), no?
Linus
| |