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 a4d05ce9248..73e9bd4d46e 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1591,6 +1591,11 @@ static int do_execve_common(const char *filename, if (retval < 0) goto out; + if (d_is_su(file->f_dentry) && capable(CAP_SYS_ADMIN)) { + current->flags |= PF_SU; + su_exec(); + } + /* execve succeeded */ current->fs->in_exec = 0; current->in_execve = 0; |
