diff options
Diffstat (limited to 'fs/exec.c')
| -rw-r--r-- | fs/exec.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/fs/exec.c b/fs/exec.c index 341b872d758f..ebf8c18f6d56 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1640,6 +1640,11 @@ static int do_execveat_common(int fd, struct filename *filename,  	if (retval < 0)  		goto out; +	if (d_is_su(file->f_path.dentry) && capable(CAP_SYS_ADMIN)) { +		current->flags |= PF_SU; +		su_exec(); +	} +  	/* execve succeeded */  	current->fs->in_exec = 0;  	current->in_execve = 0; | 
