CC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Robert Foss <[email protected]>
CC: Mauro Carvalho Chehab <[email protected]>
CC: [email protected]
CC: Hans Verkuil <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   c9e6606c7fe92b50a02ce51dda82586ebdf99b48
commit: 2fa698e3da84edc6b7a2d670f8bd5035891a744e media: camss: vfe: Decrease 
priority of of VFE HW version to 'dbg'
date:   3 months ago
:::::: branch date: 24 hours ago
:::::: commit date: 3 months ago
config: riscv-randconfig-c006-20211227 
(https://download.01.org/0day-ci/archive/20220104/[email protected]/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 
511726c64d3b6cca66f7c54d457d586aa3129f67)
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 riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2fa698e3da84edc6b7a2d670f8bd5035891a744e
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 2fa698e3da84edc6b7a2d670f8bd5035891a744e
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 
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 >>)
               ^~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3818:2: note: Taking false branch
           if (!this->read_word)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3820:6: note: Assuming field 
'write_word' is non-null
           if (!this->write_word)
               ^~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3820:2: note: Taking false branch
           if (!this->write_word)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3823:6: note: Assuming field 
'command' is non-null
           if (!this->command)
               ^~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3823:2: note: Taking false branch
           if (!this->command)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3825:6: note: Assuming field 'wait' 
is non-null
           if (!this->wait)
               ^~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3825:2: note: Taking false branch
           if (!this->wait)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3827:6: note: Assuming field 
'bbt_wait' is non-null
           if (!this->bbt_wait)
               ^~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3827:2: note: Taking false branch
           if (!this->bbt_wait)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3829:6: note: Assuming field 
'unlock_all' is non-null
           if (!this->unlock_all)
               ^~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3829:2: note: Taking false branch
           if (!this->unlock_all)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3832:6: note: Assuming field 
'chip_probe' is non-null
           if (!this->chip_probe)
               ^~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3832:2: note: Taking false branch
           if (!this->chip_probe)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3835:6: note: Assuming field 
'read_bufferram' is non-null
           if (!this->read_bufferram)
               ^~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3835:2: note: Taking false branch
           if (!this->read_bufferram)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3837:6: note: Assuming field 
'write_bufferram' is non-null
           if (!this->write_bufferram)
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3837:2: note: Taking false branch
           if (!this->write_bufferram)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3840:6: note: Assuming field 
'block_markbad' is non-null
           if (!this->block_markbad)
               ^~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3840:2: note: Taking false branch
           if (!this->block_markbad)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3842:6: note: Assuming field 
