All of lore.kernel.org
 help / color / mirror / Atom feed
* include/trace/events/ext4.h:1820:1: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
@ 2022-07-05  4:09 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-07-05  4:09 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 13500 bytes --]

:::::: 
:::::: Manual check reason: "commit no functional change"
:::::: Manual check reason: "low confidence static check first_new_problem: include/trace/events/ext4.h:1820:1: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]"
:::::: 

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Wang Jianchao <wangjianchao@kuaishou.com>
CC: "Theodore Ts'o" <tytso@mit.edu>
CC: Andreas Dilger <adilger@dilger.ca>
CC: Jan Kara <jack@suse.cz>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   c1084b6c5620a743f86947caca66d90f24060f56
commit: 6920b3913235f517728bb69abe9b39047a987113 ext4: add new helper interface ext4_try_to_trim_range()
date:   11 months ago
:::::: branch date: 10 hours ago
:::::: commit date: 11 months ago
config: s390-randconfig-c005-20220702 (https://download.01.org/0day-ci/archive/20220705/202207051222.G2bplCnH-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 5d787689b14574fe58ba9798563f4a6df6059fbf)
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
        # install s390 cross compiling tool for clang build
        # apt-get install binutils-s390x-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6920b3913235f517728bb69abe9b39047a987113
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 6920b3913235f517728bb69abe9b39047a987113
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390 clang-analyzer 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
           ^
   fs/ext4/mballoc.c:6375:7: note: Assuming the condition is true
                   if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
                       ^
   include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                             ^~~~
   fs/ext4/mballoc.c:6375:3: note: Taking false branch
                   if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
                   ^
   fs/ext4/mballoc.c:6387:7: note: Assuming 'group' is not equal to 'last_group'
                   if (group == last_group)
                       ^~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6387:3: note: Taking false branch
                   if (group == last_group)
                   ^
   fs/ext4/mballoc.c:6390:7: note: Assuming 'minlen' is > field 'bb_free'
                   if (grp->bb_free >= minlen) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6390:3: note: Taking false branch
                   if (grp->bb_free >= minlen) {
                   ^
   fs/ext4/mballoc.c:6372:28: note: Assuming 'group' is <= 'last_group'
           for (group = first_group; group <= last_group; group++) {
                                     ^~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6372:2: note: Loop condition is true.  Entering loop body
           for (group = first_group; group <= last_group; group++) {
           ^
   fs/ext4/mballoc.c:6375:7: note: Assuming the condition is true
                   if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
                       ^
   include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                             ^~~~
   fs/ext4/mballoc.c:6375:3: note: Taking false branch
                   if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
                   ^
   fs/ext4/mballoc.c:6387:7: note: Assuming 'group' is not equal to 'last_group'
                   if (group == last_group)
                       ^~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6387:3: note: Taking false branch
                   if (group == last_group)
                   ^
   fs/ext4/mballoc.c:6390:7: note: Assuming 'minlen' is <= field 'bb_free'
                   if (grp->bb_free >= minlen) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6390:3: note: Taking true branch
                   if (grp->bb_free >= minlen) {
                   ^
   fs/ext4/mballoc.c:6391:10: note: Calling 'ext4_trim_all_free'
                           cnt = ext4_trim_all_free(sb, group, first_cluster,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6298:6: note: Assuming 'ret' is 0
           if (ret) {
               ^~~
   fs/ext4/mballoc.c:6298:2: note: Taking false branch
           if (ret) {
           ^
   fs/ext4/mballoc.c:6306:6: note: Assuming the condition is true
           if (!EXT4_MB_GRP_WAS_TRIMMED(e4b.bd_info) ||
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6306:44: note: Left side of '||' is true
           if (!EXT4_MB_GRP_WAS_TRIMMED(e4b.bd_info) ||
                                                     ^
   fs/ext4/mballoc.c:6308:9: note: Calling 'ext4_try_to_trim_range'
                   ret = ext4_try_to_trim_range(sb, &e4b, start, max, minblocks);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6230:11: note: Assuming 'start' is >= field 'bb_first_free'
           start = (e4b->bd_info->bb_first_free > start) ?
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6230:10: note: '?' condition is false
           start = (e4b->bd_info->bb_first_free > start) ?
                   ^
   fs/ext4/mballoc.c:6235:9: note: Assuming 'start' is <= 'max'
           while (start <= max) {
                  ^~~~~~~~~~~~
   fs/ext4/mballoc.c:6235:2: note: Loop condition is true.  Entering loop body
           while (start <= max) {
           ^
   fs/ext4/mballoc.c:6237:7: note: Assuming 'start' is <= 'max'
                   if (start > max)
                       ^~~~~~~~~~~
   fs/ext4/mballoc.c:6237:3: note: Taking false branch
                   if (start > max)
                   ^
   fs/ext4/mballoc.c:6241:7: note: Assuming the condition is false
                   if ((next - start) >= minblocks) {
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6241:3: note: Taking false branch
                   if ((next - start) >= minblocks) {
                   ^
   fs/ext4/mballoc.c:6251:28: note: Dereference of null pointer
                   if (fatal_signal_pending(current)) {
                                            ^
   arch/s390/include/asm/current.h:17:45: note: expanded from macro 'current'
   #define current ((struct task_struct *const)S390_lowcore.current_task)
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/s390/include/asm/lowcore.h:200:22: note: expanded from macro 'S390_lowcore'
   #define S390_lowcore (*((struct lowcore *) 0))
                        ^
>> include/trace/events/ext4.h:1820:1: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
   DEFINE_EVENT(ext4__trim, ext4_trim_extent,
   ^
   include/linux/tracepoint.h:542:2: note: expanded from macro 'DEFINE_EVENT'
           DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
           ^
   include/linux/tracepoint.h:420:15: note: expanded from macro 'DECLARE_TRACE'
                           cpu_online(raw_smp_processor_id()),             \
                                      ^
   arch/s390/include/asm/smp.h:15:32: note: expanded from macro 'raw_smp_processor_id'
   #define raw_smp_processor_id()  (S390_lowcore.cpu_nr)
                                   ^
   fs/ext4/mballoc.c:6352:6: note: Assuming 'minlen' is <= field 's_clusters_per_group'
           if (minlen > EXT4_CLUSTERS_PER_GROUP(sb) ||
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6352:6: note: Left side of '||' is false
   fs/ext4/mballoc.c:6353:6: note: Assuming 'start' is < 'max_blks'
               start >= max_blks ||
               ^~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6352:6: note: Left side of '||' is false
           if (minlen > EXT4_CLUSTERS_PER_GROUP(sb) ||
               ^
   fs/ext4/mballoc.c:6354:6: note: Assuming field 'len' is >= field 's_blocksize'
               range->len < sb->s_blocksize)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6352:2: note: Taking false branch
           if (minlen > EXT4_CLUSTERS_PER_GROUP(sb) ||
           ^
   fs/ext4/mballoc.c:6356:6: note: Assuming 'end' is < 'max_blks'
           if (end >= max_blks)
               ^~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6356:2: note: Taking false branch
           if (end >= max_blks)
           ^
   fs/ext4/mballoc.c:6358:6: note: Assuming 'end' is > 'first_data_blk'
           if (end <= first_data_blk)
               ^~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6358:2: note: Taking false branch
           if (end <= first_data_blk)
           ^
   fs/ext4/mballoc.c:6360:6: note: Assuming 'start' is >= 'first_data_blk'
           if (start < first_data_blk)
               ^~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6360:2: note: Taking false branch
           if (start < first_data_blk)
           ^
   fs/ext4/mballoc.c:6372:28: note: Assuming 'group' is <= 'last_group'
           for (group = first_group; group <= last_group; group++) {
                                     ^~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6372:2: note: Loop condition is true.  Entering loop body
           for (group = first_group; group <= last_group; group++) {
           ^
   fs/ext4/mballoc.c:6375:7: note: Assuming the condition is true
                   if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
                       ^
   include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                             ^~~~
   fs/ext4/mballoc.c:6375:3: note: Taking false branch
                   if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
                   ^
   fs/ext4/mballoc.c:6387:7: note: Assuming 'group' is not equal to 'last_group'
                   if (group == last_group)
                       ^~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6387:3: note: Taking false branch
                   if (group == last_group)
                   ^
   fs/ext4/mballoc.c:6390:7: note: Assuming 'minlen' is > field 'bb_free'
                   if (grp->bb_free >= minlen) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6390:3: note: Taking false branch
                   if (grp->bb_free >= minlen) {
                   ^
   fs/ext4/mballoc.c:6372:28: note: Assuming 'group' is <= 'last_group'
           for (group = first_group; group <= last_group; group++) {
                                     ^~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6372:2: note: Loop condition is true.  Entering loop body
           for (group = first_group; group <= last_group; group++) {
           ^
   fs/ext4/mballoc.c:6375:7: note: Assuming the condition is true
                   if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
                       ^
   include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                             ^~~~
   fs/ext4/mballoc.c:6375:3: note: Taking false branch
                   if (unlikely(EXT4_MB_GRP_NEED_INIT(grp))) {
                   ^
   fs/ext4/mballoc.c:6387:7: note: Assuming 'group' is not equal to 'last_group'
                   if (group == last_group)
                       ^~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6387:3: note: Taking false branch
                   if (group == last_group)
                   ^
   fs/ext4/mballoc.c:6390:7: note: Assuming 'minlen' is > field 'bb_free'
                   if (grp->bb_free >= minlen) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   fs/ext4/mballoc.c:6390:3: note: Taking false branch
                   if (grp->bb_free >= minlen) {
                   ^
   fs/ext4/mballoc.c:6372:28: note: Assuming 'group' is <= 'last_group'

vim +1820 include/trace/events/ext4.h

b3d4c2b10b68d2 Tao Ma 2011-07-11  1819  
b3d4c2b10b68d2 Tao Ma 2011-07-11 @1820  DEFINE_EVENT(ext4__trim, ext4_trim_extent,
b3d4c2b10b68d2 Tao Ma 2011-07-11  1821  
b3d4c2b10b68d2 Tao Ma 2011-07-11  1822  	TP_PROTO(struct super_block *sb,
b3d4c2b10b68d2 Tao Ma 2011-07-11  1823  		 ext4_group_t group,
b3d4c2b10b68d2 Tao Ma 2011-07-11  1824  		 ext4_grpblk_t start,
b3d4c2b10b68d2 Tao Ma 2011-07-11  1825  		 ext4_grpblk_t len),
b3d4c2b10b68d2 Tao Ma 2011-07-11  1826  
b3d4c2b10b68d2 Tao Ma 2011-07-11  1827  	TP_ARGS(sb, group, start, len)
b3d4c2b10b68d2 Tao Ma 2011-07-11  1828  );
b3d4c2b10b68d2 Tao Ma 2011-07-11  1829  

:::::: The code@line 1820 was first introduced by commit
:::::: b3d4c2b10b68d205d3eb1b5c17dcb4649a502798 ext4: Add new ext4 trim tracepoints

:::::: TO: Tao Ma <boyu.mt@taobao.com>
:::::: CC: Theodore Ts'o <tytso@mit.edu>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-07-05  4:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-05  4:09 include/trace/events/ext4.h:1820:1: warning: Dereference of null pointer [clang-analyzer-core.NullDereference] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.