diff options
Diffstat (limited to 'fs/namei.c')
-rw-r--r-- | fs/namei.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/namei.c b/fs/namei.c index 8c3580610eec..929f535fb225 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -445,13 +445,7 @@ static int exec_permission_lite(struct inode *inode) | |||
445 | if (mode & MAY_EXEC) | 445 | if (mode & MAY_EXEC) |
446 | goto ok; | 446 | goto ok; |
447 | 447 | ||
448 | if ((inode->i_mode & S_IXUGO) && capable(CAP_DAC_OVERRIDE)) | 448 | if (capable(CAP_DAC_OVERRIDE) || capable(CAP_DAC_READ_SEARCH)) |
449 | goto ok; | ||
450 | |||
451 | if (S_ISDIR(inode->i_mode) && capable(CAP_DAC_OVERRIDE)) | ||
452 | goto ok; | ||
453 | |||
454 | if (S_ISDIR(inode->i_mode) && capable(CAP_DAC_READ_SEARCH)) | ||
455 | goto ok; | 449 | goto ok; |
456 | 450 | ||
457 | return -EACCES; | 451 | return -EACCES; |