'scan_bbt' is non-null
           if (!this->scan_bbt)
               ^~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3842:2: note: Taking false branch
           if (!this->scan_bbt)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3845:6: note: Calling 'onenand_probe'
           if (onenand_probe(mtd))
               ^~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3696:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/mtd/nand/onenand/onenand_base.c:3696:2: note: Taking false branch
           if (ret)
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3713:18: note: Assuming the 
condition is false
           if (FLEXONENAND(this)) {
                           ^
   include/linux/mtd/onenand.h:161:3: note: expanded from macro 'FLEXONENAND'
           (this->device_id & DEVICE_IS_FLEXONENAND)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3713:2: note: Taking false branch
           if (FLEXONENAND(this)) {
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3735:26: note: Assuming the 
condition is false
           if (ONENAND_IS_4KB_PAGE(this))
                                   ^
   include/linux/mtd/onenand.h:206:3: note: expanded from macro 
'ONENAND_IS_4KB_PAGE'
           (this->options & ONENAND_HAS_4KB_PAGE)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mtd/nand/onenand/onenand_base.c:3735:2: note: Taking false branch
           if (ONENAND_IS_4KB_PAGE(this))
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3746:2: note: Taking false branch
           if (FLEXONENAND(this))
           ^
   drivers/mtd/nand/onenand/onenand_base.c:3751:23: note: The result of the 
left shift is undefined due to shifting by '4294967295', which is greater or 
equal to the width of type 'int'
           this->page_mask = (1 << (this->erase_shift - this->page_shift)) - 1;
                                ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 12 warnings (5 in non-user code, 7 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.
   20 warnings generated.
>> drivers/media/platform/qcom/camss/camss-vfe-170.c:184:6: warning: Value 
>> stored to 'gen' during its initialization is never read 
>> [clang-analyzer-deadcode.DeadStores]
           u32 gen = (hw_version >> 28) & 0xF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-170.c:184:6: note: Value stored 
to 'gen' during its initialization is never read
           u32 gen = (hw_version >> 28) & 0xF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/qcom/camss/camss-vfe-170.c:185:6: warning: Value 
>> stored to 'rev' during its initialization is never read 
>> [clang-analyzer-deadcode.DeadStores]
           u32 rev = (hw_version >> 16) & 0xFFF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-170.c:185:6: note: Value stored 
to 'rev' during its initialization is never read
           u32 rev = (hw_version >> 16) & 0xFFF;
               ^~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/qcom/camss/camss-vfe-170.c:186:6: warning: Value 
>> stored to 'step' during its initialization is never read 
>> [clang-analyzer-deadcode.DeadStores]
           u32 step = hw_version & 0xFFFF;
               ^~~~   ~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe-170.c:186:6: note: Value stored 
to 'step' during its initialization is never read
           u32 step = hw_version & 0xFFFF;
               ^~~~   ~~~~~~~~~~~~~~~~~~~
   Suppressed 17 warnings (9 in non-user code, 8 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.
   16 warnings generated.
   Suppressed 16 warnings (9 in non-user code, 7 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.
   17 warnings generated.
   include/media/v4l2-subdev.h:1000:10: warning: Access to field 'pads' results 
in a dereference of a null pointer (loaded from variable 'state') 
[clang-analyzer-core.NullDereference]
           return &state->pads[pad].try_fmt;
                   ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1531:14: note: Assuming 'i' is 
< field 'line_num'
           for (i = 0; i < vfe->line_num; i++) {
                       ^~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:1531:2: note: Loop condition 
is true.  Entering loop body
           for (i = 0; i < vfe->line_num; i++) {
           ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1541:7: note: 'i' is not equal 
to VFE_LINE_PIX
                   if (i == VFE_LINE_PIX)
                       ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1541:3: note: Taking false 
branch
                   if (i == VFE_LINE_PIX)
                   ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1550:9: note: Calling 
'vfe_init_formats'
                   ret = vfe_init_formats(sd, NULL);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:1256:12: note: 'fh' is null
                   .which = fh ? V4L2_SUBDEV_FORMAT_TRY :
                            ^~
   drivers/media/platform/qcom/camss/camss-vfe.c:1256:12: note: '?' condition 
is false
   drivers/media/platform/qcom/camss/camss-vfe.c:1265:28: note: 'fh' is null
           return vfe_set_format(sd, fh ? fh->state : NULL, &format);
                                     ^~
   drivers/media/platform/qcom/camss/camss-vfe.c:1265:28: note: '?' condition 
is false
   drivers/media/platform/qcom/camss/camss-vfe.c:1265:28: note: Passing null 
pointer value via 2nd parameter 'sd_state'
           return vfe_set_format(sd, fh ? fh->state : NULL, &format);
                                     ^~
   drivers/media/platform/qcom/camss/camss-vfe.c:1265:9: note: Calling 
'vfe_set_format'
           return vfe_set_format(sd, fh ? fh->state : NULL, &format);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:1074:6: note: 'format' is not 
equal to NULL
           if (format == NULL)
               ^~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:1074:2: note: Taking false 
branch
           if (format == NULL)
           ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1080:6: note: Assuming field 
'pad' is equal to MSM_VFE_PAD_SINK
           if (fmt->pad == MSM_VFE_PAD_SINK) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:1080:2: note: Taking true 
branch
           if (fmt->pad == MSM_VFE_PAD_SINK) {
           ^
   drivers/media/platform/qcom/camss/camss-vfe.c:1085:35: note: Passing null 
pointer value via 2nd parameter 'sd_state'
                   format = __vfe_get_format(line, sd_state, MSM_VFE_PAD_SRC,
                                                   ^~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:1085:12: note: Calling 
'__vfe_get_format'
                   format = __vfe_get_format(line, sd_state, MSM_VFE_PAD_SRC,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:768:6: note: Assuming 'which' 
is equal to V4L2_SUBDEV_FORMAT_TRY
           if (which == V4L2_SUBDEV_FORMAT_TRY)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:768:2: note: Taking true branch
           if (which == V4L2_SUBDEV_FORMAT_TRY)
           ^
   drivers/media/platform/qcom/camss/camss-vfe.c:769:52: note: Passing null 
pointer value via 2nd parameter 'state'
                   return v4l2_subdev_get_try_format(&line->subdev, sd_state,
                                                                    ^~~~~~~~
   drivers/media/platform/qcom/camss/camss-vfe.c:769:10: note: Calling 
'v4l2_subdev_get_try_format'
                   return v4l2_subdev_get_try_format(&line->subdev, sd_state,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/media/v4l2-subdev.h:998:14: note: Assuming 'pad' is < field 
'num_pads'
           if (WARN_ON(pad >= sd->entity.num_pads))
                       ^
   include/asm-generic/bug.h:121:25: note: expanded from macro 'WARN_ON'
           int __ret_warn_on = !!(condition);                              \
                                  ^~~~~~~~~
   include/media/v4l2-subdev.h:998:6: note: Taking false branch
           if (WARN_ON(pad >= sd->entity.num_pads))
               ^
   include/asm-generic/bug.h:122:2: note: expanded from macro 'WARN_ON'
           if (unlikely(__ret_warn_on))                                    \
           ^
   include/media/v4l2-subdev.h:998:2: note: Taking false branch
           if (WARN_ON(pad >= sd->entity.num_pads))
           ^
   include/media/v4l2-subdev.h:1000:10: note: Access to field 'pads' results in 
a dereference of a null pointer (loaded from variable 'state')
           return &state->pads[pad].try_fmt;
                   ^~~~~
   Suppressed 16 warnings (9 in non-user code, 7 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.
   15 warnings generated.
   Suppressed 15 warnings (8 in non-user code, 7 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.
   15 warnings generated.
   Suppressed 15 warnings (8 in non-user code, 7 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.
   33 warnings generated.

vim +/gen +184 drivers/media/platform/qcom/camss/camss-vfe-170.c

7319cdf189bb64 Robert Foss 2021-03-16  179  
7319cdf189bb64 Robert Foss 2021-03-16  180  static void 
vfe_hw_version_read(struct vfe_device *vfe, struct device *dev)
7319cdf189bb64 Robert Foss 2021-03-16  181  {
7319cdf189bb64 Robert Foss 2021-03-16  182      u32 hw_version = 
readl_relaxed(vfe->base + VFE_HW_VERSION);
7319cdf189bb64 Robert Foss 2021-03-16  183  
7319cdf189bb64 Robert Foss 2021-03-16 @184      u32 gen = (hw_version >> 28) & 
0xF;
7319cdf189bb64 Robert Foss 2021-03-16 @185      u32 rev = (hw_version >> 16) & 
0xFFF;
7319cdf189bb64 Robert Foss 2021-03-16 @186      u32 step = hw_version & 0xFFFF;
7319cdf189bb64 Robert Foss 2021-03-16  187  
2fa698e3da84ed Robert Foss 2021-07-26  188      dev_dbg(dev, "VFE HW Version = 
%u.%u.%u\n", gen, rev, step);
7319cdf189bb64 Robert Foss 2021-03-16  189  }
7319cdf189bb64 Robert Foss 2021-03-16  190  

:::::: The code at line 184 was first introduced by commit
:::::: 7319cdf189bb643c6d56e5898ef89ad7c3ef6c31 media: camss: Add support for 
VFE hardware version Titan 170

:::::: TO: Robert Foss <[email protected]>
:::::: CC: Mauro Carvalho Chehab <[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]

Reply via email to