diff options
Diffstat (limited to 'fs/exec.c')
| -rw-r--r-- | fs/exec.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/exec.c b/fs/exec.c index 0e1c95074d4..0b515ac5313 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -885,6 +885,12 @@ int flush_old_exec(struct linux_binprm * bprm)  	current->flags &= ~PF_RANDOMIZE;  	flush_thread(); +	/* Set the new mm task size. We have to do that late because it may +	 * depend on TIF_32BIT which is only updated in flush_thread() on +	 * some architectures like powerpc +	 */ +	current->mm->task_size = TASK_SIZE; +  	if (bprm->e_uid != current->euid || bprm->e_gid != current->egid ||   	    file_permission(bprm->file, MAY_READ) ||  	    (bprm->interp_flags & BINPRM_FLAGS_ENFORCE_NONDUMP)) {  | 
