On 23 Mar 2023, at 7:12, kernel test robot wrote: > Hi Zi, > > FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant. > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master > head: fff5a5e7f528b2ed2c335991399a766c2cf01103 > commit: 0192445cb2f7ed1cd7a95a0fc8c7645480baba25 arch: mm: rename FORCE_MAX_ZONEORDER to ARCH_FORCE_MAX_ORDER > date: 6 months ago > config: sparc-randconfig-r005-20230322 (https://download.01.org/0day-ci/archive/20230323/202303231958.9lByNCPW-lkp@xxxxxxxxx/config) It is the same issue as: https://lore.kernel.org/linux-mm/91E887E4-0867-421F-9C75-FB9CFF15C33A@xxxxxxxxxx/ > compiler: sparc-linux-gcc (GCC) 12.1.0 > 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/torvalds/linux.git/commit/?id=0192445cb2f7ed1cd7a95a0fc8c7645480baba25 > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > git fetch --no-tags linus master > git checkout 0192445cb2f7ed1cd7a95a0fc8c7645480baba25 > # save the config file > mkdir build_dir && cp config build_dir/.config > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc olddefconfig > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash drivers/base/regmap/ drivers/virtio/ > > If you fix the issue, kindly add following tag where applicable > | Reported-by: kernel test robot <lkp@xxxxxxxxx> > | Link: https://lore.kernel.org/oe-kbuild-all/202303231958.9lByNCPW-lkp@xxxxxxxxx/ > > All warnings (new ones prefixed by >>): > > In file included from include/linux/gfp.h:7, > from include/linux/mm.h:7, > from include/linux/scatterlist.h:8, > from include/linux/virtio.h:7, > from drivers/virtio/virtio_balloon.c:9: > include/linux/mmzone.h:636:33: error: size of array 'free_area' is negative > 636 | struct free_area free_area[MAX_ORDER]; > | ^~~~~~~~~ > In file included from include/linux/math64.h:6, > from include/linux/time64.h:5, > from include/linux/restart_block.h:10, > from include/linux/thread_info.h:14, > from include/asm-generic/preempt.h:5, > from ./arch/sparc/include/generated/asm/preempt.h:1, > from include/linux/preempt.h:78, > from include/linux/spinlock.h:55, > from include/linux/mmzone.h:8: > drivers/virtio/virtio_balloon.c: In function 'shrink_free_pages': >>> drivers/virtio/virtio_balloon.c:40:44: warning: left shift count is negative [-Wshift-count-negative] > 40 | #define VIRTIO_BALLOON_HINT_BLOCK_PAGES (1 << VIRTIO_BALLOON_HINT_BLOCK_ORDER) > | ^~ > include/linux/math.h:15:46: note: in definition of macro '__round_mask' > 15 | #define __round_mask(x, y) ((__typeof__(x))((y)-1)) > | ^ > drivers/virtio/virtio_balloon.c:808:25: note: in expansion of macro 'round_up' > 808 | pages_to_free = round_up(pages_to_free, > | ^~~~~~~~ > drivers/virtio/virtio_balloon.c:809:34: note: in expansion of macro 'VIRTIO_BALLOON_HINT_BLOCK_PAGES' > 809 | VIRTIO_BALLOON_HINT_BLOCK_PAGES); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> drivers/virtio/virtio_balloon.c:40:44: warning: left shift count is negative [-Wshift-count-negative] > 40 | #define VIRTIO_BALLOON_HINT_BLOCK_PAGES (1 << VIRTIO_BALLOON_HINT_BLOCK_ORDER) > | ^~ > drivers/virtio/virtio_balloon.c:810:42: note: in expansion of macro 'VIRTIO_BALLOON_HINT_BLOCK_PAGES' > 810 | blocks_to_free = pages_to_free / VIRTIO_BALLOON_HINT_BLOCK_PAGES; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> drivers/virtio/virtio_balloon.c:40:44: warning: left shift count is negative [-Wshift-count-negative] > 40 | #define VIRTIO_BALLOON_HINT_BLOCK_PAGES (1 << VIRTIO_BALLOON_HINT_BLOCK_ORDER) > | ^~ > drivers/virtio/virtio_balloon.c:813:31: note: in expansion of macro 'VIRTIO_BALLOON_HINT_BLOCK_PAGES' > 813 | return blocks_freed * VIRTIO_BALLOON_HINT_BLOCK_PAGES; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/virtio/virtio_balloon.c: In function 'virtio_balloon_shrinker_count': >>> drivers/virtio/virtio_balloon.c:40:44: warning: left shift count is negative [-Wshift-count-negative] > 40 | #define VIRTIO_BALLOON_HINT_BLOCK_PAGES (1 << VIRTIO_BALLOON_HINT_BLOCK_ORDER) > | ^~ > drivers/virtio/virtio_balloon.c:831:43: note: in expansion of macro 'VIRTIO_BALLOON_HINT_BLOCK_PAGES' > 831 | return vb->num_free_page_blocks * VIRTIO_BALLOON_HINT_BLOCK_PAGES; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > -- > In file included from include/linux/gfp.h:7, > from include/linux/slab.h:15, > from drivers/base/regmap/regmap-debugfs.c:9: > include/linux/mmzone.h:636:33: error: size of array 'free_area' is negative > 636 | struct free_area free_area[MAX_ORDER]; > | ^~~~~~~~~ > drivers/base/regmap/regmap-debugfs.c: In function 'regmap_read_debugfs': >>> drivers/base/regmap/regmap-debugfs.c:229:32: warning: left shift count is negative [-Wshift-count-negative] > 229 | if (count > (PAGE_SIZE << (MAX_ORDER - 1))) > | ^~ > drivers/base/regmap/regmap-debugfs.c:230:35: warning: left shift count is negative [-Wshift-count-negative] > 230 | count = PAGE_SIZE << (MAX_ORDER - 1); > | ^~ > drivers/base/regmap/regmap-debugfs.c: In function 'regmap_reg_ranges_read_file': > drivers/base/regmap/regmap-debugfs.c:376:32: warning: left shift count is negative [-Wshift-count-negative] > 376 | if (count > (PAGE_SIZE << (MAX_ORDER - 1))) > | ^~ > drivers/base/regmap/regmap-debugfs.c:377:35: warning: left shift count is negative [-Wshift-count-negative] > 377 | count = PAGE_SIZE << (MAX_ORDER - 1); > | ^~ > > > vim +40 drivers/virtio/virtio_balloon.c > > 5a10b7dbf904bf Raushaniya Maksudova 2014-11-10 32 > 86a559787e6f5c Wei Wang 2018-08-27 33 #define VIRTIO_BALLOON_FREE_PAGE_ALLOC_FLAG (__GFP_NORETRY | __GFP_NOWARN | \ > 86a559787e6f5c Wei Wang 2018-08-27 34 __GFP_NOMEMALLOC) > 86a559787e6f5c Wei Wang 2018-08-27 35 /* The order of free page blocks to report to host */ > 2a946fa1c8bc26 Michael S. Tsirkin 2019-11-19 36 #define VIRTIO_BALLOON_HINT_BLOCK_ORDER (MAX_ORDER - 1) > 86a559787e6f5c Wei Wang 2018-08-27 37 /* The size of a free page block in bytes */ > 2a946fa1c8bc26 Michael S. Tsirkin 2019-11-19 38 #define VIRTIO_BALLOON_HINT_BLOCK_BYTES \ > 2a946fa1c8bc26 Michael S. Tsirkin 2019-11-19 39 (1 << (VIRTIO_BALLOON_HINT_BLOCK_ORDER + PAGE_SHIFT)) > 63b9b80e9f5b2c Michael S. Tsirkin 2019-11-19 @40 #define VIRTIO_BALLOON_HINT_BLOCK_PAGES (1 << VIRTIO_BALLOON_HINT_BLOCK_ORDER) > 86a559787e6f5c Wei Wang 2018-08-27 41 > > :::::: The code at line 40 was first introduced by commit > :::::: 63b9b80e9f5b2c463d98d6e550e0d0e3ace66033 virtio_balloon: divide/multiply instead of shifts > > :::::: TO: Michael S. Tsirkin <mst@xxxxxxxxxx> > :::::: CC: Michael S. Tsirkin <mst@xxxxxxxxxx> > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests -- Best Regards, Yan, Zi
Attachment:
signature.asc
Description: OpenPGP digital signature