[patch] CIFS: cleanup min_t() cast in cifs_read()

Steve French smfrench at gmail.com
Mon Oct 17 08:10:01 MDT 2011


I prefer the change to unsigned int rather than u32 so it is clearer
that you are not casting the value from 64 bit to 32 bit on some
architectures.  To avoid reformatting can't you can use "uint" if you
want the shorter form see:

include/linux/types.h:typedef unsigned int		uint;

On Mon, Oct 17, 2011 at 2:30 AM, Dan Carpenter <dan.carpenter at oracle.com> wrote:
> Smatch complains that the cast to "int" in min_t() changes very large
> values of current_read_size into negative values and so min_t()
> could return the wrong value.
>
> Also casting the "const" here doesn't make sense.
>
> I've changed it to u32 ("unsigned int" take puts us past the 80
> character limit).
>
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
>
> diff --git a/fs/cifs/file.c b/fs/cifs/file.c
> index 9f41a10..a61f581 100644
> --- a/fs/cifs/file.c
> +++ b/fs/cifs/file.c
> @@ -1861,13 +1861,13 @@ static ssize_t cifs_read(struct file *file, char *read_data, size_t read_size,
>        for (total_read = 0, current_offset = read_data;
>             read_size > total_read;
>             total_read += bytes_read, current_offset += bytes_read) {
> -               current_read_size = min_t(const int, read_size - total_read,
> +               current_read_size = min_t(u32, read_size - total_read,
>                                          cifs_sb->rsize);
>                /* For windows me and 9x we do not want to request more
>                than it negotiated since it will refuse the read then */
>                if ((pTcon->ses) &&
>                        !(pTcon->ses->capabilities & CAP_LARGE_FILES)) {
> -                       current_read_size = min_t(const int, current_read_size,
> +                       current_read_size = min_t(u32, current_read_size,
>                                        pTcon->ses->server->maxBuf - 128);
>                }
>                rc = -EAGAIN;
>



-- 
Thanks,

Steve


More information about the samba-technical mailing list