diff options
| -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; |
