Re: [PATCH] ksmbd: clean up a type in ksmbd_vfs_stream_write()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
>
>



[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux