[patch] nfs: fix permission mask

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <viro@...>
Cc: <linux-kernel@...>
Date: Monday, July 21, 2008 - 7:38 am

From: Miklos Szeredi <mszeredi@suse.cz>

Handle auxiliary mask bits in nfs_permission() properly.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
---
 fs/nfs/dir.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6/fs/nfs/dir.c
===================================================================
--- linux-2.6.orig/fs/nfs/dir.c	2008-07-21 09:46:07.000000000 +0200
+++ linux-2.6/fs/nfs/dir.c	2008-07-21 13:09:28.000000000 +0200
@@ -1884,7 +1884,7 @@ static int nfs_do_access(struct inode *i
 		return status;
 	nfs_access_add_cache(inode, &cache);
 out:
-	if ((cache.mask & mask) == mask)
+	if ((mask & ~cache.mask & (MAY_READ | MAY_WRITE | MAY_EXEC)) == 0)
 		return 0;
 	return -EACCES;
 }
@@ -1914,7 +1914,7 @@ int nfs_permission(struct inode *inode, 
 
 	nfs_inc_stats(inode, NFSIOS_VFSACCESS);
 
-	if (mask == 0)
+	if ((mask & (MAY_READ | MAY_WRITE | MAY_EXEC)) == 0)
 		goto out;
 	/* Is this sys_access() ? */
 	if (mask & MAY_ACCESS)
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[patch] nfs: fix permission mask, Miklos Szeredi, (Mon Jul 21, 7:38 am)
Re: [patch] nfs: fix permission mask, Al Viro, (Mon Jul 21, 9:26 am)