summaryrefslogtreecommitdiffstats
path: root/drivers/staging/smbfs
diff options
context:
space:
mode:
authorNick Piggin2011-01-07 07:49:58 +0100
committerNick Piggin2011-01-07 07:50:29 +0100
commitb74c79e99389cd79b31fcc08f82c24e492e63c7e (patch)
tree763c6b412517306670bc625e90035f2d16bb739f /drivers/staging/smbfs
parentfs: rcu-walk aware d_revalidate method (diff)
downloadkernel-qcow2-linux-b74c79e99389cd79b31fcc08f82c24e492e63c7e.tar.gz
kernel-qcow2-linux-b74c79e99389cd79b31fcc08f82c24e492e63c7e.tar.xz
kernel-qcow2-linux-b74c79e99389cd79b31fcc08f82c24e492e63c7e.zip
fs: provide rcu-walk aware permission i_ops
Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Diffstat (limited to 'drivers/staging/smbfs')
-rw-r--r--drivers/staging/smbfs/file.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/staging/smbfs/file.c b/drivers/staging/smbfs/file.c
index 5dcd19c60eb9..31372e7b12de 100644
--- a/drivers/staging/smbfs/file.c
+++ b/drivers/staging/smbfs/file.c
@@ -407,11 +407,14 @@ smb_file_release(struct inode *inode, struct file * file)
* privileges, so we need our own check for this.
*/
static int
-smb_file_permission(struct inode *inode, int mask)
+smb_file_permission(struct inode *inode, int mask, unsigned int flags)
{
int mode = inode->i_mode;
int error = 0;
+ if (flags & IPERM_FLAG_RCU)
+ return -ECHILD;
+
VERBOSE("mode=%x, mask=%x\n", mode, mask);
/* Look at user permissions */