On Mon, Oct 24, 2022 at 7:31 AM Jinpu Wang <jinpu.wang@xxxxxxxxx> wrote: > > On Fri, Oct 21, 2022 at 4:21 AM kernel test robot <lkp@xxxxxxxxx> wrote: > > > > tree: git://git.kernel.org/pub/scm/linux/kernel/git/song/md.git md-next > > head: c748adfcbe0bd0c760c68d78434a1dfc0344b6b6 > > commit: c748adfcbe0bd0c760c68d78434a1dfc0344b6b6 [6/6] md/bitmap: Fix bitmap chunk size overflow issues > > config: i386-randconfig-a004 > > compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) > > reproduce (this is a W=1 build): > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > > chmod +x ~/bin/make.cross > > # https://git.kernel.org/pub/scm/linux/kernel/git/song/md.git/commit/?id=c748adfcbe0bd0c760c68d78434a1dfc0344b6b6 > > git remote add song-md git://git.kernel.org/pub/scm/linux/kernel/git/song/md.git > > git fetch --no-tags song-md md-next > > git checkout c748adfcbe0bd0c760c68d78434a1dfc0344b6b6 > > # save the config file > > mkdir build_dir && cp config build_dir/.config > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/md/ > > > > If you fix the issue, kindly add following tag where applicable > > | Reported-by: kernel test robot <lkp@xxxxxxxxx> > > > > All warnings (new ones prefixed by >>): > > > > >> drivers/md/md-bitmap.c:2541:12: warning: result of comparison of constant 4294967296 with expression of type 'unsigned long' is always false [-Wtautological-constant-out-of-range-compare] > > if (csize >= (1ULL << (BITS_PER_BYTE * > > ~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ > > 1 warning generated. > > > Thx for catch it. > This can be fixed by: > diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c > index 44f29cb1fde1..be9f3a768c9f 100644 > --- a/drivers/md/md-bitmap.c > +++ b/drivers/md/md-bitmap.c > @@ -2538,7 +2538,7 @@ chunksize_store(struct mddev *mddev, const char > *buf, size_t len) > if (csize < 512 || > !is_power_of_2(csize)) > return -EINVAL; > - if (csize >= (1ULL << (BITS_PER_BYTE * > + if (BITS_PER_LONG == 64 && csize >= (1ULL << (BITS_PER_BYTE * > > Song, do you want a seperate fix or will you fold it into the patch itself? Please fold this in the patch and resend. I will replace the commit and force push to md-next. Thanks, Song > > > > vim +2541 drivers/md/md-bitmap.c > > > > 2526 > > 2527 static ssize_t > > 2528 chunksize_store(struct mddev *mddev, const char *buf, size_t len) > > 2529 { > > 2530 /* Can only be changed when no bitmap is active */ > > 2531 int rv; > > 2532 unsigned long csize; > > 2533 if (mddev->bitmap) > > 2534 return -EBUSY; > > 2535 rv = kstrtoul(buf, 10, &csize); > > 2536 if (rv) > > 2537 return rv; > > 2538 if (csize < 512 || > > 2539 !is_power_of_2(csize)) > > 2540 return -EINVAL; > > > 2541 if (csize >= (1ULL << (BITS_PER_BYTE * > > 2542 sizeof(((bitmap_super_t *)0)->chunksize)))) > > 2543 return -EOVERFLOW; > > 2544 mddev->bitmap_info.chunksize = csize; > > 2545 return len; > > 2546 } > > 2547 > > > > -- > > 0-DAY CI Kernel Test Service > > https://01.org/lkp