* drivers/usb/serial/io_ti.c:298:6: warning: Value stored to 'port_number' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-03-27 7:16 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-03-27 7:16 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 15858 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Johan Hovold <johan@kernel.org>
CC: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f022814633e1c600507b3a99691b4d624c2813f0
commit: 7a14fac0c94472ad2d11ac14cefbeab5bf98e303 USB: serial: io_ti: add send-port-command helper
date: 12 months ago
:::::: branch date: 9 hours ago
:::::: commit date: 12 months ago
config: arm-randconfig-c002-20220324 (https://download.01.org/0day-ci/archive/20220327/202203271536.AMXvdswe-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 902f4708fe1d03b0de7e5315ef875006a6adc319)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7a14fac0c94472ad2d11ac14cefbeab5bf98e303
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 7a14fac0c94472ad2d11ac14cefbeab5bf98e303
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
if (verbose) { \
^
kernel/locking/locktorture.c:925:4: note: Loop condition is false. Exiting loop
VERBOSE_TOROUT_STRING("cxt.lwsa: Out of memory");
^
include/linux/torture.h:34:34: note: expanded from macro 'VERBOSE_TOROUT_STRING'
#define VERBOSE_TOROUT_STRING(s) \
^
kernel/locking/locktorture.c:927:4: note: Control jumps to line 1058
goto unwind;
^
kernel/locking/locktorture.c:1059:2: note: Calling 'lock_torture_cleanup'
lock_torture_cleanup();
^~~~~~~~~~~~~~~~~~~~~~
kernel/locking/locktorture.c:794:6: note: Assuming the condition is false
if (torture_cleanup_begin())
^~~~~~~~~~~~~~~~~~~~~~~
kernel/locking/locktorture.c:794:2: note: Taking false branch
if (torture_cleanup_begin())
^
kernel/locking/locktorture.c:804:6: note: Assuming field 'lwsa' is non-null
if (!cxt.lwsa && !cxt.lrsa)
^~~~~~~~~
kernel/locking/locktorture.c:804:16: note: Left side of '&&' is false
if (!cxt.lwsa && !cxt.lrsa)
^
kernel/locking/locktorture.c:807:6: note: Assuming 'writer_tasks' is null
if (writer_tasks) {
^~~~~~~~~~~~
kernel/locking/locktorture.c:807:2: note: Taking false branch
if (writer_tasks) {
^
kernel/locking/locktorture.c:815:6: note: Assuming 'reader_tasks' is null
if (reader_tasks) {
^~~~~~~~~~~~
kernel/locking/locktorture.c:815:2: note: Taking false branch
if (reader_tasks) {
^
kernel/locking/locktorture.c:824:2: note: Calling 'lock_torture_stats_print'
lock_torture_stats_print(); /* -After- the stats thread is stopped! */
^~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/locking/locktorture.c:731:6: note: Assuming field 'readlock' is null
if (cxt.cur_ops->readlock)
^~~~~~~~~~~~~~~~~~~~~
kernel/locking/locktorture.c:731:2: note: Taking false branch
if (cxt.cur_ops->readlock)
^
kernel/locking/locktorture.c:734:8: note: Calling 'kmalloc'
buf = kmalloc(size, GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:542:2: note: Taking false branch
if (__builtin_constant_p(size)) {
^
include/linux/slab.h:559:9: note: Value assigned to 'cxt.lwsa'
return __kmalloc(size, flags);
^~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:559:2: note: Returning pointer, which participates in a condition later
return __kmalloc(size, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/locking/locktorture.c:734:8: note: Returning from 'kmalloc'
buf = kmalloc(size, GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/locking/locktorture.c:735:6: note: Assuming 'buf' is non-null
if (!buf) {
^~~~
kernel/locking/locktorture.c:735:2: note: Taking false branch
if (!buf) {
^
kernel/locking/locktorture.c:741:29: note: Passing value via 2nd parameter 'statp'
__torture_print_stats(buf, cxt.lwsa, true);
^~~~~~~~
kernel/locking/locktorture.c:741:2: note: Calling '__torture_print_stats'
__torture_print_stats(buf, cxt.lwsa, true);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/locking/locktorture.c:695:22: note: Assuming 'statp' is null
long max = 0, min = statp ? statp[0].n_lock_acquired : 0;
^~~~~
kernel/locking/locktorture.c:695:22: note: '?' condition is false
kernel/locking/locktorture.c:698:13: note: 'write' is true
n_stress = write ? cxt.nrealwriters_stress : cxt.nrealreaders_stress;
^~~~~
kernel/locking/locktorture.c:698:13: note: '?' condition is true
kernel/locking/locktorture.c:699:14: note: Assuming 'i' is < 'n_stress'
for (i = 0; i < n_stress; i++) {
^~~~~~~~~~~~
kernel/locking/locktorture.c:699:2: note: Loop condition is true. Entering loop body
for (i = 0; i < n_stress; i++) {
^
kernel/locking/locktorture.c:700:7: note: Dereference of null pointer
if (statp[i].n_lock_fail)
^~~~~~~~~~~~~~~~~~~~
kernel/locking/locktorture.c:708:2: warning: Value stored to 'page' is never read [clang-analyzer-deadcode.DeadStores]
page += sprintf(page,
^ ~~~~~~~~~~~~~
kernel/locking/locktorture.c:708:2: note: Value stored to 'page' is never read
page += sprintf(page,
^ ~~~~~~~~~~~~~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
>> drivers/usb/serial/io_ti.c:298:6: warning: Value stored to 'port_number' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
int port_number = port->port_number;
^~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:298:6: note: Value stored to 'port_number' during its initialization is never read
int port_number = port->port_number;
^~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:749:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = &serial->serial->dev->dev;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:749:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = &serial->serial->dev->dev;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:772:2: warning: Value stored to 'desc' is never read [clang-analyzer-deadcode.DeadStores]
desc = (struct edge_ti_manuf_descriptor *)buffer;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:772:2: note: Value stored to 'desc' is never read
desc = (struct edge_ti_manuf_descriptor *)buffer;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:856:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = &serial->serial->dev->dev;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:856:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = &serial->serial->dev->dev;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:1230:4: warning: Value stored to 'status' is never read [clang-analyzer-deadcode.DeadStores]
status = ti_vsend_sync(serial->serial->dev,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:1230:4: note: Value stored to 'status' is never read
status = ti_vsend_sync(serial->serial->dev,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:1372:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = &serial->serial->interface->dev;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:1372:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = &serial->serial->interface->dev;
^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:1375:26: warning: Value stored to 'fw_hdr' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct edgeport_fw_hdr *fw_hdr = (struct edgeport_fw_hdr *)fw->data;
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:1375:26: note: Value stored to 'fw_hdr' during its initialization is never read
struct edgeport_fw_hdr *fw_hdr = (struct edgeport_fw_hdr *)fw->data;
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:1744:2: warning: Value stored to 'port_number' is never read [clang-analyzer-deadcode.DeadStores]
port_number = edge_port->port->port_number;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:1744:2: note: Value stored to 'port_number' is never read
port_number = edge_port->port->port_number;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:2210:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = &edge_port->port->dev;
^~~ ~~~~~~~~~~~~~~~~~~~~~
drivers/usb/serial/io_ti.c:2210:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = &edge_port->port->dev;
^~~ ~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
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.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
drivers/w1/slaves/w1_ds2438.c:60:3: warning: Value stored to 'crc' is never read [clang-analyzer-deadcode.DeadStores]
crc = 0;
^ ~
drivers/w1/slaves/w1_ds2438.c:60:3: note: Value stored to 'crc' is never read
crc = 0;
^ ~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
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.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
vim +/port_number +298 drivers/usb/serial/io_ti.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 294
^1da177e4c3f415 Linus Torvalds 2005-04-16 295 /* clear tx/rx buffers and fifo in TI UMP */
2742fd889932834 Alan Cox 2008-04-29 296 static int purge_port(struct usb_serial_port *port, __u16 mask)
^1da177e4c3f415 Linus Torvalds 2005-04-16 297 {
1143832eca8f1d6 Greg Kroah-Hartman 2013-06-06 @298 int port_number = port->port_number;
^1da177e4c3f415 Linus Torvalds 2005-04-16 299
67e6da702753dac Greg Kroah-Hartman 2012-09-14 300 dev_dbg(&port->dev, "%s - port %d, mask %x\n", __func__, port_number, mask);
^1da177e4c3f415 Linus Torvalds 2005-04-16 301
7a14fac0c94472a Johan Hovold 2021-04-12 302 return send_port_cmd(port, UMPC_PURGE_PORT, mask, NULL, 0);
^1da177e4c3f415 Linus Torvalds 2005-04-16 303 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 304
:::::: The code at line 298 was first introduced by commit
:::::: 1143832eca8f1d64da7d85642c956ae9d25c69e1 USB: serial: ports: add minor and port number
:::::: TO: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
:::::: CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-03-27 7:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-27 7:16 drivers/usb/serial/io_ti.c:298:6: warning: Value stored to 'port_number' during its initialization is never read [clang-analyzer-deadcode.DeadStores] 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.