[xiang-erofs:dev-test 7/7] fs/erofs/internal.h:288:31: warning: shift count >= width of type

kernel test robot lkp at intel.com
Thu Jul 17 07:40:58 AEST 2025


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git dev-test
head:   33656c801bc94615e8b02f01f36eff752dc5086b
commit: 33656c801bc94615e8b02f01f36eff752dc5086b [7/7] erofs: implement metadata compression
config: hexagon-randconfig-001-20250717 (https://download.01.org/0day-ci/archive/20250717/202507170506.Wzz1lR5I-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250717/202507170506.Wzz1lR5I-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507170506.Wzz1lR5I-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

   In file included from fs/erofs/data.c:7:
>> fs/erofs/internal.h:288:31: warning: shift count >= width of type [-Wshift-count-overflow]
     288 |         return EROFS_I(inode)->nid & BIT(EROFS_DIRENT_NID_METABOX_BIT);
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
       7 | #define BIT(nr)                 (UL(1) << (nr))
         |                                        ^  ~~~~
   In file included from fs/erofs/data.c:7:
   fs/erofs/internal.h:294:45: warning: shift count >= width of type [-Wshift-count-overflow]
     294 |         erofs_nid_t nid_lo = EROFS_I(inode)->nid & EROFS_DIRENT_NID_MASK;
         |                                                    ^~~~~~~~~~~~~~~~~~~~~
   fs/erofs/erofs_fs.h:275:33: note: expanded from macro 'EROFS_DIRENT_NID_MASK'
     275 | #define EROFS_DIRENT_NID_MASK           (BIT(EROFS_DIRENT_NID_METABOX_BIT) - 1)
         |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
       7 | #define BIT(nr)                 (UL(1) << (nr))
         |                                        ^  ~~~~
   2 warnings generated.
--
   In file included from fs/erofs/super.c:14:
   In file included from fs/erofs/xattr.h:9:
>> fs/erofs/internal.h:288:31: warning: shift count >= width of type [-Wshift-count-overflow]
     288 |         return EROFS_I(inode)->nid & BIT(EROFS_DIRENT_NID_METABOX_BIT);
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
       7 | #define BIT(nr)                 (UL(1) << (nr))
         |                                        ^  ~~~~
   In file included from fs/erofs/super.c:14:
   In file included from fs/erofs/xattr.h:9:
   fs/erofs/internal.h:294:45: warning: shift count >= width of type [-Wshift-count-overflow]
     294 |         erofs_nid_t nid_lo = EROFS_I(inode)->nid & EROFS_DIRENT_NID_MASK;
         |                                                    ^~~~~~~~~~~~~~~~~~~~~
   fs/erofs/erofs_fs.h:275:33: note: expanded from macro 'EROFS_DIRENT_NID_MASK'
     275 | #define EROFS_DIRENT_NID_MASK           (BIT(EROFS_DIRENT_NID_METABOX_BIT) - 1)
         |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
       7 | #define BIT(nr)                 (UL(1) << (nr))
         |                                        ^  ~~~~
>> fs/erofs/super.c:327:26: warning: shift count >= width of type [-Wshift-count-overflow]
     327 |                 if (sbi->metabox_nid & BIT(EROFS_DIRENT_NID_METABOX_BIT))
         |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
       7 | #define BIT(nr)                 (UL(1) << (nr))
         |                                        ^  ~~~~
   3 warnings generated.
--
   In file included from fs/erofs/fscache.c:8:
>> fs/erofs/internal.h:288:31: warning: shift count >= width of type [-Wshift-count-overflow]
     288 |         return EROFS_I(inode)->nid & BIT(EROFS_DIRENT_NID_METABOX_BIT);
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
       7 | #define BIT(nr)                 (UL(1) << (nr))
         |                                        ^  ~~~~
   In file included from fs/erofs/fscache.c:8:
   fs/erofs/internal.h:294:45: warning: shift count >= width of type [-Wshift-count-overflow]
     294 |         erofs_nid_t nid_lo = EROFS_I(inode)->nid & EROFS_DIRENT_NID_MASK;
         |                                                    ^~~~~~~~~~~~~~~~~~~~~
   fs/erofs/erofs_fs.h:275:33: note: expanded from macro 'EROFS_DIRENT_NID_MASK'
     275 | #define EROFS_DIRENT_NID_MASK           (BIT(EROFS_DIRENT_NID_METABOX_BIT) - 1)
         |                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
       7 | #define BIT(nr)                 (UL(1) << (nr))
         |                                        ^  ~~~~
>> fs/erofs/fscache.c:277:46: error: too few arguments to function call, expected 4, have 3
     277 |                 src = erofs_read_metabuf(&buf, sb, map.m_pa);
         |                       ~~~~~~~~~~~~~~~~~~                   ^
   fs/erofs/internal.h:400:7: note: 'erofs_read_metabuf' declared here
     400 | void *erofs_read_metabuf(struct erofs_buf *buf, struct super_block *sb,
         |       ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     401 |                          erofs_off_t offset, bool in_metabox);
         |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   2 warnings and 1 error generated.


vim +288 fs/erofs/internal.h

   285	
   286	static inline bool erofs_inode_in_metabox(struct inode *inode)
   287	{
 > 288		return EROFS_I(inode)->nid & BIT(EROFS_DIRENT_NID_METABOX_BIT);
   289	}
   290	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


More information about the Linux-erofs mailing list