Hi, kernel test robot noticed the following build warnings: [auto build test WARNING on linus/master] [also build test WARNING on v6.7-rc3 next-20231130] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yuezhang-Mo-sony-com/exfat-do-not-zero-the-extended-part/20231130-164222 base: linus/master patch link: https://lore.kernel.org/r/PUZPR04MB6316F0640983B00CC55D903F8182A%40PUZPR04MB6316.apcprd04.prod.outlook.com patch subject: [PATCH v5 1/2] exfat: change to get file size from DataLength config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20231201/202312010044.6CIJOsWq-lkp@xxxxxxxxx/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231201/202312010044.6CIJOsWq-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202312010044.6CIJOsWq-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> fs/exfat/file.c:543:22: warning: format specifies type 'long' but the argument has type 'ssize_t' (aka 'int') [-Wformat] valid_size, pos, ret); ^~~ fs/exfat/exfat_fs.h:545:51: note: expanded from macro 'exfat_err' pr_err("exFAT-fs (%s): " fmt "\n", (sb)->s_id, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ include/linux/printk.h:498:33: note: expanded from macro 'pr_err' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ include/linux/printk.h:455:60: note: expanded from macro 'printk' #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) ~~~ ^~~~~~~~~~~ include/linux/printk.h:427:19: note: expanded from macro 'printk_index_wrap' _p_func(_fmt, ##__VA_ARGS__); \ ~~~~ ^~~~~~~~~~~ 1 warning generated. vim +543 fs/exfat/file.c 520 521 static ssize_t exfat_file_write_iter(struct kiocb *iocb, struct iov_iter *iter) 522 { 523 ssize_t ret; 524 struct file *file = iocb->ki_filp; 525 struct inode *inode = file_inode(file); 526 struct exfat_inode_info *ei = EXFAT_I(inode); 527 loff_t pos = iocb->ki_pos; 528 loff_t valid_size; 529 530 inode_lock(inode); 531 532 valid_size = ei->valid_size; 533 534 ret = generic_write_checks(iocb, iter); 535 if (ret < 0) 536 goto unlock; 537 538 if (pos > valid_size) { 539 ret = exfat_file_zeroed_range(file, valid_size, pos); 540 if (ret < 0 && ret != -ENOSPC) { 541 exfat_err(inode->i_sb, 542 "write: fail to zero from %llu to %llu(%ld)", > 543 valid_size, pos, ret); 544 } 545 if (ret < 0) 546 goto unlock; 547 } 548 549 ret = __generic_file_write_iter(iocb, iter); 550 if (ret < 0) 551 goto unlock; 552 553 inode_unlock(inode); 554 555 if (pos > valid_size) 556 pos = valid_size; 557 558 if (iocb_is_dsync(iocb) && iocb->ki_pos > pos) { 559 ssize_t err = vfs_fsync_range(file, pos, iocb->ki_pos - 1, 560 iocb->ki_flags & IOCB_SYNC); 561 if (err < 0) 562 return err; 563 } 564 565 return ret; 566 567 unlock: 568 inode_unlock(inode); 569 570 return ret; 571 } 572 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki