| From e76635b1603ade64438651bad290fa2b4c634b68 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 4 Jul 2023 15:40:47 +0800 |
| Subject: ksmbd: Fix unsigned expression compared with zero |
| |
| From: Wang Ming <machel@vivo.com> |
| |
| [ 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> |
| --- |
| fs/smb/server/vfs.c | 7 ++++--- |
| 1 file changed, 4 insertions(+), 3 deletions(-) |
| |
| diff --git a/fs/smb/server/vfs.c b/fs/smb/server/vfs.c |
| index 911cb3d294b86..93f73c35a9c5c 100644 |
| --- a/fs/smb/server/vfs.c |
| +++ b/fs/smb/server/vfs.c |
| @@ -423,7 +423,8 @@ static int ksmbd_vfs_stream_write(struct ksmbd_file *fp, char *buf, loff_t *pos, |
| { |
| char *stream_buf = NULL, *wbuf; |
| struct mnt_idmap *idmap = file_mnt_idmap(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", |
| @@ -440,9 +441,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; |
| } |
| |
| -- |
| 2.40.1 |
| |