2022-06-02 19:51 GMT+09:00, Dan Carpenter <dan.carpenter@xxxxxxxxxx>: > The existing code works fine because ksmbd_vfs_getcasexattr() isn't > going to return values greater than INT_MAX. But it's ugly to do > the casting and using a ssize_t makes everything cleaner. > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > fs/ksmbd/vfs.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/fs/ksmbd/vfs.c b/fs/ksmbd/vfs.c > index dcdd07c6efff..efdc35717f6d 100644 > --- a/fs/ksmbd/vfs.c > +++ b/fs/ksmbd/vfs.c > @@ -411,7 +411,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; > + ssize_t v_len; > + size_t size; > int err = 0; > > ksmbd_debug(VFS, "write stream data pos : %llu, count : %zd\n", > @@ -428,9 +429,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; Data type of ssize_t is long. Wouldn't some static checker warn us that this is a problem? Thanks! > goto out; > } > > -- > 2.35.1 > >