Kees Cook <keescook@xxxxxxxxxxxx> writes: > On Sun, Mar 08, 2020 at 04:38:00PM -0500, Eric W. Biederman wrote: >> Futher this consolidates all of the possible indefinite waits for >> userspace together at the top of flush_old_exec. The possible wait >> for a ptracer on PTRACE_EVENT_EXIT, the possible wait for a page fault >> to be resolved in clear_child_tid, and the possible wait for a page >> fault in exit_robust_list. > > I forgot to mention, just as a point of clarity, there are lots of > other page faults possible, but they're _before_ flush_old_exec() > (i.e. all the copy_strings() calls). Is it worth clarifying this to > "before or at the top of flush_old_exec()" or do you mean something > else? (And as always: perhaps expand flush_old_exec()'s comment to > describe the newly intended state.) Yes. Before or at the start of flush_old_exec where the mutex is taken. That is the point. I will see if I can come up with and appropriate comment. Eric