All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/iommu/apple-dart.c:671:22: warning: Value stored to 'res' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-02-20 23:06 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-02-20 23:06 UTC (permalink / raw)
  To: kbuild

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

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Sven Peter <sven@svenpeter.dev>
CC: Joerg Roedel <jroedel@suse.de>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3324e6e803156b4296975555f566892e4e3f4fcf
commit: 46d1fb072e76b161b0fb1ada9e37bf7e4d1f123f iommu/dart: Add DART iommu driver
date:   6 months ago
:::::: branch date: 2 hours ago
:::::: commit date: 6 months ago
config: riscv-randconfig-c006-20220215 (https://download.01.org/0day-ci/archive/20220221/202202210746.IXOCDPKb-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 37f422f4ac31c8b8041c6b62065263314282dab6)
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=46d1fb072e76b161b0fb1ada9e37bf7e4d1f123f
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 46d1fb072e76b161b0fb1ada9e37bf7e4d1f123f
        # 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 <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   include/linux/list.h:511:2: note: expanded from macro 'list_entry'
           container_of(ptr, type, member)
           ^
   include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:306:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/base/regmap/regmap-debugfs.c:75:3: note: Calling 'list_del'
                   list_del(&c->list);
                   ^~~~~~~~~~~~~~~~~~
   include/linux/list.h:146:2: note: Calling '__list_del_entry'
           __list_del_entry(entry);
           ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/list.h:132:2: note: Taking false branch
           if (!__list_del_entry_valid(entry))
           ^
   include/linux/list.h:135:13: note: Use of memory after it is freed
           __list_del(entry->prev, entry->next);
                      ^~~~~~~~~~~
   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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   8 warnings generated.
   fs/ubifs/tnc_misc.c:51:35: warning: Access to field 'level' results in a dereference of a null pointer (loaded from variable 'zr') [clang-analyzer-core.NullDereference]
                   ubifs_assert(c, znode->level <= zr->level);
                                                   ^
   fs/ubifs/debug.h:143:17: note: expanded from macro 'ubifs_assert'
           if (unlikely(!(expr))) {                                               \
                          ^~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   fs/ubifs/tnc_misc.c:36:2: note: Assuming 'zr' is null
           ubifs_assert(c, zr);
           ^
   fs/ubifs/debug.h:143:15: note: expanded from macro 'ubifs_assert'
           if (unlikely(!(expr))) {                                               \
               ~~~~~~~~~^~~~~~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   fs/ubifs/tnc_misc.c:36:2: note: Taking true branch
           ubifs_assert(c, zr);
           ^
   fs/ubifs/debug.h:143:2: note: expanded from macro 'ubifs_assert'
           if (unlikely(!(expr))) {                                               \
           ^
   fs/ubifs/tnc_misc.c:36:2: note: Loop condition is false.  Exiting loop
           ubifs_assert(c, zr);
           ^
   fs/ubifs/debug.h:142:31: note: expanded from macro 'ubifs_assert'
   #define ubifs_assert(c, expr) do {                                             \
                                 ^
   fs/ubifs/tnc_misc.c:38:15: note: Assuming 'znode' is non-null
           if (unlikely(!znode))
                        ^
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   fs/ubifs/tnc_misc.c:38:2: note: Taking false branch
           if (unlikely(!znode))
           ^
   fs/ubifs/tnc_misc.c:41:15: note: 'znode' is not equal to 'zr'
           if (unlikely(znode == zr)) {
                        ^
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   fs/ubifs/tnc_misc.c:41:2: note: Taking false branch
           if (unlikely(znode == zr)) {
           ^
   fs/ubifs/tnc_misc.c:50:2: note: Loop condition is true.  Entering loop body
           while (1) {
           ^
   fs/ubifs/tnc_misc.c:51:35: note: Access to field 'level' results in a dereference of a null pointer (loaded from variable 'zr')
                   ubifs_assert(c, znode->level <= zr->level);
                                                   ^
   fs/ubifs/debug.h:143:17: note: expanded from macro 'ubifs_assert'
           if (unlikely(!(expr))) {                                               \
                          ^~~~
   include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
   # define unlikely(x)    __builtin_expect(!!(x), 0)
                                               ^
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   6 warnings generated.
>> drivers/iommu/apple-dart.c:671:22: warning: Value stored to 'res' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct iommu_group *res = ERR_PTR(-EINVAL);
                               ^~~   ~~~~~~~~~~~~~~~~
   drivers/iommu/apple-dart.c:671:22: note: Value stored to 'res' during its initialization is never read
           struct iommu_group *res = ERR_PTR(-EINVAL);
                               ^~~   ~~~~~~~~~~~~~~~~
   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.
   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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   9 warnings generated.
   drivers/iio/adc/meson_saradc.c:1049:13: warning: The left operand of '<=' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           if (value1 <= value0) {
                      ^
   drivers/iio/adc/meson_saradc.c:1186:6: note: Assuming 'indio_dev' is non-null
           if (!indio_dev) {
               ^~~~~~~~~~
   drivers/iio/adc/meson_saradc.c:1186:2: note: Taking false branch
           if (!indio_dev) {
           ^
   drivers/iio/adc/meson_saradc.c:1195:6: note: Assuming 'match_data' is non-null
           if (!match_data) {
               ^~~~~~~~~~~
   drivers/iio/adc/meson_saradc.c:1195:2: note: Taking false branch
           if (!match_data) {
           ^
   drivers/iio/adc/meson_saradc.c:1207:2: note: Taking false branch
           if (IS_ERR(base))
           ^
   drivers/iio/adc/meson_saradc.c:1212:2: note: Taking false branch
           if (IS_ERR(priv->regmap))
           ^
   drivers/iio/adc/meson_saradc.c:1216:6: note: Assuming 'irq' is not equal to 0
           if (!irq)
               ^~~~
   drivers/iio/adc/meson_saradc.c:1216:2: note: Taking false branch
           if (!irq)
           ^
   drivers/iio/adc/meson_saradc.c:1221:6: note: Assuming 'ret' is 0
           if (ret)
               ^~~
   drivers/iio/adc/meson_saradc.c:1221:2: note: Taking false branch
           if (ret)
           ^
   drivers/iio/adc/meson_saradc.c:1225:2: note: Taking false branch
           if (IS_ERR(priv->clkin)) {
           ^
   drivers/iio/adc/meson_saradc.c:1231:2: note: Taking false branch
           if (IS_ERR(priv->core_clk)) {
           ^
   drivers/iio/adc/meson_saradc.c:1237:2: note: Taking false branch
           if (IS_ERR(priv->adc_clk)) {
           ^
   drivers/iio/adc/meson_saradc.c:1247:2: note: Taking false branch
           if (IS_ERR(priv->adc_sel_clk)) {
           ^
   drivers/iio/adc/meson_saradc.c:1257:6: note: Assuming field 'adc_clk' is non-null
           if (!priv->adc_clk) {
               ^~~~~~~~~~~~~~
   drivers/iio/adc/meson_saradc.c:1257:2: note: Taking false branch
           if (!priv->adc_clk) {

vim +/res +671 drivers/iommu/apple-dart.c

46d1fb072e76b1 Sven Peter 2021-08-03  663  
46d1fb072e76b1 Sven Peter 2021-08-03  664  static struct iommu_group *apple_dart_device_group(struct device *dev)
46d1fb072e76b1 Sven Peter 2021-08-03  665  {
46d1fb072e76b1 Sven Peter 2021-08-03  666  	static DEFINE_MUTEX(lock);
46d1fb072e76b1 Sven Peter 2021-08-03  667  	int i, sid;
46d1fb072e76b1 Sven Peter 2021-08-03  668  	struct apple_dart_master_cfg *cfg = dev_iommu_priv_get(dev);
46d1fb072e76b1 Sven Peter 2021-08-03  669  	struct apple_dart_stream_map *stream_map;
46d1fb072e76b1 Sven Peter 2021-08-03  670  	struct iommu_group *group = NULL;
46d1fb072e76b1 Sven Peter 2021-08-03 @671  	struct iommu_group *res = ERR_PTR(-EINVAL);
46d1fb072e76b1 Sven Peter 2021-08-03  672  
46d1fb072e76b1 Sven Peter 2021-08-03  673  	mutex_lock(&lock);
46d1fb072e76b1 Sven Peter 2021-08-03  674  
46d1fb072e76b1 Sven Peter 2021-08-03  675  	for_each_stream_map(i, cfg, stream_map) {
46d1fb072e76b1 Sven Peter 2021-08-03  676  		for_each_set_bit(sid, &stream_map->sidmap, DART_MAX_STREAMS) {
46d1fb072e76b1 Sven Peter 2021-08-03  677  			struct iommu_group *stream_group =
46d1fb072e76b1 Sven Peter 2021-08-03  678  				stream_map->dart->sid2group[sid];
46d1fb072e76b1 Sven Peter 2021-08-03  679  
46d1fb072e76b1 Sven Peter 2021-08-03  680  			if (group && group != stream_group) {
46d1fb072e76b1 Sven Peter 2021-08-03  681  				res = ERR_PTR(-EINVAL);
46d1fb072e76b1 Sven Peter 2021-08-03  682  				goto out;
46d1fb072e76b1 Sven Peter 2021-08-03  683  			}
46d1fb072e76b1 Sven Peter 2021-08-03  684  
46d1fb072e76b1 Sven Peter 2021-08-03  685  			group = stream_group;
46d1fb072e76b1 Sven Peter 2021-08-03  686  		}
46d1fb072e76b1 Sven Peter 2021-08-03  687  	}
46d1fb072e76b1 Sven Peter 2021-08-03  688  
46d1fb072e76b1 Sven Peter 2021-08-03  689  	if (group) {
46d1fb072e76b1 Sven Peter 2021-08-03  690  		res = iommu_group_ref_get(group);
46d1fb072e76b1 Sven Peter 2021-08-03  691  		goto out;
46d1fb072e76b1 Sven Peter 2021-08-03  692  	}
46d1fb072e76b1 Sven Peter 2021-08-03  693  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 3+ messages in thread
* drivers/iommu/apple-dart.c:671:22: warning: Value stored to 'res' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-01-16  8:51 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-01-16  8:51 UTC (permalink / raw)
  To: kbuild

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

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Sven Peter <sven@svenpeter.dev>
CC: Joerg Roedel <jroedel@suse.de>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   a33f5c380c4bd3fa5278d690421b72052456d9fe
commit: 46d1fb072e76b161b0fb1ada9e37bf7e4d1f123f iommu/dart: Add DART iommu driver
date:   5 months ago
:::::: branch date: 27 hours ago
:::::: commit date: 5 months ago
config: riscv-randconfig-c006-20220116 (https://download.01.org/0day-ci/archive/20220116/202201161639.F0YG2q8d-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 650fc40b6d8d9a5869b4fca525d5f237b0ee2803)
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=46d1fb072e76b161b0fb1ada9e37bf7e4d1f123f
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 46d1fb072e76b161b0fb1ada9e37bf7e4d1f123f
        # 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 <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   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.
   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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   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.
   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.
   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.
   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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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 (8 in non-user code, 2 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   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.
   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.
   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.
   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.
   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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   6 warnings generated.
>> drivers/iommu/apple-dart.c:671:22: warning: Value stored to 'res' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct iommu_group *res = ERR_PTR(-EINVAL);
                               ^~~   ~~~~~~~~~~~~~~~~
   drivers/iommu/apple-dart.c:671:22: note: Value stored to 'res' during its initialization is never read
           struct iommu_group *res = ERR_PTR(-EINVAL);
                               ^~~   ~~~~~~~~~~~~~~~~
   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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   drivers/gpu/drm/drm_crtc_helper.c:635:2: warning: Value stored to 'count' is never read [clang-analyzer-deadcode.DeadStores]
           count = 0;
           ^       ~
   drivers/gpu/drm/drm_crtc_helper.c:635:2: note: Value stored to 'count' is never read
           count = 0;
           ^       ~
   drivers/gpu/drm/drm_crtc_helper.c:681:2: warning: Value stored to 'count' is never read [clang-analyzer-deadcode.DeadStores]
           count = 0;
           ^       ~
   drivers/gpu/drm/drm_crtc_helper.c:681:2: note: Value stored to 'count' is never read
           count = 0;
           ^       ~
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   8 warnings generated.
   drivers/gpu/drm/panfrost/panfrost_mmu.c:70:35: warning: The result of the left shift is undefined because the right operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
           if ((size >> PAGE_SHIFT) != (1ul << (region_width - 11))) {
                                            ^
   drivers/gpu/drm/panfrost/panfrost_mmu.c:386:6: note: Assuming field 'as' is >= 0
           if (mmu->as >= 0) {
               ^~~~~~~~~~~~
   drivers/gpu/drm/panfrost/panfrost_mmu.c:386:2: note: Taking true branch
           if (mmu->as >= 0) {
           ^
   drivers/gpu/drm/panfrost/panfrost_mmu.c:388:3: note: Taking true branch
                   if (pm_runtime_active(pfdev->dev))
                   ^
   drivers/gpu/drm/panfrost/panfrost_mmu.c:389:4: note: Calling 'panfrost_mmu_disable'
                           panfrost_mmu_disable(pfdev, mmu->as);
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/panfrost/panfrost_mmu.c:134:2: note: Calling 'mmu_hw_do_operation_locked'
           mmu_hw_do_operation_locked(pfdev, as_nr, 0, ~0UL, AS_COMMAND_FLUSH_MEM);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/panfrost/panfrost_mmu.c:86:6: note: 'as_nr' is >= 0
           if (as_nr < 0)
               ^~~~~
   drivers/gpu/drm/panfrost/panfrost_mmu.c:86:2: note: Taking false branch
           if (as_nr < 0)
           ^
   drivers/gpu/drm/panfrost/panfrost_mmu.c:89:6: note: 'op' is not equal to AS_COMMAND_UNLOCK
           if (op != AS_COMMAND_UNLOCK)
               ^~
   drivers/gpu/drm/panfrost/panfrost_mmu.c:89:2: note: Taking true branch
           if (op != AS_COMMAND_UNLOCK)
           ^
   drivers/gpu/drm/panfrost/panfrost_mmu.c:90:3: note: Calling 'lock_region'
                   lock_region(pfdev, as_nr, iova, size);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/panfrost/panfrost_mmu.c:70:35: note: The result of the left shift is undefined because the right operand is negative
           if ((size >> PAGE_SHIFT) != (1ul << (region_width - 11))) {
--
                   ^
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:1164:8: note: Returning from 'komeda_splitter_validate'
           err = komeda_splitter_validate(pipe->splitter, conn_st,
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:1166:6: note: Assuming 'err' is 0
           if (err)
               ^~~
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:1166:2: note: Taking false branch
           if (err)
           ^
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:1168:8: note: Calling 'komeda_scaler_validate'
           err = komeda_scaler_validate(conn, kcrtc_st, &l_dflow);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/arm/display/komeda/komeda_pipeline_state.c:514:8: note: Branch condition evaluates to a garbage value
           if (!(dflow->en_scaling || dflow->en_img_enhancement))
                 ^~~~~~~~~~~~~~~~~
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   drivers/gpu/drm/exynos/exynos_drm_dma.c:87:29: warning: Value stored to 'priv' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct exynos_drm_private *priv = drm_dev->dev_private;
                                      ^~~~   ~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/exynos/exynos_drm_dma.c:87:29: note: Value stored to 'priv' during its initialization is never read
           struct exynos_drm_private *priv = drm_dev->dev_private;
                                      ^~~~   ~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/exynos/exynos_drm_dma.c:119:7: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
                   if (IS_ERR(mapping))
                       ^      ~~~~~~~
   drivers/gpu/drm/exynos/exynos_drm_dma.c:101:6: note: Assuming field 'dma_dev' is non-null
           if (!priv->dma_dev) {
               ^~~~~~~~~~~~~~
   drivers/gpu/drm/exynos/exynos_drm_dma.c:101:2: note: Taking false branch
           if (!priv->dma_dev) {
           ^
   drivers/gpu/drm/exynos/exynos_drm_dma.c:107:2: note: Taking false branch
           if (!IS_ENABLED(CONFIG_EXYNOS_IOMMU))
           ^
   drivers/gpu/drm/exynos/exynos_drm_dma.c:110:6: note: Assuming field 'mapping' is null
           if (!priv->mapping) {
               ^~~~~~~~~~~~~~
   drivers/gpu/drm/exynos/exynos_drm_dma.c:110:2: note: Taking true branch
           if (!priv->mapping) {
           ^
   drivers/gpu/drm/exynos/exynos_drm_dma.c:111:3: note: 'mapping' declared without an initial value
                   void *mapping;
                   ^~~~~~~~~~~~~
   drivers/gpu/drm/exynos/exynos_drm_dma.c:113:3: note: Taking false branch
                   if (IS_ENABLED(CONFIG_ARM_DMA_USE_IOMMU))
                   ^
   drivers/gpu/drm/exynos/exynos_drm_dma.c:116:8: note: Taking false branch
                   else if (IS_ENABLED(CONFIG_IOMMU_DMA))
                        ^
   drivers/gpu/drm/exynos/exynos_drm_dma.c:119:7: note: 1st function call argument is an uninitialized value
                   if (IS_ERR(mapping))
                       ^      ~~~~~~~
   Suppressed 9 warnings (8 in non-user code, 1 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   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.
   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.
   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.
   10 warnings generated.
   Suppressed 10 warnings (5 in non-user code, 5 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.
   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.
   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.
   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.
   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.
   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.
   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.
   6 warnings generated.
>> drivers/iommu/apple-dart.c:671:22: warning: Value stored to 'res' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct iommu_group *res = ERR_PTR(-EINVAL);
                               ^~~   ~~~~~~~~~~~~~~~~
   drivers/iommu/apple-dart.c:671:22: note: Value stored to 'res' during its initialization is never read
           struct iommu_group *res = ERR_PTR(-EINVAL);
                               ^~~   ~~~~~~~~~~~~~~~~
   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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   drivers/gpu/drm/drm_crtc_helper.c:635:2: warning: Value stored to 'count' is never read [clang-analyzer-deadcode.DeadStores]
           count = 0;
           ^       ~
   drivers/gpu/drm/drm_crtc_helper.c:635:2: note: Value stored to 'count' is never read
           count = 0;
           ^       ~
   drivers/gpu/drm/drm_crtc_helper.c:681:2: warning: Value stored to 'count' is never read [clang-analyzer-deadcode.DeadStores]
           count = 0;
           ^       ~
   drivers/gpu/drm/drm_crtc_helper.c:681:2: note: Value stored to 'count' is never read
           count = 0;
           ^       ~
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   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.
   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.
   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.
   6 warnings 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;
                   ^     ~
   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.
   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.
   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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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.
   8 warnings generated.
   Suppressed 8 warnings (8 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 +/res +671 drivers/iommu/apple-dart.c

46d1fb072e76b1 Sven Peter 2021-08-03  663  
46d1fb072e76b1 Sven Peter 2021-08-03  664  static struct iommu_group *apple_dart_device_group(struct device *dev)
46d1fb072e76b1 Sven Peter 2021-08-03  665  {
46d1fb072e76b1 Sven Peter 2021-08-03  666  	static DEFINE_MUTEX(lock);
46d1fb072e76b1 Sven Peter 2021-08-03  667  	int i, sid;
46d1fb072e76b1 Sven Peter 2021-08-03  668  	struct apple_dart_master_cfg *cfg = dev_iommu_priv_get(dev);
46d1fb072e76b1 Sven Peter 2021-08-03  669  	struct apple_dart_stream_map *stream_map;
46d1fb072e76b1 Sven Peter 2021-08-03  670  	struct iommu_group *group = NULL;
46d1fb072e76b1 Sven Peter 2021-08-03 @671  	struct iommu_group *res = ERR_PTR(-EINVAL);
46d1fb072e76b1 Sven Peter 2021-08-03  672  
46d1fb072e76b1 Sven Peter 2021-08-03  673  	mutex_lock(&lock);
46d1fb072e76b1 Sven Peter 2021-08-03  674  
46d1fb072e76b1 Sven Peter 2021-08-03  675  	for_each_stream_map(i, cfg, stream_map) {
46d1fb072e76b1 Sven Peter 2021-08-03  676  		for_each_set_bit(sid, &stream_map->sidmap, DART_MAX_STREAMS) {
46d1fb072e76b1 Sven Peter 2021-08-03  677  			struct iommu_group *stream_group =
46d1fb072e76b1 Sven Peter 2021-08-03  678  				stream_map->dart->sid2group[sid];
46d1fb072e76b1 Sven Peter 2021-08-03  679  
46d1fb072e76b1 Sven Peter 2021-08-03  680  			if (group && group != stream_group) {
46d1fb072e76b1 Sven Peter 2021-08-03  681  				res = ERR_PTR(-EINVAL);
46d1fb072e76b1 Sven Peter 2021-08-03  682  				goto out;
46d1fb072e76b1 Sven Peter 2021-08-03  683  			}
46d1fb072e76b1 Sven Peter 2021-08-03  684  
46d1fb072e76b1 Sven Peter 2021-08-03  685  			group = stream_group;
46d1fb072e76b1 Sven Peter 2021-08-03  686  		}
46d1fb072e76b1 Sven Peter 2021-08-03  687  	}
46d1fb072e76b1 Sven Peter 2021-08-03  688  
46d1fb072e76b1 Sven Peter 2021-08-03  689  	if (group) {
46d1fb072e76b1 Sven Peter 2021-08-03  690  		res = iommu_group_ref_get(group);
46d1fb072e76b1 Sven Peter 2021-08-03  691  		goto out;
46d1fb072e76b1 Sven Peter 2021-08-03  692  	}
46d1fb072e76b1 Sven Peter 2021-08-03  693  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 3+ messages in thread
* drivers/iommu/apple-dart.c:671:22: warning: Value stored to 'res' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-12-12  4:44 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-12-12  4:44 UTC (permalink / raw)
  To: kbuild

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

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Sven Peter <sven@svenpeter.dev>
CC: Joerg Roedel <jroedel@suse.de>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   a763d5a5abd65797aec3dd1bf01fe2ccbec32967
commit: 46d1fb072e76b161b0fb1ada9e37bf7e4d1f123f iommu/dart: Add DART iommu driver
date:   4 months ago
:::::: branch date: 4 hours ago
:::::: commit date: 4 months ago
config: riscv-randconfig-c006-20211210 (https://download.01.org/0day-ci/archive/20211212/202112121226.jkHT0ZTU-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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=46d1fb072e76b161b0fb1ada9e37bf7e4d1f123f
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 46d1fb072e76b161b0fb1ada9e37bf7e4d1f123f
        # 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 <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
           ^
   mm/vmalloc.c:2015:20: note: '?' condition is false
           offset = (addr & (VMAP_BLOCK_SIZE - 1)) >> PAGE_SHIFT;
                             ^
   mm/vmalloc.c:1786:27: note: expanded from macro 'VMAP_BLOCK_SIZE'
   #define VMAP_BLOCK_SIZE         (VMAP_BBMAP_BITS * PAGE_SIZE)
                                    ^
   mm/vmalloc.c:1784:20: note: expanded from macro 'VMAP_BBMAP_BITS'
                           VMALLOC_PAGES / roundup_pow_of_two(NR_CPUS) / 16))
                                           ^
   include/linux/log2.h:178:12: note: expanded from macro 'roundup_pow_of_two'
                   (1UL << (ilog2((n) - 1) + 1))   \
                            ^
   include/linux/log2.h:159:3: note: expanded from macro 'ilog2'
           ((n) < 2 ? 0 :                  \
            ^
   mm/vmalloc.c:2015:20: note: Assuming the condition is true
           offset = (addr & (VMAP_BLOCK_SIZE - 1)) >> PAGE_SHIFT;
                             ^
   mm/vmalloc.c:1786:27: note: expanded from macro 'VMAP_BLOCK_SIZE'
   #define VMAP_BLOCK_SIZE         (VMAP_BBMAP_BITS * PAGE_SIZE)
                                    ^~~~~~~~~~~~~~~
   mm/vmalloc.c:1782:3: note: expanded from macro 'VMAP_BBMAP_BITS'
                   VMAP_MIN(VMAP_BBMAP_BITS_MAX,   \
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   mm/vmalloc.c:1779:26: note: expanded from macro 'VMAP_MIN'
   #define VMAP_MIN(x, y)          ((x) < (y) ? (x) : (y)) /* can't use min() */
                                    ^~~~~~~~~
   mm/vmalloc.c:2015:20: note: '?' condition is true
           offset = (addr & (VMAP_BLOCK_SIZE - 1)) >> PAGE_SHIFT;
                             ^
   mm/vmalloc.c:1786:27: note: expanded from macro 'VMAP_BLOCK_SIZE'
   #define VMAP_BLOCK_SIZE         (VMAP_BBMAP_BITS * PAGE_SIZE)
                                    ^
   mm/vmalloc.c:1782:3: note: expanded from macro 'VMAP_BBMAP_BITS'
                   VMAP_MIN(VMAP_BBMAP_BITS_MAX,   \
                   ^
   mm/vmalloc.c:1779:26: note: expanded from macro 'VMAP_MIN'
   #define VMAP_MIN(x, y)          ((x) < (y) ? (x) : (y)) /* can't use min() */
                                    ^
   mm/vmalloc.c:2020:2: note: Taking false branch
           if (debug_pagealloc_enabled_static())
           ^
   mm/vmalloc.c:2026:18: note: Assuming '__UNIQUE_ID___x342' is >= '__UNIQUE_ID___y343'
           vb->dirty_min = min(vb->dirty_min, offset);
                           ^
   include/linux/minmax.h:45:19: note: expanded from macro 'min'
   #define min(x, y)       __careful_cmp(x, y, <)
                           ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^~~~~~~~~~
   mm/vmalloc.c:2026:18: note: '?' condition is false
           vb->dirty_min = min(vb->dirty_min, offset);
                           ^
   include/linux/minmax.h:45:19: note: expanded from macro 'min'
   #define min(x, y)       __careful_cmp(x, y, <)
                           ^
   include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                   ^
   include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
                   __cmp(unique_x, unique_y, op); })
                   ^
   include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
   #define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
                            ^
   mm/vmalloc.c:2027:51: note: The result of the left shift is undefined due to shifting by '64', which is greater or equal to the width of type 'unsigned long'
           vb->dirty_max = max(vb->dirty_max, offset + (1UL << order));
                                                            ^
   include/linux/minmax.h:52:36: note: expanded from macro 'max'
   #define max(x, y)       __careful_cmp(x, y, >)
                                            ^
   include/linux/minmax.h:38:17: note: expanded from macro '__careful_cmp'
                   __cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
                                 ^
   include/linux/minmax.h:32:25: note: expanded from macro '__cmp_once'
                   typeof(y) unique_y = (y);               \
                                         ^
   Suppressed 5 warnings (4 in non-user code, 1 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.
   4 warnings generated.
   drivers/iommu/sun50i-iommu.c:511:3: warning: Value stored to 'dte' is never read [clang-analyzer-deadcode.DeadStores]
                   dte = old_dte;
                   ^     ~~~~~~~
   drivers/iommu/sun50i-iommu.c:511:3: note: Value stored to 'dte' is never read
                   dte = old_dte;
                   ^     ~~~~~~~
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
>> drivers/iommu/apple-dart.c:671:22: warning: Value stored to 'res' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct iommu_group *res = ERR_PTR(-EINVAL);
                               ^~~   ~~~~~~~~~~~~~~~~
   drivers/iommu/apple-dart.c:671:22: note: Value stored to 'res' during its initialization is never read
           struct iommu_group *res = ERR_PTR(-EINVAL);
                               ^~~   ~~~~~~~~~~~~~~~~
   Suppressed 3 warnings (3 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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   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.
   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.
   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.
   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.
   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.
   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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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.
   3 warnings generated.
   Suppressed 3 warnings (3 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 +/res +671 drivers/iommu/apple-dart.c

46d1fb072e76b1 Sven Peter 2021-08-03  663  
46d1fb072e76b1 Sven Peter 2021-08-03  664  static struct iommu_group *apple_dart_device_group(struct device *dev)
46d1fb072e76b1 Sven Peter 2021-08-03  665  {
46d1fb072e76b1 Sven Peter 2021-08-03  666  	static DEFINE_MUTEX(lock);
46d1fb072e76b1 Sven Peter 2021-08-03  667  	int i, sid;
46d1fb072e76b1 Sven Peter 2021-08-03  668  	struct apple_dart_master_cfg *cfg = dev_iommu_priv_get(dev);
46d1fb072e76b1 Sven Peter 2021-08-03  669  	struct apple_dart_stream_map *stream_map;
46d1fb072e76b1 Sven Peter 2021-08-03  670  	struct iommu_group *group = NULL;
46d1fb072e76b1 Sven Peter 2021-08-03 @671  	struct iommu_group *res = ERR_PTR(-EINVAL);
46d1fb072e76b1 Sven Peter 2021-08-03  672  
46d1fb072e76b1 Sven Peter 2021-08-03  673  	mutex_lock(&lock);
46d1fb072e76b1 Sven Peter 2021-08-03  674  
46d1fb072e76b1 Sven Peter 2021-08-03  675  	for_each_stream_map(i, cfg, stream_map) {
46d1fb072e76b1 Sven Peter 2021-08-03  676  		for_each_set_bit(sid, &stream_map->sidmap, DART_MAX_STREAMS) {
46d1fb072e76b1 Sven Peter 2021-08-03  677  			struct iommu_group *stream_group =
46d1fb072e76b1 Sven Peter 2021-08-03  678  				stream_map->dart->sid2group[sid];
46d1fb072e76b1 Sven Peter 2021-08-03  679  
46d1fb072e76b1 Sven Peter 2021-08-03  680  			if (group && group != stream_group) {
46d1fb072e76b1 Sven Peter 2021-08-03  681  				res = ERR_PTR(-EINVAL);
46d1fb072e76b1 Sven Peter 2021-08-03  682  				goto out;
46d1fb072e76b1 Sven Peter 2021-08-03  683  			}
46d1fb072e76b1 Sven Peter 2021-08-03  684  
46d1fb072e76b1 Sven Peter 2021-08-03  685  			group = stream_group;
46d1fb072e76b1 Sven Peter 2021-08-03  686  		}
46d1fb072e76b1 Sven Peter 2021-08-03  687  	}
46d1fb072e76b1 Sven Peter 2021-08-03  688  
46d1fb072e76b1 Sven Peter 2021-08-03  689  	if (group) {
46d1fb072e76b1 Sven Peter 2021-08-03  690  		res = iommu_group_ref_get(group);
46d1fb072e76b1 Sven Peter 2021-08-03  691  		goto out;
46d1fb072e76b1 Sven Peter 2021-08-03  692  	}
46d1fb072e76b1 Sven Peter 2021-08-03  693  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-02-20 23:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-20 23:06 drivers/iommu/apple-dart.c:671:22: warning: Value stored to 'res' during its initialization is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2022-01-16  8:51 kernel test robot
2021-12-12  4:44 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.