From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [jirislaby:devel 31/34] drivers/tty/mxser.c:766:21: warning: Value stored to 'info' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
Date: Fri, 28 Jan 2022 02:37:46 +0800 [thread overview]
Message-ID: <202201280214.fMsRnqXU-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 20369 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Jiri Slaby <jslaby@suse.cz>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git devel
head: 7532b9db97a43f18170870ff0363a6839d575ed1
commit: 7960954c3082123b48b212c32cab0c85bd551411 [31/34] mxser: switch to uart_driver
:::::: branch date: 31 hours ago
:::::: commit date: 33 hours ago
config: x86_64-randconfig-c007-20220124 (https://download.01.org/0day-ci/archive/20220128/202201280214.fMsRnqXU-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f400a6012c668dfaa73462caf067ceb074e66c47)
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
# https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git/commit/?id=7960954c3082123b48b212c32cab0c85bd551411
git remote add jirislaby https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git
git fetch --no-tags jirislaby devel
git checkout 7960954c3082123b48b212c32cab0c85bd551411
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 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/swnode.c:577:26: note: '?' condition is true
struct swnode *swnode = to_swnode(fwnode);
^
drivers/base/swnode.c:49:3: note: expanded from macro 'to_swnode'
is_software_node(__to_swnode_fwnode) ? \
^
drivers/base/swnode.c:581:7: note: 'swnode' is non-null
if (!swnode)
^~~~~~
drivers/base/swnode.c:581:2: note: Taking false branch
if (!swnode)
^
drivers/base/swnode.c:584:6: note: Assuming 'endpoint' is null
if (endpoint) {
^~~~~~~~
drivers/base/swnode.c:584:2: note: Taking false branch
if (endpoint) {
^
drivers/base/swnode.c:589:7: note: Assuming 'parent' is null
if (!parent)
^~~~~~~
drivers/base/swnode.c:589:3: note: Taking true branch
if (!parent)
^
drivers/base/swnode.c:592:10: note: Calling 'swnode_graph_find_next_port'
port = swnode_graph_find_next_port(parent, NULL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/base/swnode.c:559:2: note: Loop condition is true. Entering loop body
while ((port = software_node_get_next_child(parent, old))) {
^
drivers/base/swnode.c:564:16: note: '?' condition is false
if (!strncmp(to_swnode(port)->node->name, "port@",
^
drivers/base/swnode.c:49:3: note: expanded from macro 'to_swnode'
is_software_node(__to_swnode_fwnode) ? \
^
drivers/base/swnode.c:564:16: note: Access to field 'node' results in a dereference of a null pointer
if (!strncmp(to_swnode(port)->node->name, "port@",
^
drivers/base/swnode.c:46:2: note: expanded from macro 'to_swnode'
({ \
^
drivers/base/swnode.c:1110:29: warning: Access to field 'managed' results in a dereference of a null pointer [clang-analyzer-core.NullDereference]
to_swnode(fwnode)->managed = true;
^
drivers/base/swnode.c:1103:6: note: Assuming 'parent' is null
if (parent && !p)
^~~~~~
drivers/base/swnode.c:1103:13: note: Left side of '&&' is false
if (parent && !p)
^
drivers/base/swnode.c:1107:6: note: Calling 'IS_ERR'
if (IS_ERR(fwnode))
^~~~~~~~~~~~~~
include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
return IS_ERR_VALUE((unsigned long)ptr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/base/swnode.c:1107:6: note: Returning from 'IS_ERR'
if (IS_ERR(fwnode))
^~~~~~~~~~~~~~
drivers/base/swnode.c:1107:2: note: Taking false branch
if (IS_ERR(fwnode))
^
drivers/base/swnode.c:1110:2: note: '?' condition is false
to_swnode(fwnode)->managed = true;
^
drivers/base/swnode.c:49:3: note: expanded from macro 'to_swnode'
is_software_node(__to_swnode_fwnode) ? \
^
drivers/base/swnode.c:1110:29: note: Access to field 'managed' results in a dereference of a null pointer
to_swnode(fwnode)->managed = true;
^
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 (1 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.
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.
5 warnings generated.
drivers/tty/mxser.c:396:7: warning: Although the value stored to 'hwid' is used in the enclosing expression, the value is never actually read from 'hwid' [clang-analyzer-deadcode.DeadStores]
if ((hwid = inb(io + UART_MCR)) != 0) {
^
drivers/tty/mxser.c:396:7: note: Although the value stored to 'hwid' is used in the enclosing expression, the value is never actually read from 'hwid'
>> drivers/tty/mxser.c:766:21: warning: Value stored to 'info' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct mxser_port *info = to_mport(uport);
^~~~ ~~~~~~~~~~~~~~~
drivers/tty/mxser.c:766:21: note: Value stored to 'info' during its initialization is never read
struct mxser_port *info = to_mport(uport);
^~~~ ~~~~~~~~~~~~~~~
drivers/tty/mxser.c:854:21: warning: Value stored to 'info' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct mxser_port *info = to_mport(uport);
^~~~ ~~~~~~~~~~~~~~~
drivers/tty/mxser.c:854:21: note: Value stored to 'info' during its initialization is never read
struct mxser_port *info = to_mport(uport);
^~~~ ~~~~~~~~~~~~~~~
>> drivers/tty/mxser.c:1693:4: warning: Value stored to 'int_cnt' is never read [clang-analyzer-deadcode.DeadStores]
int_cnt = 0;
^ ~
drivers/tty/mxser.c:1693:4: note: Value stored to 'int_cnt' is never read
int_cnt = 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.
9 warnings generated.
fs/btrfs/extent-tree.c:1124:13: warning: Dereference of null pointer (loaded from variable 'last_ref') [clang-analyzer-core.NullDereference]
*last_ref = 1;
^
fs/btrfs/extent-tree.c:1469:6: note: Assuming 'path' is non-null
if (!path)
^~~~~
fs/btrfs/extent-tree.c:1469:2: note: Taking false branch
if (!path)
^
fs/btrfs/extent-tree.c:1473:8: note: Calling 'insert_inline_extent_backref'
ret = insert_inline_extent_backref(trans, path, bytenr, num_bytes,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/btrfs/extent-tree.c:1152:6: note: Assuming 'ret' is equal to 0
if (ret == 0) {
^~~~~~~~
fs/btrfs/extent-tree.c:1152:2: note: Taking true branch
if (ret == 0) {
^
fs/btrfs/extent-tree.c:1157:7: note: Assuming 'owner' is >= BTRFS_FIRST_FREE_OBJECTID
if (owner < BTRFS_FIRST_FREE_OBJECTID) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/btrfs/extent-tree.c:1157:3: note: Taking false branch
if (owner < BTRFS_FIRST_FREE_OBJECTID) {
^
fs/btrfs/extent-tree.c:1170:22: note: Passing null pointer value via 5th parameter 'last_ref'
extent_op, NULL);
^
include/linux/stddef.h:8:14: note: expanded from macro 'NULL'
#define NULL ((void *)0)
^~~~~~~~~~~
fs/btrfs/extent-tree.c:1169:3: note: Calling 'update_inline_extent_backref'
update_inline_extent_backref(path, iref, refs_to_add,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/btrfs/extent-tree.c:1091:10: note: Assuming 'refs_to_mod' is < 0
WARN_ON(refs_to_mod < 0 && refs + refs_to_mod <= 0);
^
include/asm-generic/bug.h:121:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
fs/btrfs/extent-tree.c:1091:10: note: Left side of '&&' is true
WARN_ON(refs_to_mod < 0 && refs + refs_to_mod <= 0);
^
fs/btrfs/extent-tree.c:1091:29: note: Assuming the condition is false
WARN_ON(refs_to_mod < 0 && refs + refs_to_mod <= 0);
^
include/asm-generic/bug.h:121:25: note: expanded from macro 'WARN_ON'
int __ret_warn_on = !!(condition); \
^~~~~~~~~
fs/btrfs/extent-tree.c:1091:2: note: Taking false branch
WARN_ON(refs_to_mod < 0 && refs + refs_to_mod <= 0);
^
include/asm-generic/bug.h:122:2: note: expanded from macro 'WARN_ON'
if (unlikely(__ret_warn_on)) \
^
fs/btrfs/extent-tree.c:1094:6: note: Assuming 'extent_op' is null
if (extent_op)
^~~~~~~~~
fs/btrfs/extent-tree.c:1094:2: note: Taking false branch
if (extent_op)
^
fs/btrfs/extent-tree.c:1102:9: note: Assuming 'type' is equal to BTRFS_REF_TYPE_INVALID
ASSERT(type != BTRFS_REF_TYPE_INVALID);
^
fs/btrfs/ctree.h:3496:29: note: expanded from macro 'ASSERT'
#define ASSERT(expr) (void)(expr)
^~~~
fs/btrfs/extent-tree.c:1104:6: note: 'type' is not equal to BTRFS_EXTENT_DATA_REF_KEY
if (type == BTRFS_EXTENT_DATA_REF_KEY) {
^~~~
fs/btrfs/extent-tree.c:1104:2: note: Taking false branch
if (type == BTRFS_EXTENT_DATA_REF_KEY) {
^
fs/btrfs/extent-tree.c:1107:13: note: 'type' is not equal to BTRFS_SHARED_DATA_REF_KEY
} else if (type == BTRFS_SHARED_DATA_REF_KEY) {
^~~~
fs/btrfs/extent-tree.c:1107:9: note: Taking false branch
} else if (type == BTRFS_SHARED_DATA_REF_KEY) {
^
fs/btrfs/extent-tree.c:1112:10: note: Assuming the condition is false
BUG_ON(refs_to_mod != -1);
^
include/asm-generic/bug.h:65:45: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^~~~~~~~~
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
fs/btrfs/extent-tree.c:1112:3: note: Taking false branch
BUG_ON(refs_to_mod != -1);
^
include/asm-generic/bug.h:65:32: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
vim +/info +766 drivers/tty/mxser.c
ee7e5e66f2d4fa drivers/tty/mxser.c Jiri Slaby 2021-09-22 763
7960954c308212 drivers/tty/mxser.c Jiri Slaby 2021-12-01 764 static int mxser_startup(struct uart_port *uport)
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 765 {
7960954c308212 drivers/tty/mxser.c Jiri Slaby 2021-12-01 @766 struct mxser_port *info = to_mport(uport);
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 767 unsigned long flags;
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 768
7960954c308212 drivers/tty/mxser.c Jiri Slaby 2021-12-01 769 BUG_ON("we use kfifo");
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 770
135900fa3f9910 drivers/tty/mxser.c Jiri Slaby 2021-12-10 771 spin_lock_irqsave(&uport->lock, flags);
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 772
67fa137c2b9fbd drivers/tty/mxser.c Jiri Slaby 2021-12-10 773 if (!uport->type) {
135900fa3f9910 drivers/tty/mxser.c Jiri Slaby 2021-12-10 774 spin_unlock_irqrestore(&uport->lock, flags);
7960954c308212 drivers/tty/mxser.c Jiri Slaby 2021-12-01 775 return -EINVAL;
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 776 }
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 777
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 778 /*
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 779 * Clear the FIFO buffers and disable them
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 780 * (they will be reenabled in mxser_change_speed())
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 781 */
ee7e5e66f2d4fa drivers/tty/mxser.c Jiri Slaby 2021-09-22 782 mxser_disable_and_clear_FIFO(info);
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 783
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 784 /*
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 785 * At this point there's no way the LSR could still be 0xFF;
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 786 * if it is, then bail out, because there's likely no UART
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 787 * here.
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 788 */
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 789 if (inb(uport->iobase + UART_LSR) == 0xff) {
135900fa3f9910 drivers/tty/mxser.c Jiri Slaby 2021-12-10 790 spin_unlock_irqrestore(&uport->lock, flags);
7960954c308212 drivers/tty/mxser.c Jiri Slaby 2021-12-01 791 return -ENODEV;
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 792 }
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 793
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 794 /*
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 795 * Clear the interrupt registers.
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 796 */
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 797 (void) inb(uport->iobase + UART_LSR);
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 798 (void) inb(uport->iobase + UART_RX);
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 799 (void) inb(uport->iobase + UART_IIR);
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 800 (void) inb(uport->iobase + UART_MSR);
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 801
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 802 /*
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 803 * Now, initialize the UART
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 804 */
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 805 outb(UART_LCR_WLEN8, uport->iobase + UART_LCR); /* reset DLAB */
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 806 info->MCR = UART_MCR_DTR | UART_MCR_RTS;
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 807 outb(info->MCR, uport->iobase + UART_MCR);
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 808
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 809 /*
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 810 * Finally, enable interrupts
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 811 */
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 812 info->IER = UART_IER_MSI | UART_IER_RLSI | UART_IER_RDI;
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 813
292955a7c011e2 drivers/tty/mxser.c Jiri Slaby 2021-06-18 814 if (info->board->must_hwid)
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 815 info->IER |= MOXA_MUST_IER_EGDAI;
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 816 outb(info->IER, uport->iobase + UART_IER); /* enable interrupts */
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 817
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 818 /*
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 819 * And clear the interrupt registers again for luck.
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 820 */
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 821 (void) inb(uport->iobase + UART_LSR);
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 822 (void) inb(uport->iobase + UART_RX);
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 823 (void) inb(uport->iobase + UART_IIR);
ec197f1fd0d68f drivers/tty/mxser.c Jiri Slaby 2021-12-10 824 (void) inb(uport->iobase + UART_MSR);
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 825
7960954c308212 drivers/tty/mxser.c Jiri Slaby 2021-12-01 826 //kfifo_reset(&port->xmit_fifo);
7960954c308212 drivers/tty/mxser.c Jiri Slaby 2021-12-01 827 BUG_ON("kfifo_reset");
135900fa3f9910 drivers/tty/mxser.c Jiri Slaby 2021-12-10 828 spin_unlock_irqrestore(&uport->lock, flags);
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 829
1c45607ad3eb73 drivers/char/mxser.c Jiri Slaby 2008-02-07 830 return 0;
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 831 }
^1da177e4c3f41 drivers/char/mxser.c Linus Torvalds 2005-04-16 832
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
reply other threads:[~2022-01-27 18:37 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=202201280214.fMsRnqXU-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.