Commit 1507b7a3 authored by Eric W. Biederman's avatar Eric W. Biederman
Browse files

exec: Rename the flag called_exec_mmap point_of_no_return



Update the comments and make the code easier to understand by
renaming this flag.

Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Reviewed-by: default avatarGreg Ungerer <gerg@linux-m68k.org>
Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
parent 89826cce
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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);
+3 −3
Original line number Diff line number Diff line
@@ -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