mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 16:53:54 +08:00
fuse: no RCU mode in fuse_access()
fuse_access() is never called in RCU walk, only on the final component of access(2) and chdir(2)... Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
This commit is contained in:
parent
6314efee3c
commit
698fa1d163
@ -1068,6 +1068,8 @@ static int fuse_access(struct inode *inode, int mask)
|
|||||||
struct fuse_access_in inarg;
|
struct fuse_access_in inarg;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
BUG_ON(mask & MAY_NOT_BLOCK);
|
||||||
|
|
||||||
if (fc->no_access)
|
if (fc->no_access)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -1155,9 +1157,6 @@ static int fuse_permission(struct inode *inode, int mask)
|
|||||||
noticed immediately, only after the attribute
|
noticed immediately, only after the attribute
|
||||||
timeout has expired */
|
timeout has expired */
|
||||||
} else if (mask & (MAY_ACCESS | MAY_CHDIR)) {
|
} else if (mask & (MAY_ACCESS | MAY_CHDIR)) {
|
||||||
if (mask & MAY_NOT_BLOCK)
|
|
||||||
return -ECHILD;
|
|
||||||
|
|
||||||
err = fuse_access(inode, mask);
|
err = fuse_access(inode, mask);
|
||||||
} else if ((mask & MAY_EXEC) && S_ISREG(inode->i_mode)) {
|
} else if ((mask & MAY_EXEC) && S_ISREG(inode->i_mode)) {
|
||||||
if (!(inode->i_mode & S_IXUGO)) {
|
if (!(inode->i_mode & S_IXUGO)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user