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@xxxxxxxxxx> 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@xxxxxxxxxx> > > 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 -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html