2023-05-31 03:01:02

by Lu Hongfei

[permalink] [raw]
Subject: [PATCH] smb: Change the return value of ksmbd_vfs_query_maximal_access to void

The return value of ksmbd_vfs_query_maximal_access is meaningless,
it is better to modify it to void.

Signed-off-by: Lu Hongfei <[email protected]>
---
fs/smb/server/smb2pdu.c | 4 +---
fs/smb/server/vfs.c | 6 +-----
fs/smb/server/vfs.h | 2 +-
3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c
index 717bcd20545b..a2cf5df245c9
--- a/fs/smb/server/smb2pdu.c
+++ b/fs/smb/server/smb2pdu.c
@@ -2831,11 +2831,9 @@ int smb2_open(struct ksmbd_work *work)
if (!file_present) {
daccess = cpu_to_le32(GENERIC_ALL_FLAGS);
} else {
- rc = ksmbd_vfs_query_maximal_access(idmap,
+ ksmbd_vfs_query_maximal_access(idmap,
path.dentry,
&daccess);
- if (rc)
- goto err_out;
already_permitted = true;
}
maximal_access = daccess;
diff --git a/fs/smb/server/vfs.c b/fs/smb/server/vfs.c
index 778c152708e4..3fcd849339e0
--- a/fs/smb/server/vfs.c
+++ b/fs/smb/server/vfs.c
@@ -117,11 +117,9 @@ static int ksmbd_vfs_path_lookup_locked(struct ksmbd_share_config *share_conf,
return -ENOENT;
}

-int ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap,
+void ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap,
struct dentry *dentry, __le32 *daccess)
{
- int ret = 0;
-
*daccess = cpu_to_le32(FILE_READ_ATTRIBUTES | READ_CONTROL);

if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_WRITE))
@@ -138,8 +136,6 @@ int ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap,

if (!inode_permission(idmap, d_inode(dentry->d_parent), MAY_EXEC | MAY_WRITE))
*daccess |= FILE_DELETE_LE;
-
- return ret;
}

/**
diff --git a/fs/smb/server/vfs.h b/fs/smb/server/vfs.h
index a4ae89f3230d..68fe8347e1d5
--- a/fs/smb/server/vfs.h
+++ b/fs/smb/server/vfs.h
@@ -72,7 +72,7 @@ struct ksmbd_kstat {
};

int ksmbd_vfs_lock_parent(struct dentry *parent, struct dentry *child);
-int ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap,
+void ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap,
struct dentry *dentry, __le32 *daccess);
int ksmbd_vfs_create(struct ksmbd_work *work, const char *name, umode_t mode);
int ksmbd_vfs_mkdir(struct ksmbd_work *work, const char *name, umode_t mode);
--
2.39.0



2023-05-31 06:09:49

by Namjae Jeon

[permalink] [raw]
Subject: Re: [PATCH] smb: Change the return value of ksmbd_vfs_query_maximal_access to void

2023-05-31 11:10 GMT+09:00, Lu Hongfei <[email protected]>:
> The return value of ksmbd_vfs_query_maximal_access is meaningless,
> it is better to modify it to void.
>
> Signed-off-by: Lu Hongfei <[email protected]>
Acked-by: Namjae Jeon <[email protected]>

Thanks for your patch!