diff options
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r-- | fs/cifs/cifsfs.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 223717dcc401..8e21e0fe65d5 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -283,10 +283,13 @@ cifs_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
283 | return 0; | 283 | return 0; |
284 | } | 284 | } |
285 | 285 | ||
286 | static int cifs_permission(struct inode *inode, int mask) | 286 | static int cifs_permission(struct inode *inode, int mask, unsigned int flags) |
287 | { | 287 | { |
288 | struct cifs_sb_info *cifs_sb; | 288 | struct cifs_sb_info *cifs_sb; |
289 | 289 | ||
290 | if (flags & IPERM_FLAG_RCU) | ||
291 | return -ECHILD; | ||
292 | |||
290 | cifs_sb = CIFS_SB(inode->i_sb); | 293 | cifs_sb = CIFS_SB(inode->i_sb); |
291 | 294 | ||
292 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM) { | 295 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM) { |
@@ -298,7 +301,7 @@ static int cifs_permission(struct inode *inode, int mask) | |||
298 | on the client (above and beyond ACL on servers) for | 301 | on the client (above and beyond ACL on servers) for |
299 | servers which do not support setting and viewing mode bits, | 302 | servers which do not support setting and viewing mode bits, |
300 | so allowing client to check permissions is useful */ | 303 | so allowing client to check permissions is useful */ |
301 | return generic_permission(inode, mask, NULL); | 304 | return generic_permission(inode, mask, flags, NULL); |
302 | } | 305 | } |
303 | 306 | ||
304 | static struct kmem_cache *cifs_inode_cachep; | 307 | static struct kmem_cache *cifs_inode_cachep; |