CC: [email protected]
CC: [email protected]
BCC: [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:   8013d1d3d2e33236dee13a133fba49ad55045e79
commit: 2fa698e3da84edc6b7a2d670f8bd5035891a744e media: camss: vfe: Decrease 
priority of of VFE HW version to 'dbg'
date:   7 months ago
:::::: branch date: 8 hours ago
:::::: commit date: 7 months ago
config: arm-randconfig-c002-20220427 
(https://download.01.org/0day-ci/archive/20220430/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
1cddcfdc3c683b393df1a5c9063252eb60e52818)
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 arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # 
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
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 
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/btrfs/volumes.c:6702:6: note: Assuming 'ret' is 0
           if (ret) {
               ^~~
   fs/btrfs/volumes.c:6702:2: note: Taking false branch
           if (ret) {
           ^
   fs/btrfs/volumes.c:6714:7: note: Assuming the condition is false
           if ((bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK) &&
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6714:55: note: Left side of '&&' is false
           if ((bbio->map_type & BTRFS_BLOCK_GROUP_RAID56_MASK) &&
                                                                ^
   fs/btrfs/volumes.c:6730:6: note: Assuming 'map_length' is >= 'length'
           if (map_length < length) {
               ^~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6730:2: note: Taking false branch
           if (map_length < length) {
           ^
   fs/btrfs/volumes.c:6737:19: note: Assuming 'dev_nr' is < 'total_devs'
           for (dev_nr = 0; dev_nr < total_devs; dev_nr++) {
                            ^~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6737:2: note: Loop condition is true.  Entering loop body
           for (dev_nr = 0; dev_nr < total_devs; dev_nr++) {
           ^
   fs/btrfs/volumes.c:6739:7: note: Assuming 'dev' is null
                   if (!dev || !dev->bdev || test_bit(BTRFS_DEV_STATE_MISSING,
                       ^~~~
   fs/btrfs/volumes.c:6739:12: note: Left side of '||' is true
                   if (!dev || !dev->bdev || test_bit(BTRFS_DEV_STATE_MISSING,
                            ^
   fs/btrfs/volumes.c:6743:4: note: Calling 'bbio_error'
                           bbio_error(bbio, first_bio, logical);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6669:2: note: Taking true branch
           if (atomic_dec_and_test(&bbio->stripes_pending)) {
           ^
   fs/btrfs/volumes.c:6671:11: note: Assuming 'bio' is equal to field 'orig_bio'
                   WARN_ON(bio != bbio->orig_bio);
                           ^
   include/asm-generic/bug.h:121:25: note: expanded from macro 'WARN_ON'
           int __ret_warn_on = !!(condition);                              \
                                  ^~~~~~~~~
   fs/btrfs/volumes.c:6671:3: note: Taking false branch
                   WARN_ON(bio != bbio->orig_bio);
                   ^
   include/asm-generic/bug.h:122:2: note: expanded from macro 'WARN_ON'
           if (unlikely(__ret_warn_on))                                    \
           ^
   fs/btrfs/volumes.c:6675:7: note: Assuming the condition is false
                   if (atomic_read(&bbio->error) > bbio->max_errors)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6675:3: note: Taking false branch
                   if (atomic_read(&bbio->error) > bbio->max_errors)
                   ^
   fs/btrfs/volumes.c:6679:3: note: Calling 'btrfs_end_bbio'
                   btrfs_end_bbio(bbio, bio);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6573:2: note: Calling 'btrfs_put_bbio'
           btrfs_put_bbio(bbio);
           ^~~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:5849:7: note: 'bbio' is non-null
           if (!bbio)
                ^~~~
   fs/btrfs/volumes.c:5849:2: note: Taking false branch
           if (!bbio)
           ^
   fs/btrfs/volumes.c:5851:2: note: Taking true branch
           if (refcount_dec_and_test(&bbio->refs))
           ^
   fs/btrfs/volumes.c:5852:3: note: Memory is released
                   kfree(bbio);
                   ^~~~~~~~~~~
   fs/btrfs/volumes.c:6573:2: note: Returning; memory was released via 1st 
parameter
           btrfs_put_bbio(bbio);
           ^~~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6679:3: note: Returning; memory was released via 1st 
parameter
                   btrfs_end_bbio(bbio, bio);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6743:4: note: Returning; memory was released via 1st 
parameter
                           bbio_error(bbio, first_bio, logical);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6744:4: note:  Execution continues on line 6737
                           continue;
                           ^
   fs/btrfs/volumes.c:6737:19: note: Assuming 'dev_nr' is < 'total_devs'
           for (dev_nr = 0; dev_nr < total_devs; dev_nr++) {
                            ^~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:6737:2: note: Loop condition is true.  Entering loop body
           for (dev_nr = 0; dev_nr < total_devs; dev_nr++) {
           ^
   fs/btrfs/volumes.c:6738:9: note: Use of memory after it is freed
                   dev = bbio->stripes[dev_nr].dev;
                         ^~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/volumes.c:8130:4: warning: Value stored to 'ret' is never read 
[clang-analyzer-deadcode.DeadStores]
                           ret = 0;
                           ^     ~
   fs/btrfs/volumes.c:8130:4: note: Value stored to 'ret' is never read
                           ret = 0;
                           ^     ~
   5 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 2 warnings (2 with check filters).
   3 warnings generated.
   drivers/w1/slaves/w1_therm.c:1252:5: warning: Value stored to 'ret' is never 
read [clang-analyzer-deadcode.DeadStores]
                                   ret = -EIO;
                                   ^     ~~~~
   drivers/w1/slaves/w1_therm.c:1252:5: note: Value stored to 'ret' is never 
read
                                   ret = -EIO;
                                   ^     ~~~~
   drivers/w1/slaves/w1_therm.c:1799: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(p_args, buf);
           ^~~~~~
   drivers/w1/slaves/w1_therm.c:1799: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(p_args, buf);
           ^~~~~~
   drivers/w1/slaves/w1_therm.c:2090:22: warning: The right operand of '==' is 
a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
                   if (sl->reg_num.id == reg_num->id)
                                      ^  ~~~~~~~~~~~
   drivers/w1/slaves/w1_therm.c:2067:6: note: Assuming the condition is false
           if (w1_reset_bus(sl->master))
               ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/w1/slaves/w1_therm.c:2067:2: note: Taking false branch
           if (w1_reset_bus(sl->master))
           ^
   drivers/w1/slaves/w1_therm.c:2077:6: note: Assuming 'ack' is equal to 
W1_42_SUCCESS_CONFIRM_BYTE
           if (ack != W1_42_SUCCESS_CONFIRM_BYTE)
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/w1/slaves/w1_therm.c:2077:2: note: Taking false branch
           if (ack != W1_42_SUCCESS_CONFIRM_BYTE)
           ^
   drivers/w1/slaves/w1_therm.c:2081:2: note: Loop condition is true.  Entering 
loop body
           for (i = 0; i <= 64; i++) {
           ^
   drivers/w1/slaves/w1_therm.c:2082:7: note: Assuming the condition is false
                   if (w1_reset_bus(sl->master))
                       ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/w1/slaves/w1_therm.c:2082:3: note: Taking false branch
                   if (w1_reset_bus(sl->master))
                   ^
   drivers/w1/slaves/w1_therm.c:2088:7: note: Assuming field 'family' is not 
equal to W1_42_FINISHED_BYTE
                   if (reg_num->family == W1_42_FINISHED_BYTE)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/w1/slaves/w1_therm.c:2088:3: note: Taking false branch
                   if (reg_num->family == W1_42_FINISHED_BYTE)
                   ^
   drivers/w1/slaves/w1_therm.c:2090:22: note: The right operand of '==' is a 
garbage value
                   if (sl->reg_num.id == reg_num->id)
                                      ^  ~~~~~~~~~~~
   1 warning generated.
   drivers/w1/slaves/w1_ds2438.c:69:3: warning: Value stored to 'crc' is never 
read [clang-analyzer-deadcode.DeadStores]
                   crc = 0;
                   ^     ~
   drivers/w1/slaves/w1_ds2438.c:69:3: note: Value stored to 'crc' is never read
                   crc = 0;
                   ^     ~
   1 warning generated.
   drivers/comedi/drivers/pcmmio.c:578:2: warning: Value stored to 'val' is 
never read [clang-analyzer-deadcode.DeadStores]
           val |= inb(iobase + PCMMIO_AI_MSB_REG) << 8;
           ^
   drivers/comedi/drivers/pcmmio.c:578:2: note: Value stored to 'val' is never 
read
   1 warning generated.
   Suppressed 1 warnings (1 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.
   2 warnings generated.
   drivers/media/test-drivers/vicodec/codec-fwht.c:638:2: warning: Value stored 
to 'deltablock' is never read [clang-analyzer-deadcode.DeadStores]
           deltablock -= 64;
           ^             ~~
   drivers/media/test-drivers/vicodec/codec-fwht.c:638:2: note: Value stored to 
'deltablock' is never read
           deltablock -= 64;
           ^             ~~
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   Suppressed 1 warnings (1 with check filters).
   4 warnings generated.
   drivers/media/test-drivers/vidtv/vidtv_bridge.c:123:6: warning: Value stored 
to 'mux_buf_sz' during its initialization is never read 
[clang-analyzer-deadcode.DeadStores]
           u32 mux_buf_sz = mux_buf_sz_pkts * TS_PACKET_LEN;
               ^~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/test-drivers/vidtv/vidtv_bridge.c:123:6: note: Value stored to 
'mux_buf_sz' during its initialization is never read
           u32 mux_buf_sz = mux_buf_sz_pkts * TS_PACKET_LEN;
               ^~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/test-drivers/vidtv/vidtv_bridge.c:206:17: warning: Value 
stored to 'dev' during its initialization is never read 
[clang-analyzer-deadcode.DeadStores]
           struct device *dev = &dvb->pdev->dev;
                          ^~~   ~~~~~~~~~~~~~~~
   drivers/media/test-drivers/vidtv/vidtv_bridge.c:206:17: note: Value stored 
to 'dev' during its initialization is never read
           struct device *dev = &dvb->pdev->dev;
                          ^~~   ~~~~~~~~~~~~~~~
   Suppressed 2 warnings (2 with check filters).
   1 warning generated.
   drivers/media/test-drivers/vidtv/vidtv_s302m.c:383:3: warning: Value stored 
to 'nbytes_per_unit' is never read [clang-analyzer-deadcode.DeadStores]
                   nbytes_per_unit = 0;
                   ^                 ~
   drivers/media/test-drivers/vidtv/vidtv_s302m.c:383:3: note: Value stored to 
'nbytes_per_unit' is never read

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
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to