Re: Forwarded: [PATCH] ntfs3: add debug warnings for run_lock initialization

Dan Carpenter
2025-10-16T17:59:05Z

Hi syzbot,

kernel test robot noticed the following build warnings:

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/syzbot/Forwarded-PATCH-ntfs3-add-debug-warnings-for-run_lock-initialization/20251014-195051
base: v6.18-rc1
patch link: https://lore.kernel.org/r/68ee38b5.050a0220.ac43.00fd.GAE%40google.com
patch subject: Forwarded: [PATCH] ntfs3: add debug warnings for run_lock initialization
config: i386-randconfig-141-20251015 (https://download.01.org/0day-ci/archive/20251017/202510170051.yMGKcZjz-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)

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@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202510170051.yMGKcZjz-lkp@intel.com/

smatch warnings:
fs/ntfs3/inode.c:590 ntfs_iget5() warn: variable dereferenced before IS_ERR check 'inode' (see line 590)

vim +/inode +590 fs/ntfs3/inode.c

82cae269cfa9530 Konstantin Komarov 2021-08-13 562 struct inode *ntfs_iget5(struct super_block *sb, const struct MFT_REF *ref,
82cae269cfa9530 Konstantin Komarov 2021-08-13 563 const struct cpu_str *name)
82cae269cfa9530 Konstantin Komarov 2021-08-13 564 {
82cae269cfa9530 Konstantin Komarov 2021-08-13 565 struct inode *inode;
9ca11d2cd5f563e syzbot 2025-10-14 566 unsigned long ino = ino_get(ref);
82cae269cfa9530 Konstantin Komarov 2021-08-13 567
9ca11d2cd5f563e syzbot 2025-10-14 568 if (ino == 25) {
9ca11d2cd5f563e syzbot 2025-10-14 569 printk(KERN_ERR "DEEPANSHU: ntfs_iget5 START for inode 25\n");
9ca11d2cd5f563e syzbot 2025-10-14 570 //dump_stack();
9ca11d2cd5f563e syzbot 2025-10-14 571 }
9ca11d2cd5f563e syzbot 2025-10-14 572
9ca11d2cd5f563e syzbot 2025-10-14 573 inode = iget5_locked(sb, ino, ntfs_test_inode, ntfs_set_inode,
82cae269cfa9530 Konstantin Komarov 2021-08-13 574 (void *)ref);
9ca11d2cd5f563e syzbot 2025-10-14 575
82cae269cfa9530 Konstantin Komarov 2021-08-13 576 if (unlikely(!inode))
82cae269cfa9530 Konstantin Komarov 2021-08-13 577 return ERR_PTR(-ENOMEM);
82cae269cfa9530 Konstantin Komarov 2021-08-13 578
9ca11d2cd5f563e syzbot 2025-10-14 579 if (inode->i_ino == 25) {
9ca11d2cd5f563e syzbot 2025-10-14 580 printk(KERN_ERR "DEEPANSHU: After iget5_locked for inode 25, I_NEW=%d, i_state=0x%x\n",
9ca11d2cd5f563e syzbot 2025-10-14 581 !!(inode->i_state & I_NEW), inode->i_state);
9ca11d2cd5f563e syzbot 2025-10-14 582 //dump_stack();
9ca11d2cd5f563e syzbot 2025-10-14 583 }
9ca11d2cd5f563e syzbot 2025-10-14 584
82cae269cfa9530 Konstantin Komarov 2021-08-13 585 /* If this is a freshly allocated inode, need to read it now. */
9ca11d2cd5f563e syzbot 2025-10-14 586 if (inode->i_state & I_NEW) {
9ca11d2cd5f563e syzbot 2025-10-14 587 if (inode->i_ino == 25)
9ca11d2cd5f563e syzbot 2025-10-14 588 printk(KERN_ERR "DEEPANSHU: Calling ntfs_read_mft for inode 25\n");
82cae269cfa9530 Konstantin Komarov 2021-08-13 589 inode = ntfs_read_mft(inode, name, ref);
9ca11d2cd5f563e syzbot 2025-10-14 @590 if (inode->i_ino == 25 && IS_ERR(inode))
^^^^^^^^^^^^ ^^^^^
"inode" dereferenced before an IS_ERR() check...

9ca11d2cd5f563e syzbot 2025-10-14 591 printk(KERN_ERR "DEEPANSHU: ntfs_read_mft FAILED for inode 25\n");
9ca11d2cd5f563e syzbot 2025-10-14 592 } else if (ref->seq != ntfs_i(inode)->mi.mrec->seq) {
9ca11d2cd5f563e syzbot 2025-10-14 593 if (inode->i_ino == 25)
9ca11d2cd5f563e syzbot 2025-10-14 594 printk(KERN_ERR "DEEPANSHU: inode 25 seq mismatch\n");
1fd21919de6de24 Konstantin Komarov 2024-08-22 595 iput(inode);
1fd21919de6de24 Konstantin Komarov 2024-08-22 596 inode = ERR_PTR(-ESTALE);
9ca11d2cd5f563e syzbot 2025-10-14 597 } else if (inode->i_ino == 25) {
9ca11d2cd5f563e syzbot 2025-10-14 598 printk(KERN_ERR "DEEPANSHU: inode 25 found in CACHE, skipping ntfs_read_mft!\n");
9ca11d2cd5f563e syzbot 2025-10-14 599 //dump_stack();
82cae269cfa9530 Konstantin Komarov 2021-08-13 600 }
82cae269cfa9530 Konstantin Komarov 2021-08-13 601
1fd21919de6de24 Konstantin Komarov 2024-08-22 602 if (IS_ERR(inode))
0e8235d28f3a0e9 Konstantin Komarov 2022-10-10 603 ntfs_set_state(sb->s_fs_info, NTFS_DIRTY_ERROR);
0e8235d28f3a0e9 Konstantin Komarov 2022-10-10 604
82cae269cfa9530 Konstantin Komarov 2021-08-13 605 return inode;
82cae269cfa9530 Konstantin Komarov 2021-08-13 606 }

--
0-DAY CI Kernel Test Service