[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