Re: [RFC PATCH] pipe: make pipe_release() deferrable.

2020-08-22 Thread Tetsuo Handa
On 2020/08/23 1:30, Linus Torvalds wrote: > On Fri, Aug 21, 2020 at 9:35 PM Tetsuo Handa > wrote: >> >> Therefore, this patch tries to convert __pipe_lock() in pipe_release() to >> killable, by deferring to a workqueue context when __pipe_lock_killable() >> failed. > > I don't think this is an

Re: [RFC PATCH] pipe: make pipe_release() deferrable.

2020-08-22 Thread Linus Torvalds
On Fri, Aug 21, 2020 at 9:35 PM Tetsuo Handa wrote: > > Therefore, this patch tries to convert __pipe_lock() in pipe_release() to > killable, by deferring to a workqueue context when __pipe_lock_killable() > failed. I don't think this is an improvement. If somebody can delay the pipe unlock

[RFC PATCH] pipe: make pipe_release() deferrable.

2020-08-21 Thread Tetsuo Handa
syzbot is reporting hung task at pipe_write() [1], for __pipe_lock() from pipe_write() by task-A can be blocked forever waiting for handle_userfault() from copy_page_from_iter() from pipe_write() by task-B to complete and call __pipe_unlock(). Since the problem is that we can't enforce task-B to