On Tue, Apr 25, 2017 at 10:22:27AM +0530, Lokesh Vutla wrote: > In file ext4fs.c funtion ext4fs_read_file() compares an > unsigned expression with < 0 like below > > lbaint_t blknr; > blknr = read_allocated_block(&(node->inode), i); > if (blknr < 0) > return -1; > > blknr is of type ulong/uint64_t. read_allocated_block() returns > long int. So comparing blknr with < 0 will always be false. Instead > declare blknr as long int. > > Reported-by: Sunita Nadampalli <suni...@ti.com> > Signed-off-by: Lokesh Vutla <lokeshvu...@ti.com> > --- > fs/ext4/ext4fs.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c > index 7187dcfb05..081509dbb4 100644 > --- a/fs/ext4/ext4fs.c > +++ b/fs/ext4/ext4fs.c > @@ -71,7 +71,7 @@ int ext4fs_read_file(struct ext2fs_node *node, loff_t pos, > blockcnt = lldiv(((len + pos) + blocksize - 1), blocksize); > > for (i = lldiv(pos, blocksize); i < blockcnt; i++) { > - lbaint_t blknr; > + long int blknr; > int blockoff = pos - (blocksize * i); > int blockend = blocksize; > int skipfirst = 0;
My only question is, did you catch that by inspection, clang, or a newer than gcc-6.3 warning? Also, fs/ext4/dev.c:63 is a similar problem, if you'd like to non-RFC a v2. Thanks! -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot