exec: remove unnecessary check for MNT_NOEXEC
vfs_permission(MAY_EXEC) checks if the filesystem is mounted with "noexec", so there's no need to repeat this check in sys_uselib() and open_exec(). Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
22590e41cb
Коммит
1a159dd229
|
@ -112,9 +112,6 @@ asmlinkage long sys_uselib(const char __user * library)
|
|||
if (error)
|
||||
goto out;
|
||||
|
||||
error = -EACCES;
|
||||
if (nd.mnt->mnt_flags & MNT_NOEXEC)
|
||||
goto exit;
|
||||
error = -EINVAL;
|
||||
if (!S_ISREG(nd.dentry->d_inode->i_mode))
|
||||
goto exit;
|
||||
|
@ -658,8 +655,7 @@ struct file *open_exec(const char *name)
|
|||
if (!err) {
|
||||
struct inode *inode = nd.dentry->d_inode;
|
||||
file = ERR_PTR(-EACCES);
|
||||
if (!(nd.mnt->mnt_flags & MNT_NOEXEC) &&
|
||||
S_ISREG(inode->i_mode)) {
|
||||
if (S_ISREG(inode->i_mode)) {
|
||||
int err = vfs_permission(&nd, MAY_EXEC);
|
||||
file = ERR_PTR(err);
|
||||
if (!err) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче