tree: https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git dev-test head: 67dadd6ef509ed922ec667ef6b0ef0cdbb2fe04c commit: e152f298a65c86ab89200d2d32132ab359c66a3c [8/9] f2fs: Support Block Size == Page Size config: arm-randconfig-r032-20230913 (https://download.01.org/0day-ci/archive/20230913/202309131837.f3evkv15-...@intel.com/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230913/202309131837.f3evkv15-...@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 <l...@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202309131837.f3evkv15-...@intel.com/ All warnings (new ones prefixed by >>): >> fs/f2fs/inode.c:320:7: warning: format specifies type 'size_t' (aka >> 'unsigned int') but the argument has type 'unsigned long' [-Wformat] 320 | f2fs_warn(sbi, "%s: inode (ino=%lx) has corrupted i_inline_xattr_size: %d, max: %zu", | ~~~ | %lu 321 | __func__, inode->i_ino, fi->i_inline_xattr_size, 322 | MAX_INLINE_XATTR_SIZE); | ^~~~~~~~~~~~~~~~~~~~~ fs/f2fs/f2fs.h:2321:39: note: expanded from macro 'f2fs_warn' 2321 | f2fs_printk(sbi, KERN_WARNING fmt, ##__VA_ARGS__) | ~~~ ^~~~~~~~~~~ fs/f2fs/xattr.h:88:4: note: expanded from macro 'MAX_INLINE_XATTR_SIZE' 88 | (DEF_ADDRS_PER_INODE - \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 89 | F2FS_TOTAL_EXTRA_ATTR_SIZE / sizeof(__le32) - \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 90 | DEF_INLINE_RESERVED_SIZE - \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 91 | MIN_INLINE_DENTRY_SIZE / sizeof(__le32)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. vim +320 fs/f2fs/inode.c 698a5c8c8e0559 Yangtao Li 2023-04-08 278 e34438c903b653 Chao Yu 2018-06-29 279 static bool sanity_check_inode(struct inode *inode, struct page *node_page) 5d64600d4f337d Jaegeuk Kim 2018-04-24 280 { 5d64600d4f337d Jaegeuk Kim 2018-04-24 281 struct f2fs_sb_info *sbi = F2FS_I_SB(inode); 18dd6470c2d14d Chao Yu 2018-07-08 282 struct f2fs_inode_info *fi = F2FS_I(inode); 4c8ff7095bef64 Chao Yu 2019-11-01 283 struct f2fs_inode *ri = F2FS_INODE(node_page); e34438c903b653 Chao Yu 2018-06-29 284 unsigned long long iblocks; e34438c903b653 Chao Yu 2018-06-29 285 e34438c903b653 Chao Yu 2018-06-29 286 iblocks = le64_to_cpu(F2FS_INODE(node_page)->i_blocks); e34438c903b653 Chao Yu 2018-06-29 287 if (!iblocks) { dcbb4c10e6d969 Joe Perches 2019-06-18 288 f2fs_warn(sbi, "%s: corrupted inode i_blocks i_ino=%lx iblocks=%llu, run fsck to fix.", e34438c903b653 Chao Yu 2018-06-29 289 __func__, inode->i_ino, iblocks); e34438c903b653 Chao Yu 2018-06-29 290 return false; e34438c903b653 Chao Yu 2018-06-29 291 } e34438c903b653 Chao Yu 2018-06-29 292 e34438c903b653 Chao Yu 2018-06-29 293 if (ino_of_node(node_page) != nid_of_node(node_page)) { dcbb4c10e6d969 Joe Perches 2019-06-18 294 f2fs_warn(sbi, "%s: corrupted inode footer i_ino=%lx, ino,nid: [%u, %u] run fsck to fix.", e34438c903b653 Chao Yu 2018-06-29 295 __func__, inode->i_ino, e34438c903b653 Chao Yu 2018-06-29 296 ino_of_node(node_page), nid_of_node(node_page)); e34438c903b653 Chao Yu 2018-06-29 297 return false; e34438c903b653 Chao Yu 2018-06-29 298 } 5d64600d4f337d Jaegeuk Kim 2018-04-24 299 f240d3aaf5a155 Chao Yu 2023-05-31 300 if (f2fs_has_extra_attr(inode)) { f240d3aaf5a155 Chao Yu 2023-05-31 301 if (!f2fs_sb_has_extra_attr(sbi)) { dcbb4c10e6d969 Joe Perches 2019-06-18 302 f2fs_warn(sbi, "%s: inode (ino=%lx) is with extra_attr, but extra_attr feature is off", 76d56d4ab4f2a9 Chao Yu 2018-06-25 303 __func__, inode->i_ino); 76d56d4ab4f2a9 Chao Yu 2018-06-25 304 return false; 76d56d4ab4f2a9 Chao Yu 2018-06-25 305 } 18dd6470c2d14d Chao Yu 2018-07-08 306 if (fi->i_extra_isize > F2FS_TOTAL_EXTRA_ATTR_SIZE || f240d3aaf5a155 Chao Yu 2023-05-31 307 fi->i_extra_isize < F2FS_MIN_EXTRA_ATTR_SIZE || 18dd6470c2d14d Chao Yu 2018-07-08 308 fi->i_extra_isize % sizeof(__le32)) { dcbb4c10e6d969 Joe Perches 2019-06-18 309 f2fs_warn(sbi, "%s: inode (ino=%lx) has corrupted i_extra_isize: %d, max: %zu", 18dd6470c2d14d Chao Yu 2018-07-08 310 __func__, inode->i_ino, fi->i_extra_isize, 18dd6470c2d14d Chao Yu 2018-07-08 311 F2FS_TOTAL_EXTRA_ATTR_SIZE); 18dd6470c2d14d Chao Yu 2018-07-08 312 return false; 18dd6470c2d14d Chao Yu 2018-07-08 313 } f240d3aaf5a155 Chao Yu 2023-05-31 314 if (f2fs_sb_has_flexible_inline_xattr(sbi) && dd6c89b5f2b93c Chao Yu 2019-03-04 315 f2fs_has_inline_xattr(inode) && dd6c89b5f2b93c Chao Yu 2019-03-04 316 (!fi->i_inline_xattr_size || dd6c89b5f2b93c Chao Yu 2019-03-04 317 fi->i_inline_xattr_size > MAX_INLINE_XATTR_SIZE)) { dcbb4c10e6d969 Joe Perches 2019-06-18 318 f2fs_warn(sbi, "%s: inode (ino=%lx) has corrupted i_inline_xattr_size: %d, max: %zu", dd6c89b5f2b93c Chao Yu 2019-03-04 319 __func__, inode->i_ino, fi->i_inline_xattr_size, dd6c89b5f2b93c Chao Yu 2019-03-04 @320 MAX_INLINE_XATTR_SIZE); dd6c89b5f2b93c Chao Yu 2019-03-04 321 return false; dd6c89b5f2b93c Chao Yu 2019-03-04 322 } f240d3aaf5a155 Chao Yu 2023-05-31 323 if (f2fs_sb_has_compression(sbi) && f240d3aaf5a155 Chao Yu 2023-05-31 324 fi->i_flags & F2FS_COMPR_FL && f240d3aaf5a155 Chao Yu 2023-05-31 325 F2FS_FITS_IN_INODE(ri, fi->i_extra_isize, f240d3aaf5a155 Chao Yu 2023-05-31 326 i_compress_flag)) { f240d3aaf5a155 Chao Yu 2023-05-31 327 if (!sanity_check_compress_inode(inode, ri)) f240d3aaf5a155 Chao Yu 2023-05-31 328 return false; f240d3aaf5a155 Chao Yu 2023-05-31 329 } f240d3aaf5a155 Chao Yu 2023-05-31 330 } else if (f2fs_sb_has_flexible_inline_xattr(sbi)) { f240d3aaf5a155 Chao Yu 2023-05-31 331 f2fs_warn(sbi, "%s: corrupted inode ino=%lx, run fsck to fix.", f240d3aaf5a155 Chao Yu 2023-05-31 332 __func__, inode->i_ino); f240d3aaf5a155 Chao Yu 2023-05-31 333 return false; f240d3aaf5a155 Chao Yu 2023-05-31 334 } f240d3aaf5a155 Chao Yu 2023-05-31 335 f240d3aaf5a155 Chao Yu 2023-05-31 336 if (!f2fs_sb_has_extra_attr(sbi)) { f240d3aaf5a155 Chao Yu 2023-05-31 337 if (f2fs_sb_has_project_quota(sbi)) { f240d3aaf5a155 Chao Yu 2023-05-31 338 f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.", f240d3aaf5a155 Chao Yu 2023-05-31 339 __func__, inode->i_ino, F2FS_FEATURE_PRJQUOTA); f240d3aaf5a155 Chao Yu 2023-05-31 340 return false; f240d3aaf5a155 Chao Yu 2023-05-31 341 } f240d3aaf5a155 Chao Yu 2023-05-31 342 if (f2fs_sb_has_inode_chksum(sbi)) { f240d3aaf5a155 Chao Yu 2023-05-31 343 f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.", f240d3aaf5a155 Chao Yu 2023-05-31 344 __func__, inode->i_ino, F2FS_FEATURE_INODE_CHKSUM); f240d3aaf5a155 Chao Yu 2023-05-31 345 return false; f240d3aaf5a155 Chao Yu 2023-05-31 346 } f240d3aaf5a155 Chao Yu 2023-05-31 347 if (f2fs_sb_has_flexible_inline_xattr(sbi)) { f240d3aaf5a155 Chao Yu 2023-05-31 348 f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.", f240d3aaf5a155 Chao Yu 2023-05-31 349 __func__, inode->i_ino, F2FS_FEATURE_FLEXIBLE_INLINE_XATTR); f240d3aaf5a155 Chao Yu 2023-05-31 350 return false; f240d3aaf5a155 Chao Yu 2023-05-31 351 } f240d3aaf5a155 Chao Yu 2023-05-31 352 if (f2fs_sb_has_inode_crtime(sbi)) { f240d3aaf5a155 Chao Yu 2023-05-31 353 f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.", f240d3aaf5a155 Chao Yu 2023-05-31 354 __func__, inode->i_ino, F2FS_FEATURE_INODE_CRTIME); f240d3aaf5a155 Chao Yu 2023-05-31 355 return false; f240d3aaf5a155 Chao Yu 2023-05-31 356 } f240d3aaf5a155 Chao Yu 2023-05-31 357 if (f2fs_sb_has_compression(sbi)) { f240d3aaf5a155 Chao Yu 2023-05-31 358 f2fs_warn(sbi, "%s: corrupted inode ino=%lx, wrong feature flag: %u, run fsck to fix.", f240d3aaf5a155 Chao Yu 2023-05-31 359 __func__, inode->i_ino, F2FS_FEATURE_COMPRESSION); f240d3aaf5a155 Chao Yu 2023-05-31 360 return false; f240d3aaf5a155 Chao Yu 2023-05-31 361 } f240d3aaf5a155 Chao Yu 2023-05-31 362 } dd6c89b5f2b93c Chao Yu 2019-03-04 363 677a82b44ebf26 Chao Yu 2022-05-18 364 if (f2fs_sanity_check_inline_data(inode)) { dcbb4c10e6d969 Joe Perches 2019-06-18 365 f2fs_warn(sbi, "%s: inode (ino=%lx, mode=%u) should not have inline_data, run fsck to fix", bcbfbd604dcba4 Chao Yu 2018-06-29 366 __func__, inode->i_ino, inode->i_mode); bcbfbd604dcba4 Chao Yu 2018-06-29 367 return false; bcbfbd604dcba4 Chao Yu 2018-06-29 368 } bcbfbd604dcba4 Chao Yu 2018-06-29 369 bcbfbd604dcba4 Chao Yu 2018-06-29 370 if (f2fs_has_inline_dentry(inode) && !S_ISDIR(inode->i_mode)) { dcbb4c10e6d969 Joe Perches 2019-06-18 371 f2fs_warn(sbi, "%s: inode (ino=%lx, mode=%u) should not have inline_dentry, run fsck to fix", bcbfbd604dcba4 Chao Yu 2018-06-29 372 __func__, inode->i_ino, inode->i_mode); bcbfbd604dcba4 Chao Yu 2018-06-29 373 return false; bcbfbd604dcba4 Chao Yu 2018-06-29 374 } bcbfbd604dcba4 Chao Yu 2018-06-29 375 f6322f3f1212e0 Eric Biggers 2020-10-08 376 if ((fi->i_flags & F2FS_CASEFOLD_FL) && !f2fs_sb_has_casefold(sbi)) { f6322f3f1212e0 Eric Biggers 2020-10-08 377 f2fs_warn(sbi, "%s: inode (ino=%lx) has casefold flag, but casefold feature is off", f6322f3f1212e0 Eric Biggers 2020-10-08 378 __func__, inode->i_ino); f6322f3f1212e0 Eric Biggers 2020-10-08 379 return false; f6322f3f1212e0 Eric Biggers 2020-10-08 380 } f6322f3f1212e0 Eric Biggers 2020-10-08 381 5d64600d4f337d Jaegeuk Kim 2018-04-24 382 return true; 5d64600d4f337d Jaegeuk Kim 2018-04-24 383 } 5d64600d4f337d Jaegeuk Kim 2018-04-24 384 :::::: The code at line 320 was first introduced by commit :::::: dd6c89b5f2b93ceced4111e7b69d4efd8c312713 f2fs: fix to do sanity check with inode.i_inline_xattr_size :::::: TO: Chao Yu <yuch...@huawei.com> :::::: CC: Jaegeuk Kim <jaeg...@kernel.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel