Commit c7eb2667 authored by Dave Hansen's avatar Dave Hansen Committed by Linus Torvalds

r/o bind mounts: give permission() a local 'mnt' variable

First of all, this makes the structure jumping look a little bit cleaner.  So,
this stands alone as a tiny cleanup.  But, we also need 'mnt' by itself a few
more times later in this series, so this isn't _just_ a cleanup.
Signed-off-by: default avatarDave Hansen <haveblue@us.ibm.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b41572e9
...@@ -228,6 +228,10 @@ int generic_permission(struct inode *inode, int mask, ...@@ -228,6 +228,10 @@ int generic_permission(struct inode *inode, int mask,
int permission(struct inode *inode, int mask, struct nameidata *nd) int permission(struct inode *inode, int mask, struct nameidata *nd)
{ {
int retval, submask; int retval, submask;
struct vfsmount *mnt = NULL;
if (nd)
mnt = nd->mnt;
if (mask & MAY_WRITE) { if (mask & MAY_WRITE) {
umode_t mode = inode->i_mode; umode_t mode = inode->i_mode;
...@@ -251,7 +255,7 @@ int permission(struct inode *inode, int mask, struct nameidata *nd) ...@@ -251,7 +255,7 @@ int permission(struct inode *inode, int mask, struct nameidata *nd)
* MAY_EXEC on regular files is denied if the fs is mounted * MAY_EXEC on regular files is denied if the fs is mounted
* with the "noexec" flag. * with the "noexec" flag.
*/ */
if (nd && nd->mnt && (nd->mnt->mnt_flags & MNT_NOEXEC)) if (mnt && (mnt->mnt_flags & MNT_NOEXEC))
return -EACCES; return -EACCES;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment