From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/dma/lgm/lgm-dma.c:854:2: warning: Value stored to 'reg' is never read [clang-analyzer-deadcode.DeadStores]
Date: Sun, 21 Nov 2021 09:24:15 +0800 [thread overview]
Message-ID: <202111210904.ruk8RHf3-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 16686 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Amireddy Mallikarjuna reddy <mallikarjunax.reddy@linux.intel.com>
CC: Vinod Koul <vkoul@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 61564e7b3abcb67d57b09afdb4b14b85f8bc1976
commit: 32d31c79a1a4fbc48aab594a4dc9ffa087ab59a3 dmaengine: Add Intel LGM SoC DMA support.
date: 10 months ago
:::::: branch date: 6 hours ago
:::::: commit date: 10 months ago
config: x86_64-randconfig-c007-20211117 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 4c2cf3a314d9131b1b288e7c8ab0c75ac1b2be1d)
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/torvalds/linux.git/commit/?id=32d31c79a1a4fbc48aab594a4dc9ffa087ab59a3
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 32d31c79a1a4fbc48aab594a4dc9ffa087ab59a3
# save the attached .config 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 >>)
include/linux/compiler_types.h:304:2: note: expanded from macro '__compiletime_assert'
do { \
^
net/socket.c:2859:6: note: Assuming the condition is false
if (len > sizeof(a))
^~~~~~~~~~~~~~~
net/socket.c:2859:2: note: Taking false branch
if (len > sizeof(a))
^
net/socket.c:2863:6: note: Assuming the condition is false
if (copy_from_user(a, args, len))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/socket.c:2863:2: note: Taking false branch
if (copy_from_user(a, args, len))
^
net/socket.c:2867:6: note: 'err' is 0
if (err)
^~~
net/socket.c:2867:2: note: Taking false branch
if (err)
^
net/socket.c:2873:2: note: Control jumps to 'case 17:' at line 2940
switch (call) {
^
net/socket.c:2941:9: note: Calling '__sys_recvmsg'
err = __sys_recvmsg(a0, (struct user_msghdr __user *)a1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/socket.c:2639:6: note: 'forbid_cmsg_compat' is true
if (forbid_cmsg_compat && (flags & MSG_CMSG_COMPAT))
^~~~~~~~~~~~~~~~~~
net/socket.c:2639:6: note: Left side of '&&' is true
net/socket.c:2639:2: note: Taking false branch
if (forbid_cmsg_compat && (flags & MSG_CMSG_COMPAT))
^
net/socket.c:2643:7: note: 'sock' is non-null
if (!sock)
^~~~
net/socket.c:2643:2: note: Taking false branch
if (!sock)
^
net/socket.c:2646:8: note: Calling '___sys_recvmsg'
err = ___sys_recvmsg(sock, msg, &msg_sys, flags, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/socket.c:2607:6: note: 'err' is >= 0
if (err < 0)
^~~
net/socket.c:2607:2: note: Taking false branch
if (err < 0)
^
net/socket.c:2611:2: note: Argument to kfree() is the address of the local variable 'iovstack', which is not memory allocated by malloc()
kfree(iov);
^ ~~~
net/socket.c:2695:2: warning: Value stored to 'compat_entry' is never read [clang-analyzer-deadcode.DeadStores]
compat_entry = (struct compat_mmsghdr __user *)mmsg;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/socket.c:2695:2: note: Value stored to 'compat_entry' is never read
compat_entry = (struct compat_mmsghdr __user *)mmsg;
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/socket.c:3561:18: warning: Access to field 'ops' results in a dereference of a null pointer [clang-analyzer-core.NullDereference]
(*newsock)->ops = sock->ops;
~~~~~~~~~~~~~~~~^~~~~~~~~~~
net/socket.c:3549:8: note: Calling 'sock_create_lite'
err = sock_create_lite(sk->sk_family, sk->sk_type, sk->sk_protocol,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/socket.c:1199:2: note: 'sock' initialized to a null pointer value
struct socket *sock = NULL;
^~~~~~~~~~~~~~~~~~~
net/socket.c:1202:6: note: Assuming 'err' is not equal to 0
if (err)
^~~
net/socket.c:1202:2: note: Taking true branch
if (err)
^
net/socket.c:1203:3: note: Control jumps to line 1217
goto out;
^
net/socket.c:1217:2: note: Storing null pointer value
*res = sock;
^~~~~~~~~~~
net/socket.c:3549:8: note: Returning from 'sock_create_lite'
err = sock_create_lite(sk->sk_family, sk->sk_type, sk->sk_protocol,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/socket.c:3551:6: note: Assuming 'err' is >= 0
if (err < 0)
^~~~~~~
net/socket.c:3551:2: note: Taking false branch
if (err < 0)
^
net/socket.c:3555:6: note: Assuming 'err' is >= 0
if (err < 0) {
^~~~~~~
net/socket.c:3555:2: note: Taking false branch
if (err < 0) {
^
net/socket.c:3561:18: note: Access to field 'ops' results in a dereference of a null pointer
(*newsock)->ops = sock->ops;
~~~~~~~~~~~~~~~~^~~~~~~~~~~
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.
2 warnings generated.
>> drivers/dma/lgm/lgm-dma.c:854:2: warning: Value stored to 'reg' is never read [clang-analyzer-deadcode.DeadStores]
reg = readl(d->base + DMA_PCTRL); /* read back */
^
drivers/dma/lgm/lgm-dma.c:854:2: note: Value stored to 'reg' is never read
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.
3 warnings generated.
Suppressed 3 warnings (3 with check filters).
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.
4 warnings generated.
drivers/iio/frequency/adf4350.c:33:8: warning: Excessive padding in 'struct adf4350_state' (100 padding bytes, where 36 is optimal).
Optimal fields order:
val,
r0_fract,
spi,
reg,
lock_detect_gpiod,
pdata,
clk,
clkin,
chspc,
fpfd,
min_out_freq,
freq_req,
regs,
regs_hw,
lock,
r0_int,
r1_mod,
r4_rf_div_sel,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct adf4350_state {
~~~~~~~^~~~~~~~~~~~~~~
drivers/iio/frequency/adf4350.c:33:8: note: Excessive padding in 'struct adf4350_state' (100 padding bytes, where 36 is optimal). Optimal fields order: val, r0_fract, spi, reg, lock_detect_gpiod, pdata, clk, clkin, chspc, fpfd, min_out_freq, freq_req, regs, regs_hw, lock, r0_int, r1_mod, r4_rf_div_sel, consider reordering the fields or adding explicit padding members
struct adf4350_state {
~~~~~~~^~~~~~~~~~~~~~~
Suppressed 3 warnings (2 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.
3 warnings generated.
drivers/iio/frequency/adf4371.c:157:8: warning: Excessive padding in 'struct adf4371_state' (86 padding bytes, where 22 is optimal).
Optimal fields order:
buf,
integer,
spi,
regmap,
clkin,
chip_info,
clkin_freq,
fpfd,
lock,
fract1,
fract2,
mod2,
rf_div_sel,
ref_div_factor,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct adf4371_state {
~~~~~~~^~~~~~~~~~~~~~~
drivers/iio/frequency/adf4371.c:157:8: note: Excessive padding in 'struct adf4371_state' (86 padding bytes, where 22 is optimal). Optimal fields order: buf, integer, spi, regmap, clkin, chip_info, clkin_freq, fpfd, lock, fract1, fract2, mod2, rf_div_sel, ref_div_factor, consider reordering the fields or adding explicit padding members
struct adf4371_state {
~~~~~~~^~~~~~~~~~~~~~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
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.
4 warnings generated.
drivers/most/configfs.c:173:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(mdev_link->direction, page);
^~~~~~
drivers/most/configfs.c:173:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(mdev_link->direction, page);
^~~~~~
drivers/most/configfs.c:192:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(mdev_link->datatype, page);
^~~~~~
drivers/most/configfs.c:192:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(mdev_link->datatype, page);
^~~~~~
drivers/most/configfs.c:446:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(mdev_link->name, name);
^~~~~~
drivers/most/configfs.c:446:2: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(mdev_link->name, name);
^~~~~~
drivers/most/configfs.c:535:2: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
strcpy(mdev_link->name, name);
vim +/reg +854 drivers/dma/lgm/lgm-dma.c
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 817
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 818 static int ldma_port_cfg(struct ldma_port *p)
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 819 {
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 820 unsigned long flags;
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 821 struct ldma_dev *d;
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 822 u32 reg;
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 823
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 824 d = p->ldev;
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 825 reg = FIELD_PREP(DMA_PCTRL_TXENDI, p->txendi);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 826 reg |= FIELD_PREP(DMA_PCTRL_RXENDI, p->rxendi);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 827
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 828 if (d->ver == DMA_VER22) {
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 829 reg |= FIELD_PREP(DMA_PCTRL_TXBL, p->txbl);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 830 reg |= FIELD_PREP(DMA_PCTRL_RXBL, p->rxbl);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 831 } else {
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 832 reg |= FIELD_PREP(DMA_PCTRL_PDEN, p->pkt_drop);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 833
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 834 if (p->txbl == DMA_BURSTL_32DW)
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 835 reg |= DMA_PCTRL_TXBL32;
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 836 else if (p->txbl == DMA_BURSTL_16DW)
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 837 reg |= DMA_PCTRL_TXBL16;
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 838 else
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 839 reg |= FIELD_PREP(DMA_PCTRL_TXBL, DMA_PCTRL_TXBL_8);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 840
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 841 if (p->rxbl == DMA_BURSTL_32DW)
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 842 reg |= DMA_PCTRL_RXBL32;
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 843 else if (p->rxbl == DMA_BURSTL_16DW)
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 844 reg |= DMA_PCTRL_RXBL16;
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 845 else
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 846 reg |= FIELD_PREP(DMA_PCTRL_RXBL, DMA_PCTRL_RXBL_8);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 847 }
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 848
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 849 spin_lock_irqsave(&d->dev_lock, flags);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 850 writel(p->portid, d->base + DMA_PS);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 851 writel(reg, d->base + DMA_PCTRL);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 852 spin_unlock_irqrestore(&d->dev_lock, flags);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 853
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 @854 reg = readl(d->base + DMA_PCTRL); /* read back */
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 855 dev_dbg(d->dev, "Port Control 0x%08x configuration done\n", reg);
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 856
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 857 return 0;
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 858 }
32d31c79a1a4fb Amireddy Mallikarjuna reddy 2020-12-03 859
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 29271 bytes --]
next reply other threads:[~2021-11-21 1:24 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-21 1:24 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-01-03 12:04 drivers/dma/lgm/lgm-dma.c:854:2: warning: Value stored to 'reg' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
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=202111210904.ruk8RHf3-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.