CC: [email protected] CC: [email protected] CC: [email protected] TO: Lukas Czerner <[email protected]> CC: "Theodore Ts'o" <[email protected]> CC: Carlos Maiolino <[email protected]>
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 :::::: branch date: 14 hours ago :::::: commit 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 >>) ^ net/core/filter.c:1760:15: note: Assuming field 'skb' is non-null if (unlikely(!ctx->skb)) ^ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ net/core/filter.c:1760:2: note: Taking false branch if (unlikely(!ctx->skb)) ^ net/core/filter.c:1764:15: note: Assuming 'ptr' is null if (unlikely(!ptr)) ^ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ net/core/filter.c:1764:2: note: Taking true branch if (unlikely(!ptr)) ^ net/core/filter.c:1765:3: note: Control jumps to line 1771 goto err_clear; ^ net/core/filter.c:1771:2: note: Null pointer passed as 1st argument to memory set function memset(to, 0, len); ^ ~~ Suppressed 11 warnings (11 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 10 warnings generated. Suppressed 10 warnings (10 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 15 warnings generated. net/mac80211/ibss.c:934:6: warning: Value stored to 'reason' during its initialization is never read [clang-analyzer-deadcode.DeadStores] u16 reason = le16_to_cpu(mgmt->u.deauth.reason_code); ^~~~~~ net/mac80211/ibss.c:934:6: note: Value stored to 'reason' during its initialization is never read u16 reason = le16_to_cpu(mgmt->u.deauth.reason_code); ^~~~~~ Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 9 warnings generated. Suppressed 9 warnings (9 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. Suppressed 4 warnings (4 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 4 warnings generated. Suppressed 4 warnings (4 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 5 warnings generated. Suppressed 5 warnings (5 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 9 warnings generated. Suppressed 9 warnings (9 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 10 warnings generated. Suppressed 10 warnings (10 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 9 warnings generated. Suppressed 9 warnings (9 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 9 warnings generated. Suppressed 9 warnings (9 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 11 warnings generated. Suppressed 11 warnings (11 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 9 warnings generated. Suppressed 9 warnings (9 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 9 warnings generated. Suppressed 9 warnings (9 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 12 warnings generated. >> fs/ext4/super.c:5649:3: warning: Value stored to 'ret' is never read >> [clang-analyzer-deadcode.DeadStores] ret = -ENOMEM; ^ ~~~~~~~ fs/ext4/super.c:5649:3: note: Value stored to 'ret' is never read ret = -ENOMEM; ^ ~~~~~~~ Suppressed 11 warnings (7 in non-user code, 4 with check filters). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 6 warnings generated. Suppressed 6 warnings (6 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 9 warnings generated. Suppressed 9 warnings (9 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 11 warnings generated. Suppressed 11 warnings (11 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 11 warnings generated. Suppressed 11 warnings (11 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 11 warnings generated. Suppressed 11 warnings (11 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 13 warnings generated. Suppressed 13 warnings (13 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 11 warnings generated. Suppressed 11 warnings (11 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 11 warnings generated. Suppressed 11 warnings (11 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 12 warnings generated. net/wireless/wext-compat.c:30:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy] strcpy(name, "IEEE 802.11"); ^~~~~~ net/wireless/wext-compat.c:30:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 strcpy(name, "IEEE 802.11"); ^~~~~~ Suppressed 11 warnings (11 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 11 warnings generated. Suppressed 11 warnings (11 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 14 warnings generated. Suppressed 14 warnings (14 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 116 warnings generated. Suppressed 116 warnings (116 in non-user code). Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. 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; 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 :::::: The code at line 5649 was first introduced by commit :::::: 7edfd85b1ffd36593011dec96ab395912a340418 ext4: Completely separate options parsing and sb setup :::::: TO: Lukas Czerner <[email protected]> :::::: CC: Theodore Ts'o <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
