mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 04:06:22 +00:00
[PATCH] honour MNT_NOEXEC for access()
Make access(X_OK) take the "noexec" mount option into account. Signed-off-by: Stas Sergeev <stsp@aknet.ru> Cc: Jakub Jelinek <jakub@redhat.com> Cc: Arjan van de Ven <arjan@infradead.org> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Hugh Dickins <hugh@veritas.com> Cc: Ulrich Drepper <drepper@redhat.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
ed07536ed6
commit
317a40ac22
1 changed files with 4 additions and 2 deletions
|
@ -249,9 +249,11 @@ int permission(struct inode *inode, int mask, struct nameidata *nd)
|
|||
|
||||
/*
|
||||
* MAY_EXEC on regular files requires special handling: We override
|
||||
* filesystem execute permissions if the mode bits aren't set.
|
||||
* filesystem execute permissions if the mode bits aren't set or
|
||||
* the fs is mounted with the "noexec" flag.
|
||||
*/
|
||||
if ((mask & MAY_EXEC) && S_ISREG(mode) && !(mode & S_IXUGO))
|
||||
if ((mask & MAY_EXEC) && S_ISREG(mode) && (!(mode & S_IXUGO) ||
|
||||
(nd && nd->mnt && (nd->mnt->mnt_flags & MNT_NOEXEC))))
|
||||
return -EACCES;
|
||||
|
||||
/* Ordinary permission routines do not understand MAY_APPEND. */
|
||||
|
|
Loading…
Reference in a new issue