2022-01-27 12:47:32

by Yujie Liu

[permalink] [raw]
Subject: fs/ext4/super.c:5649:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0280e3c58f92b2fe0e8fbbdf8d386449168de4a8
commit: cebe85d570cf84804e848332d6721bc9e5300e07 ext4: switch to the new mount api
date: 7 weeks ago
config: x86_64-randconfig-c007 (https://download.01.org/0day-ci/archive/20220126/[email protected]/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f7b7138a62648f4019c55e4671682af1f851f295)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cebe85d570cf84804e848332d6721bc9e5300e07
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout cebe85d570cf84804e848332d6721bc9e5300e07
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


clang-analyzer warnings: (new ones prefixed by >>)

>> fs/ext4/super.c:5649:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = -ENOMEM;
^ ~~~~~~~

vim +/ret +5649 fs/ext4/super.c

ac27a0ec112a08 Dave Kleikamp 2006-10-11 5639
cebe85d570cf84 Lukas Czerner 2021-10-27 5640 static int ext4_fill_super(struct super_block *sb, struct fs_context *fc)
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5641 {
cebe85d570cf84 Lukas Czerner 2021-10-27 5642 struct ext4_fs_context *ctx = fc->fs_private;
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5643 struct ext4_sb_info *sbi;
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5644 const char *descr;
cebe85d570cf84 Lukas Czerner 2021-10-27 5645 int ret;
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5646
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5647 sbi = ext4_alloc_sbi(sb);
cebe85d570cf84 Lukas Czerner 2021-10-27 5648 if (!sbi)
7edfd85b1ffd36 Lukas Czerner 2021-10-27 @5649 ret = -ENOMEM;

can use "return -ENOMEM;" here

7edfd85b1ffd36 Lukas Czerner 2021-10-27 5650
cebe85d570cf84 Lukas Czerner 2021-10-27 5651 fc->s_fs_info = sbi;
cebe85d570cf84 Lukas Czerner 2021-10-27 5652
cebe85d570cf84 Lukas Czerner 2021-10-27 5653 /* Cleanup superblock name */
cebe85d570cf84 Lukas Czerner 2021-10-27 5654 strreplace(sb->s_id, '/', '!');
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5655
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5656 sbi->s_sb_block = 1; /* Default super block location */
cebe85d570cf84 Lukas Czerner 2021-10-27 5657 if (ctx->spec & EXT4_SPEC_s_sb_block)
cebe85d570cf84 Lukas Czerner 2021-10-27 5658 sbi->s_sb_block = ctx->s_sb_block;
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5659
cebe85d570cf84 Lukas Czerner 2021-10-27 5660 ret = __ext4_fill_super(fc, sb, fc->sb_flags & SB_SILENT);
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5661 if (ret < 0)
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5662 goto free_sbi;
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5663
cebe85d570cf84 Lukas Czerner 2021-10-27 5664 if (sbi->s_journal) {
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5665 if (test_opt(sb, DATA_FLAGS) == EXT4_MOUNT_JOURNAL_DATA)
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5666 descr = " journalled data mode";
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5667 else if (test_opt(sb, DATA_FLAGS) == EXT4_MOUNT_ORDERED_DATA)
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5668 descr = " ordered data mode";
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5669 else
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5670 descr = " writeback data mode";
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5671 } else
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5672 descr = "out journal";
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5673
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5674 if (___ratelimit(&ext4_mount_msg_ratelimit, "EXT4-fs mount"))
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5675 ext4_msg(sb, KERN_INFO, "mounted filesystem with%s. "
cebe85d570cf84 Lukas Czerner 2021-10-27 5676 "Quota mode: %s.", descr, ext4_quota_mode(sb));
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5677
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5678 return 0;
cebe85d570cf84 Lukas Czerner 2021-10-27 5679
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5680 free_sbi:
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5681 ext4_free_sbi(sbi);
cebe85d570cf84 Lukas Czerner 2021-10-27 5682 fc->s_fs_info = NULL;
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5683 return ret;
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5684 }
7edfd85b1ffd36 Lukas Czerner 2021-10-27 5685

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


2022-01-27 17:56:36

by Lukas Czerner

[permalink] [raw]
Subject: Re: fs/ext4/super.c:5649:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]

The following patch on the list is going to fix it

https://lore.kernel.org/linux-ext4/[email protected]/T/#u

Thanks!
-Lukas

On Thu, Jan 27, 2022 at 02:40:58PM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 0280e3c58f92b2fe0e8fbbdf8d386449168de4a8
> commit: cebe85d570cf84804e848332d6721bc9e5300e07 ext4: switch to the new mount api
> date: 7 weeks ago
> config: x86_64-randconfig-c007 (https://download.01.org/0day-ci/archive/20220126/[email protected]/config)
> compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f7b7138a62648f4019c55e4671682af1f851f295)
> reproduce (this is a W=1 build):
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cebe85d570cf84804e848332d6721bc9e5300e07
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout cebe85d570cf84804e848332d6721bc9e5300e07
> # save the config file to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <[email protected]>
>
>
> clang-analyzer warnings: (new ones prefixed by >>)
>
> >> fs/ext4/super.c:5649:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
> ret = -ENOMEM;
> ^ ~~~~~~~
>
> vim +/ret +5649 fs/ext4/super.c
>
> ac27a0ec112a08 Dave Kleikamp 2006-10-11 5639
> cebe85d570cf84 Lukas Czerner 2021-10-27 5640 static int ext4_fill_super(struct super_block *sb, struct fs_context *fc)
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5641 {
> cebe85d570cf84 Lukas Czerner 2021-10-27 5642 struct ext4_fs_context *ctx = fc->fs_private;
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5643 struct ext4_sb_info *sbi;
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5644 const char *descr;
> cebe85d570cf84 Lukas Czerner 2021-10-27 5645 int ret;
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5646
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5647 sbi = ext4_alloc_sbi(sb);
> cebe85d570cf84 Lukas Czerner 2021-10-27 5648 if (!sbi)
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 @5649 ret = -ENOMEM;
>
> can use "return -ENOMEM;" here
>
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5650
> cebe85d570cf84 Lukas Czerner 2021-10-27 5651 fc->s_fs_info = sbi;
> cebe85d570cf84 Lukas Czerner 2021-10-27 5652
> cebe85d570cf84 Lukas Czerner 2021-10-27 5653 /* Cleanup superblock name */
> cebe85d570cf84 Lukas Czerner 2021-10-27 5654 strreplace(sb->s_id, '/', '!');
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5655
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5656 sbi->s_sb_block = 1; /* Default super block location */
> cebe85d570cf84 Lukas Czerner 2021-10-27 5657 if (ctx->spec & EXT4_SPEC_s_sb_block)
> cebe85d570cf84 Lukas Czerner 2021-10-27 5658 sbi->s_sb_block = ctx->s_sb_block;
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5659
> cebe85d570cf84 Lukas Czerner 2021-10-27 5660 ret = __ext4_fill_super(fc, sb, fc->sb_flags & SB_SILENT);
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5661 if (ret < 0)
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5662 goto free_sbi;
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5663
> cebe85d570cf84 Lukas Czerner 2021-10-27 5664 if (sbi->s_journal) {
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5665 if (test_opt(sb, DATA_FLAGS) == EXT4_MOUNT_JOURNAL_DATA)
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5666 descr = " journalled data mode";
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5667 else if (test_opt(sb, DATA_FLAGS) == EXT4_MOUNT_ORDERED_DATA)
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5668 descr = " ordered data mode";
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5669 else
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5670 descr = " writeback data mode";
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5671 } else
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5672 descr = "out journal";
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5673
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5674 if (___ratelimit(&ext4_mount_msg_ratelimit, "EXT4-fs mount"))
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5675 ext4_msg(sb, KERN_INFO, "mounted filesystem with%s. "
> cebe85d570cf84 Lukas Czerner 2021-10-27 5676 "Quota mode: %s.", descr, ext4_quota_mode(sb));
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5677
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5678 return 0;
> cebe85d570cf84 Lukas Czerner 2021-10-27 5679
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5680 free_sbi:
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5681 ext4_free_sbi(sbi);
> cebe85d570cf84 Lukas Czerner 2021-10-27 5682 fc->s_fs_info = NULL;
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5683 return ret;
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5684 }
> 7edfd85b1ffd36 Lukas Czerner 2021-10-27 5685
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/[email protected]
>