On Wed, Dec 02, 2015 at 04:49:19PM +0530, Vivek Trivedi wrote: > Fix unintentional integer overflow in mkfs. > Reported by coverity. > > Signed-off-by: Vivek Trivedi <t.vivek@xxxxxxxxxxx> > --- > mkfs/xfs_mkfs.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mkfs/xfs_mkfs.c b/mkfs/xfs_mkfs.c > index 7cba41a..e540c48 100644 > --- a/mkfs/xfs_mkfs.c > +++ b/mkfs/xfs_mkfs.c > @@ -2033,7 +2033,7 @@ _("warning: sparse inodes not supported without CRC support, disabled.\n")); > /* check that rswidth is a multiple of fs blocksize */ > if (!norsflag && rswidth && !(BBTOB(rswidth) % blocksize)) { > rswidth = DTOBT(rswidth); > - rtextbytes = rswidth << blocklog; > + rtextbytes = (__uint64_t)rswidth << blocklog; > if (XFS_MIN_RTEXTSIZE <= rtextbytes && > (rtextbytes <= XFS_MAX_RTEXTSIZE)) { > rtextblocks = rswidth; I dislike unexplained casts in code like this. Nobody knows exactly why it is there. A better fix is to change the definition of rswidth to a 64 bit type so casts are not ever necessary... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs