exec: Move handling of the point of no return to the top level
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 4 Apr 2020 14:42:56 +0000 (09:42 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Mon, 11 May 2020 17:08:49 +0000 (12:08 -0500)
commit8890b29341f30f4a364b2eb6046bb1ac1478f955
tree69e5fa0629458b55ef3dd929310421729cc56322
parenta28bf136e651e17d7e2c753aa140ce3cc1df36a0
exec: Move handling of the point of no return to the top level

Move the handing of the point of no return from search_binary_handler
into __do_execve_file so that it is easier to find, and to keep
things robust in the face of change.

Make it clear that an existing fatal signal will take precedence over
a forced SIGSEGV by not forcing SIGSEGV if a fatal signal is already
pending.  This does not change the behavior but it saves a reader
of the code the tedium of reading and understanding force_sig
and the signal delivery code.

Update the comment in begin_new_exec about where SIGSEGV is forced.

Keep point_of_no_return from being a mystery by documenting
what the code is doing where it forces SIGSEGV if the
code is past the point of no return.

Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/87y2q25knl.fsf_-_@x220.int.ebiederm.org
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/exec.c