exec: Rename the flag called_exec_mmap point_of_no_return
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 2 Apr 2020 23:17:50 +0000 (18:17 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Thu, 7 May 2020 21:55:47 +0000 (16:55 -0500)
Update the comments and make the code easier to understand by
renaming this flag.

Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Greg Ungerer <gerg@linux-m68k.org>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
fs/exec.c
include/linux/binfmts.h

index 6bd82a0..71de9f5 100644 (file)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -1326,12 +1326,12 @@ int flush_old_exec(struct linux_binprm * bprm)
                goto out;
 
        /*
-        * After setting bprm->called_exec_mmap (to mark that current is
-        * using the prepared mm now), we have nothing left of the original
-        * process. If anything from here on returns an error, the check
-        * in search_binary_handler() will SEGV current.
+        * With the new mm installed it is completely impossible to
+        * fail and return to the original process.  If anything from
+        * here on returns an error, the check in
+        * search_binary_handler() will SEGV current.
         */
-       bprm->called_exec_mmap = 1;
+       bprm->point_of_no_return = true;
        bprm->mm = NULL;
 
 #ifdef CONFIG_POSIX_TIMERS
@@ -1720,7 +1720,7 @@ int search_binary_handler(struct linux_binprm *bprm)
 
                read_lock(&binfmt_lock);
                put_binfmt(fmt);
-               if (retval < 0 && bprm->called_exec_mmap) {
+               if (retval < 0 && bprm->point_of_no_return) {
                        /* we got to flush_old_exec() and failed after it */
                        read_unlock(&binfmt_lock);
                        force_sigsegv(SIGSEGV);
index 6f564b9..8f479da 100644 (file)
@@ -46,10 +46,10 @@ struct linux_binprm {
                 */
                secureexec:1,
                /*
-                * Set by flush_old_exec, when exec_mmap has been called.
-                * This is past the point of no return.
+                * Set when errors can no longer be returned to the
+                * original userspace.
                 */
-               called_exec_mmap:1;
+               point_of_no_return:1;
 #ifdef __alpha__
        unsigned int taso:1;
 #endif