aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWang Ming2023-12-31 16:12:51 +0900
committerGreg Kroah-Hartman2024-01-05 15:18:31 +0100
commitd782f42eed93b267cd013935c4a5426aeb9adfca (patch)
treef3c6750b43b8c09743ff4740226a879412b6148e
parent48cc49384048f0037691aa7f589d93199dde81da (diff)
ksmbd: Fix unsigned expression compared with zero
[ Upstream commit 0266a2f791294e0b4ba36f4a1d89b8615ea3cac0 ] The return value of the ksmbd_vfs_getcasexattr() is signed. However, the return value is being assigned to an unsigned variable and subsequently recasted, causing warnings. Use a signed type. Signed-off-by: Wang Ming <machel@vivo.com> Acked-by: Tom Talpey <tom@talpey.com> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--fs/smb/server/vfs.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/smb/server/vfs.c b/fs/smb/server/vfs.c
index d05d2d1274b0..73ce3fb6e405 100644
--- a/fs/smb/server/vfs.c
+++ b/fs/smb/server/vfs.c
@@ -413,7 +413,8 @@ static int ksmbd_vfs_stream_write(struct ksmbd_file *fp, char *buf, loff_t *pos,
{
char *stream_buf = NULL, *wbuf;
struct user_namespace *user_ns = file_mnt_user_ns(fp->filp);
- size_t size, v_len;
+ size_t size;
+ ssize_t v_len;
int err = 0;
ksmbd_debug(VFS, "write stream data pos : %llu, count : %zd\n",
@@ -430,9 +431,9 @@ static int ksmbd_vfs_stream_write(struct ksmbd_file *fp, char *buf, loff_t *pos,
fp->stream.name,
fp->stream.size,
&stream_buf);
- if ((int)v_len < 0) {
+ if (v_len < 0) {
pr_err("not found stream in xattr : %zd\n", v_len);
- err = (int)v_len;
+ err = v_len;
goto out;
}