From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [hch-block:freeze-5.18 5/12] drivers/scsi/sr.c:486:23: warning: Although the value stored to 'cd' is used in the enclosing expression, the value is never actually read from 'cd' [clang-analyzer-deadcode.DeadStores]
Date: Tue, 22 Feb 2022 22:40:00 +0800 [thread overview]
Message-ID: <202202222219.UaX3FsHz-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 15819 bytes --]
CC: kbuild-all(a)lists.01.org
TO: Christoph Hellwig <hch@lst.de>
tree: git://git.infradead.org/users/hch/block.git freeze-5.18
head: 160aadf96a0cc9afd4b49f9a097e23494f7f33b6
commit: 511f348c57ee61fe305de34c2860a6663175c3cc [5/12] sr: implement ->free_disk
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
config: i386-randconfig-c001 (https://download.01.org/0day-ci/archive/20220222/202202222219.UaX3FsHz-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
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
git remote add hch-block git://git.infradead.org/users/hch/block.git
git fetch --no-tags hch-block freeze-5.18
git checkout 511f348c57ee61fe305de34c2860a6663175c3cc
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 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 >>)
drivers/base/cacheinfo.c:241:3: note: Taking false branch
if (!cpumask_empty(&this_leaf->shared_cpu_map))
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/base/cacheinfo.c:245:3: note: Loop condition is true. Entering loop body
for_each_online_cpu(i) {
^
include/linux/cpumask.h:815:36: note: expanded from macro 'for_each_online_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^
include/linux/cpumask.h:190:2: note: expanded from macro 'for_each_cpu'
for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
^
drivers/base/cacheinfo.c:248:8: note: 'i' is not equal to 'cpu'
if (i == cpu || !sib_cpu_ci->info_list)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
drivers/base/cacheinfo.c:248:8: note: Left side of '||' is false
if (i == cpu || !sib_cpu_ci->info_list)
^
drivers/base/cacheinfo.c:248:20: note: Assuming field 'info_list' is null
if (i == cpu || !sib_cpu_ci->info_list)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
drivers/base/cacheinfo.c:248:4: note: '?' condition is false
if (i == cpu || !sib_cpu_ci->info_list)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
drivers/base/cacheinfo.c:248:8: note: 'i' is not equal to 'cpu'
if (i == cpu || !sib_cpu_ci->info_list)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
drivers/base/cacheinfo.c:248:8: note: Left side of '||' is false
if (i == cpu || !sib_cpu_ci->info_list)
^
drivers/base/cacheinfo.c:248:4: note: '?' condition is true
if (i == cpu || !sib_cpu_ci->info_list)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
^
drivers/base/cacheinfo.c:248:4: note: Taking true branch
if (i == cpu || !sib_cpu_ci->info_list)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/base/cacheinfo.c:249:5: note: Execution continues on line 245
continue;/* skip if itself or no cacheinfo */
^
drivers/base/cacheinfo.c:245:3: note: Loop condition is false. Execution continues on line 257
for_each_online_cpu(i) {
^
include/linux/cpumask.h:815:36: note: expanded from macro 'for_each_online_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^
include/linux/cpumask.h:190:2: note: expanded from macro 'for_each_cpu'
for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask)
^
drivers/base/cacheinfo.c:257:7: note: Access to field 'coherency_line_size' results in a dereference of a null pointer (loaded from variable 'this_leaf')
if (this_leaf->coherency_line_size > coherency_max_size)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
1 warning generated.
>> drivers/scsi/sr.c:486:23: warning: Although the value stored to 'cd' is used in the enclosing expression, the value is never actually read from 'cd' [clang-analyzer-deadcode.DeadStores]
struct scsi_cd *cd = cd = scsi_cd(bdev->bd_disk);
^ ~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/sr.c:486:23: note: Although the value stored to 'cd' is used in the enclosing expression, the value is never actually read from 'cd'
struct scsi_cd *cd = cd = scsi_cd(bdev->bd_disk);
^ ~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
drivers/nvme/host/core.c:3957:3: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]
nvme_put_ns(ns);
^
drivers/nvme/host/core.c:4147:6: note: Assuming field 'state' is equal to NVME_CTRL_LIVE
if (ctrl->state != NVME_CTRL_LIVE || !ctrl->tagset)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
drivers/nvme/host/core.c:4147:6: note: Left side of '||' is false
if (ctrl->state != NVME_CTRL_LIVE || !ctrl->tagset)
^
drivers/nvme/host/core.c:4147:39: note: Assuming field 'tagset' is non-null
if (ctrl->state != NVME_CTRL_LIVE || !ctrl->tagset)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
drivers/nvme/host/core.c:4147:2: note: '?' condition is false
if (ctrl->state != NVME_CTRL_LIVE || !ctrl->tagset)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
drivers/nvme/host/core.c:4147:12: note: Field 'state' is equal to NVME_CTRL_LIVE
if (ctrl->state != NVME_CTRL_LIVE || !ctrl->tagset)
^
drivers/nvme/host/core.c:4147:6: note: Left side of '||' is false
if (ctrl->state != NVME_CTRL_LIVE || !ctrl->tagset)
^
drivers/nvme/host/core.c:4147:46: note: Field 'tagset' is non-null
if (ctrl->state != NVME_CTRL_LIVE || !ctrl->tagset)
^
drivers/nvme/host/core.c:4147:2: note: '?' condition is false
if (ctrl->state != NVME_CTRL_LIVE || !ctrl->tagset)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
^
drivers/nvme/host/core.c:4147:2: note: Taking false branch
if (ctrl->state != NVME_CTRL_LIVE || !ctrl->tagset)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/nvme/host/core.c:4150:2: note: '?' condition is false
if (test_and_clear_bit(NVME_AER_NOTICE_NS_CHANGED, &ctrl->events)) {
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
drivers/nvme/host/core.c:4150:2: note: Assuming the condition is false
if (test_and_clear_bit(NVME_AER_NOTICE_NS_CHANGED, &ctrl->events)) {
^
include/linux/compiler.h:56:44: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
~~~~~~~~~~~~~~~~~^~~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
drivers/nvme/host/core.c:4150:2: note: '?' condition is false
if (test_and_clear_bit(NVME_AER_NOTICE_NS_CHANGED, &ctrl->events)) {
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
^
drivers/nvme/host/core.c:4150:2: note: Taking false branch
vim +486 drivers/scsi/sr.c
38a2b557e23874 Christoph Hellwig 2020-09-08 483
40cc51be699e37 Al Viro 2008-03-02 484 static int sr_block_open(struct block_device *bdev, fmode_t mode)
^1da177e4c3f41 Linus Torvalds 2005-04-16 485 {
511f348c57ee61 Christoph Hellwig 2022-02-18 @486 struct scsi_cd *cd = cd = scsi_cd(bdev->bd_disk);
511f348c57ee61 Christoph Hellwig 2022-02-18 487 struct scsi_device *sdev = cd->device;
40cc51be699e37 Al Viro 2008-03-02 488 int ret = -ENXIO;
^1da177e4c3f41 Linus Torvalds 2005-04-16 489
511f348c57ee61 Christoph Hellwig 2022-02-18 490 if (scsi_device_get(cd->device))
511f348c57ee61 Christoph Hellwig 2022-02-18 491 return -ENXIO;
1214fd7b497400 Bart Van Assche 2018-08-02 492
1214fd7b497400 Bart Van Assche 2018-08-02 493 scsi_autopm_get_device(sdev);
afd35c4f573d7e Christoph Hellwig 2020-09-08 494 if (bdev_check_media_change(bdev))
38a2b557e23874 Christoph Hellwig 2020-09-08 495 sr_revalidate_disk(cd);
2bbea6e117357d Maurizio Lombardi 2018-03-09 496
51a858817dcdbb Merlijn Wajer 2020-02-18 497 mutex_lock(&cd->lock);
40cc51be699e37 Al Viro 2008-03-02 498 ret = cdrom_open(&cd->cdi, bdev, mode);
51a858817dcdbb Merlijn Wajer 2020-02-18 499 mutex_unlock(&cd->lock);
1214fd7b497400 Bart Van Assche 2018-08-02 500
1214fd7b497400 Bart Van Assche 2018-08-02 501 scsi_autopm_put_device(sdev);
40cc51be699e37 Al Viro 2008-03-02 502 if (ret)
511f348c57ee61 Christoph Hellwig 2022-02-18 503 scsi_device_put(cd->device);
^1da177e4c3f41 Linus Torvalds 2005-04-16 504 return ret;
^1da177e4c3f41 Linus Torvalds 2005-04-16 505 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 506
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
reply other threads:[~2022-02-22 14:40 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202202222219.UaX3FsHz-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.