CC: l...@lists.linux.dev
CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: linux-ker...@vger.kernel.org
TO: John Garry <john.ga...@huawei.com>
CC: Will Deacon <w...@kernel.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   56e337f2cf1326323844927a04e9dbce9a244835
commit: e656972b69864348a747954ea187576808000c5a drivers/perf: Improve build 
test coverage
date:   5 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 5 months ago
config: riscv-randconfig-c006-20220313 
(https://download.01.org/0day-ci/archive/20220316/202203162129.qyctdjxt-...@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
43f668b98e8d87290fc6bbf5ed13c3ab542e3497)
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=e656972b69864348a747954ea187576808000c5a
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout e656972b69864348a747954ea187576808000c5a
        # 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 <l...@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   fs/xfs/xfs_sysfs.c:633:25: note: Passing value via 1st parameter 'kobj'
           error = xfs_sysfs_init(&mp->m_error_kobj, &xfs_error_ktype,
                                  ^~~~~~~~~~~~~~~~~
   fs/xfs/xfs_sysfs.c:633:10: note: Calling 'xfs_sysfs_init'
           error = xfs_sysfs_init(&mp->m_error_kobj, &xfs_error_ktype,
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/xfs_sysfs.h:37:11: note: Assuming 'parent_kobj' is null
           parent = parent_kobj ? &parent_kobj->kobject : NULL;
                    ^~~~~~~~~~~
   fs/xfs/xfs_sysfs.h:37:11: note: '?' condition is false
   fs/xfs/xfs_sysfs.h:38:18: note: Passing value via 1st parameter 'x'
           init_completion(&kobj->complete);
                           ^~~~~~~~~~~~~~~
   fs/xfs/xfs_sysfs.h:38:2: note: Calling 'init_completion'
           init_completion(&kobj->complete);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/completion.h:86:10: note: Access to field 'done' results in a 
dereference of a null pointer (loaded from variable 'x')
           x->done = 0;
           ~       ^
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   2 warnings generated.
   Suppressed 2 warnings (2 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.
   Suppressed 2 warnings (2 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.
   Suppressed 2 warnings (2 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.
   crypto/pcbc.c:74:10: warning: Although the value stored to 'nbytes' is used 
in the enclosing expression, the value is never actually read from 'nbytes' 
[clang-analyzer-deadcode.DeadStores]
           while ((nbytes = walk.nbytes)) {
                   ^        ~~~~~~~~~~~
   crypto/pcbc.c:74:10: note: Although the value stored to 'nbytes' is used in 
the enclosing expression, the value is never actually read from 'nbytes'
           while ((nbytes = walk.nbytes)) {
                   ^        ~~~~~~~~~~~
   crypto/pcbc.c:141:10: warning: Although the value stored to 'nbytes' is used 
in the enclosing expression, the value is never actually read from 'nbytes' 
[clang-analyzer-deadcode.DeadStores]
           while ((nbytes = walk.nbytes)) {
                   ^        ~~~~~~~~~~~
   crypto/pcbc.c:141:10: note: Although the value stored to 'nbytes' is used in 
the enclosing expression, the value is never actually read from 'nbytes'
           while ((nbytes = walk.nbytes)) {
                   ^        ~~~~~~~~~~~
   Suppressed 2 warnings (2 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 (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   10 warnings generated.
   fs/xfs/xfs_pnfs.c:39:3: warning: Value stored to 'error' is never read 
[clang-analyzer-deadcode.DeadStores]
                   error = break_layout(inode, true);
                   ^       ~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/xfs/xfs_pnfs.c:39:3: note: Value stored to 'error' is never read
                   error = break_layout(inode, true);
                   ^       ~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   10 warnings generated.
>> drivers/perf/arm_smmuv3_pmu.c:349:17: warning: Value stored to 'dev' during 
>> its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct device *dev = smmu_pmu->dev;
                          ^~~   ~~~~~~~~~~~~~
   drivers/perf/arm_smmuv3_pmu.c:349:17: note: Value stored to 'dev' during its 
initialization is never read
           struct device *dev = smmu_pmu->dev;
                          ^~~   ~~~~~~~~~~~~~
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   10 warnings generated.
   drivers/hwtracing/intel_th/msu.c:860:2: warning: Value stored to 'reg' is 
never read [clang-analyzer-deadcode.DeadStores]
           reg = ioread32(msc->reg_base + REG_MSU_MSC0STS);
           ^
   drivers/hwtracing/intel_th/msu.c:860:2: note: Value stored to 'reg' is never 
read
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   10 warnings generated.
   Suppressed 10 warnings (3 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.
   10 warnings generated.
   Suppressed 10 warnings (3 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.
   10 warnings generated.
   Suppressed 10 warnings (3 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.
   10 warnings generated.
   Suppressed 10 warnings (3 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.
   10 warnings generated.
   Suppressed 10 warnings (3 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   10 warnings generated.
   drivers/fpga/altera-pr-ip-core.c:188:2: warning: Value stored to 'val' is 
never read [clang-analyzer-deadcode.DeadStores]
           val = readl(priv->reg_base + ALT_PR_CSR_OFST);
           ^
   drivers/fpga/altera-pr-ip-core.c:188:2: note: Value stored to 'val' is never 
read
   Suppressed 9 warnings (2 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.
   10 warnings generated.
   drivers/staging/rts5208/ms.c:1770:3: warning: Value stored to 'retval' is 
never read [clang-analyzer-deadcode.DeadStores]
                   retval = ms_set_rw_reg_addr(chip, OVERWRITE_FLAG, 
MS_EXTRA_SIZE,
                   ^        
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/staging/rts5208/ms.c:1770:3: note: Value stored to 'retval' is never 
read
                   retval = ms_set_rw_reg_addr(chip, OVERWRITE_FLAG, 
MS_EXTRA_SIZE,
                   ^        
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 9 warnings (2 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.
   9 warnings generated.
   Suppressed 9 warnings (2 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.
   10 warnings generated.
   Suppressed 10 warnings (3 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.
   11 warnings generated.
   drivers/staging/iio/adc/ad7280a.c:130:8: warning: Excessive padding in 
'struct ad7280_state' (110 padding bytes, where 46 is optimal). 
   Optimal fields order: 
   buf, 
   spi, 
   channels, 
   iio_attr, 
   lock, 
   slave_num, 
   scan_cnt, 
   readback_delay_us, 
   ctrl_hb, 
   ctrl_lb, 
   cell_threshhigh, 
   cell_threshlow, 
   aux_threshhigh, 
   aux_threshlow, 
   cb_mask, 
   crc_tab, 
   consider reordering the fields or adding explicit padding members 
[clang-analyzer-optin.performance.Padding]
   struct ad7280_state {
   ~~~~~~~^~~~~~~~~~~~~~
   drivers/staging/iio/adc/ad7280a.c:130:8: note: Excessive padding in 'struct 
ad7280_state' (110 padding bytes, where 46 is optimal). Optimal fields order: 
buf, spi, channels, iio_attr, lock, slave_num, scan_cnt, readback_delay_us, 
ctrl_hb, ctrl_lb, cell_threshhigh, cell_threshlow, aux_threshhigh, 
aux_threshlow, cb_mask, crc_tab, consider reordering the fields or adding 
explicit padding members
   struct ad7280_state {
   ~~~~~~~^~~~~~~~~~~~~~
   Suppressed 10 warnings (3 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.
   11 warnings generated.
   drivers/staging/iio/addac/adt7316.c:1888:2: warning: Value stored to 'ret' 
is never read [clang-analyzer-deadcode.DeadStores]
           ret = chip->bus.write(chip->bus.client, ADT7316_INT_MASK1, mask);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/staging/iio/addac/adt7316.c:1888:2: note: Value stored to 'ret' is 
never read
           ret = chip->bus.write(chip->bus.client, ADT7316_INT_MASK1, mask);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 10 warnings (3 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.
   10 warnings generated.
   Suppressed 10 warnings (3 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.
   12 warnings generated.

vim +/dev +349 drivers/perf/arm_smmuv3_pmu.c

3c9347351a6ea12 Robin Murphy 2019-08-01  339  
7d839b4b9e00645 Neil Leeder  2019-03-26  340  /*
7d839b4b9e00645 Neil Leeder  2019-03-26  341   * Implementation of abstract pmu 
functionality required by
7d839b4b9e00645 Neil Leeder  2019-03-26  342   * the core perf events code.
7d839b4b9e00645 Neil Leeder  2019-03-26  343   */
7d839b4b9e00645 Neil Leeder  2019-03-26  344  
7d839b4b9e00645 Neil Leeder  2019-03-26  345  static int 
smmu_pmu_event_init(struct perf_event *event)
7d839b4b9e00645 Neil Leeder  2019-03-26  346  {
7d839b4b9e00645 Neil Leeder  2019-03-26  347    struct hw_perf_event *hwc = 
&event->hw;
7d839b4b9e00645 Neil Leeder  2019-03-26  348    struct smmu_pmu *smmu_pmu = 
to_smmu_pmu(event->pmu);
7d839b4b9e00645 Neil Leeder  2019-03-26 @349    struct device *dev = 
smmu_pmu->dev;
7d839b4b9e00645 Neil Leeder  2019-03-26  350    struct perf_event *sibling;
33e84ea4330da8a Robin Murphy 2019-08-01  351    int group_num_events = 1;
7d839b4b9e00645 Neil Leeder  2019-03-26  352    u16 event_id;
7d839b4b9e00645 Neil Leeder  2019-03-26  353  
7d839b4b9e00645 Neil Leeder  2019-03-26  354    if (event->attr.type != 
event->pmu->type)
7d839b4b9e00645 Neil Leeder  2019-03-26  355            return -ENOENT;
7d839b4b9e00645 Neil Leeder  2019-03-26  356  
7d839b4b9e00645 Neil Leeder  2019-03-26  357    if (hwc->sample_period) {
7d839b4b9e00645 Neil Leeder  2019-03-26  358            dev_dbg(dev, "Sampling 
not supported\n");
7d839b4b9e00645 Neil Leeder  2019-03-26  359            return -EOPNOTSUPP;
7d839b4b9e00645 Neil Leeder  2019-03-26  360    }
7d839b4b9e00645 Neil Leeder  2019-03-26  361  
7d839b4b9e00645 Neil Leeder  2019-03-26  362    if (event->cpu < 0) {
7d839b4b9e00645 Neil Leeder  2019-03-26  363            dev_dbg(dev, "Per-task 
mode not supported\n");
7d839b4b9e00645 Neil Leeder  2019-03-26  364            return -EOPNOTSUPP;
7d839b4b9e00645 Neil Leeder  2019-03-26  365    }
7d839b4b9e00645 Neil Leeder  2019-03-26  366  
7d839b4b9e00645 Neil Leeder  2019-03-26  367    /* Verify specified event is 
supported on this PMU */
7d839b4b9e00645 Neil Leeder  2019-03-26  368    event_id = get_event(event);
7d839b4b9e00645 Neil Leeder  2019-03-26  369    if (event_id < 
SMMU_PMCG_ARCH_MAX_EVENTS &&
7d839b4b9e00645 Neil Leeder  2019-03-26  370        (!test_bit(event_id, 
smmu_pmu->supported_events))) {
7d839b4b9e00645 Neil Leeder  2019-03-26  371            dev_dbg(dev, "Invalid 
event %d for this PMU\n", event_id);
7d839b4b9e00645 Neil Leeder  2019-03-26  372            return -EINVAL;
7d839b4b9e00645 Neil Leeder  2019-03-26  373    }
7d839b4b9e00645 Neil Leeder  2019-03-26  374  
7d839b4b9e00645 Neil Leeder  2019-03-26  375    /* Don't allow groups with 
mixed PMUs, except for s/w events */
33e84ea4330da8a Robin Murphy 2019-08-01  376    if 
(!is_software_event(event->group_leader)) {
3c9347351a6ea12 Robin Murphy 2019-08-01  377            if 
(!smmu_pmu_events_compatible(event->group_leader, event))
33e84ea4330da8a Robin Murphy 2019-08-01  378                    return -EINVAL;
33e84ea4330da8a Robin Murphy 2019-08-01  379  
33e84ea4330da8a Robin Murphy 2019-08-01  380            if (++group_num_events 
> smmu_pmu->num_counters)
7d839b4b9e00645 Neil Leeder  2019-03-26  381                    return -EINVAL;
7d839b4b9e00645 Neil Leeder  2019-03-26  382    }
7d839b4b9e00645 Neil Leeder  2019-03-26  383  
7d839b4b9e00645 Neil Leeder  2019-03-26  384    for_each_sibling_event(sibling, 
event->group_leader) {
33e84ea4330da8a Robin Murphy 2019-08-01  385            if 
(is_software_event(sibling))
33e84ea4330da8a Robin Murphy 2019-08-01  386                    continue;
33e84ea4330da8a Robin Murphy 2019-08-01  387  
3c9347351a6ea12 Robin Murphy 2019-08-01  388            if 
(!smmu_pmu_events_compatible(sibling, event))
33e84ea4330da8a Robin Murphy 2019-08-01  389                    return -EINVAL;
33e84ea4330da8a Robin Murphy 2019-08-01  390  
33e84ea4330da8a Robin Murphy 2019-08-01  391            if (++group_num_events 
> smmu_pmu->num_counters)
7d839b4b9e00645 Neil Leeder  2019-03-26  392                    return -EINVAL;
7d839b4b9e00645 Neil Leeder  2019-03-26  393    }
7d839b4b9e00645 Neil Leeder  2019-03-26  394  
7d839b4b9e00645 Neil Leeder  2019-03-26  395    hwc->idx = -1;
7d839b4b9e00645 Neil Leeder  2019-03-26  396  
7d839b4b9e00645 Neil Leeder  2019-03-26  397    /*
7d839b4b9e00645 Neil Leeder  2019-03-26  398     * Ensure all events are on the 
same cpu so all events are in the
7d839b4b9e00645 Neil Leeder  2019-03-26  399     * same cpu context, to avoid 
races on pmu_enable etc.
7d839b4b9e00645 Neil Leeder  2019-03-26  400     */
7d839b4b9e00645 Neil Leeder  2019-03-26  401    event->cpu = smmu_pmu->on_cpu;
7d839b4b9e00645 Neil Leeder  2019-03-26  402  
7d839b4b9e00645 Neil Leeder  2019-03-26  403    return 0;
7d839b4b9e00645 Neil Leeder  2019-03-26  404  }
7d839b4b9e00645 Neil Leeder  2019-03-26  405  

:::::: The code at line 349 was first introduced by commit
:::::: 7d839b4b9e00645e49345d6ce5dfa8edf53c1a21 perf/smmuv3: Add arm64 smmuv3 
pmu driver

:::::: TO: Neil Leeder <nlee...@codeaurora.org>
:::::: CC: Will Deacon <will.dea...@arm.com>

---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to