Re: fs: uninterruptible hang in handle_userfault

From: Al Viro
Date: Tue Mar 01 2016 - 19:48:55 EST


On Tue, Mar 01, 2016 at 12:06:49PM -0800, Linus Torvalds wrote:

> So the only access we really care about is the child tid-pointer
> clearing one, and that always happens after PF_EXITING has been set
> afaik.
>
> No other case really matters. If somebody accesses a userfault region
> just as another thread is exiting, we don't care. I don't think it
> would necessarily be wrong to ignore the fault, but I don't think it's
> relevant either, since at that stage the normal "you can signal the
> thread" still works. It's only the child tid access that comes *after*
> we have stopped acceping signals, and that's marked by that
> PF_EXITING.
>
> Or maybe I misunderstood your worry entirely or missed something, and
> my answer above is entirely beside your point. Did you have something
> else in mind?

No, I've misread de_thread()/zap_other_threads(). No objections to the
patch.