All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/net/ethernet/intel/i40e/i40e_xsk.c:221:3: warning: Value stored to 'xdp' is never read [clang-analyzer-deadcode.DeadStores]
Date: Tue, 11 Jan 2022 03:30:12 +0800	[thread overview]
Message-ID: <202201110331.onpYvsQi-lkp@intel.com> (raw)

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

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Magnus Karlsson <magnus.karlsson@intel.com>
CC: Daniel Borkmann <daniel@iogearbox.net>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   df0cc57e057f18e44dac8e6c18aba47ab53202f9
commit: 6aab0bb0c5cdc02d6f182ada2d86afae0c22fc76 i40e: Use the xsk batched rx allocation interface
date:   4 months ago
:::::: branch date: 21 hours ago
:::::: commit date: 4 months ago
config: x86_64-randconfig-c007-20220101 (https://download.01.org/0day-ci/archive/20220111/202201110331.onpYvsQi-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c054402170cd8466683a20385befc0523aba3359)
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=6aab0bb0c5cdc02d6f182ada2d86afae0c22fc76
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 6aab0bb0c5cdc02d6f182ada2d86afae0c22fc76
        # 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 >>)
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:310:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:302:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   fs/btrfs/zlib.c:98:32: note: Loop condition is false.  Exiting loop
           struct workspace *workspace = list_entry(ws, struct workspace, list);
                                         ^
   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) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:322:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:310:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:300:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   fs/btrfs/zlib.c:99:2: note: 'ret' declared without an initial value
           int ret;
           ^~~~~~~
   fs/btrfs/zlib.c:115:6: note: Assuming the condition is false
           if (Z_OK != zlib_deflateInit(&workspace->strm, workspace->level)) {
               ^
   include/linux/zlib.h:148:25: note: expanded from macro 'Z_OK'
   #define Z_OK            0
                           ^
   fs/btrfs/zlib.c:115:2: note: Taking false branch
           if (Z_OK != zlib_deflateInit(&workspace->strm, workspace->level)) {
           ^
   fs/btrfs/zlib.c:125:6: note: Assuming 'out_page' is not equal to NULL
           if (out_page == NULL) {
               ^~~~~~~~~~~~~~~~
   fs/btrfs/zlib.c:125:2: note: Taking false branch
           if (out_page == NULL) {
           ^
   fs/btrfs/zlib.c:138:9: note: Assuming 'len' is <= field 'total_in'
           while (workspace->strm.total_in < len) {
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/btrfs/zlib.c:138:2: note: Loop condition is false. Execution continues on line 217
           while (workspace->strm.total_in < len) {
           ^
   fs/btrfs/zlib.c:222:13: note: The left operand of '!=' is a garbage value
           while (ret != Z_STREAM_END) {
                  ~~~ ^
   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.
   6 warnings generated.
   drivers/iio/adc/ltc2497.c:18:8: warning: Excessive padding in 'struct ltc2497_driverdata' (84 padding bytes, where 20 is optimal). 
   Optimal fields order: 
   buf, 
   client, 
   common_ddata, 
   consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
   struct ltc2497_driverdata {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~
   drivers/iio/adc/ltc2497.c:18:8: note: Excessive padding in 'struct ltc2497_driverdata' (84 padding bytes, where 20 is optimal). Optimal fields order: buf, client, common_ddata, consider reordering the fields or adding explicit padding members
   struct ltc2497_driverdata {
   ~~~~~~~^~~~~~~~~~~~~~~~~~~~
   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.
   9 warnings generated.
   Suppressed 9 warnings (9 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.
   15 warnings generated.
   Suppressed 15 warnings (15 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.
   15 warnings generated.
   Suppressed 15 warnings (15 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.
   16 warnings generated.
   drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:3843:3: warning: Value stored to 'aq_ret' is never read [clang-analyzer-deadcode.DeadStores]
                   aq_ret = I40E_ERR_PARAM;
                   ^        ~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c:3843:3: note: Value stored to 'aq_ret' is never read
                   aq_ret = I40E_ERR_PARAM;
                   ^        ~~~~~~~~~~~~~~
   Suppressed 15 warnings (15 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.
   17 warnings generated.
>> drivers/net/ethernet/intel/i40e/i40e_xsk.c:221:3: warning: Value stored to 'xdp' is never read [clang-analyzer-deadcode.DeadStores]
                   xdp = i40e_rx_bi(rx_ring, 0);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_xsk.c:221:3: note: Value stored to 'xdp' is never read
                   xdp = i40e_rx_bi(rx_ring, 0);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_xsk.c:327:6: warning: Value stored to 'cleaned_count' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           u16 cleaned_count = I40E_DESC_UNUSED(rx_ring);
               ^~~~~~~~~~~~~
   drivers/net/ethernet/intel/i40e/i40e_xsk.c:327:6: note: Value stored to 'cleaned_count' during its initialization is never read
           u16 cleaned_count = I40E_DESC_UNUSED(rx_ring);
               ^~~~~~~~~~~~~
   Suppressed 15 warnings (15 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 (10 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.
   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.
   9 warnings generated.
   Suppressed 9 warnings (9 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.
   Suppressed 9 warnings (9 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.
   Suppressed 9 warnings (9 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/message/fusion/mptscsih.c:1769:2: warning: Value stored to 'retval' is never read [clang-analyzer-deadcode.DeadStores]
           retval = mptscsih_IssueTaskMgmt(hd,
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/message/fusion/mptscsih.c:1769:2: note: Value stored to 'retval' is never read
           retval = mptscsih_IssueTaskMgmt(hd,
           ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~
   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.
   drivers/message/fusion/mptspi.c:133:4: warning: Value stored to 'factor' is never read [clang-analyzer-deadcode.DeadStores]
                           factor = pspi_data->minSyncFactor;
                           ^        ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/message/fusion/mptspi.c:133:4: note: Value stored to 'factor' is never read
                           factor = pspi_data->minSyncFactor;
                           ^        ~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/message/fusion/mptspi.c:602:7: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
           nego = le32_to_cpu(spi_dev_pg0.NegotiatedParameters);
                ^
   drivers/message/fusion/mptspi.c:1259:3: note: Left side of '&&' is false
                   container_of(work, struct work_queue_wrapper, work);
                   ^
   include/linux/kernel.h:495:61: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
                                                                      ^
   drivers/message/fusion/mptspi.c:1259:3: note: Taking false branch
                   container_of(work, struct work_queue_wrapper, work);
                   ^
   include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:322:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:310:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:302:3: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/message/fusion/mptspi.c:1259:3: note: Loop condition is false.  Exiting loop
                   container_of(work, struct work_queue_wrapper, work);
                   ^
   include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
           BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) &&   \
           ^
   include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
   #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
                                       ^
   include/linux/compiler_types.h:322:2: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
           ^
   include/linux/compiler_types.h:310:2: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:300:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   drivers/message/fusion/mptspi.c:1269:6: note: Assuming field 'spi_pending' is 0
           if (hd->spi_pending) {
               ^~~~~~~~~~~~~~~
   drivers/message/fusion/mptspi.c:1269:2: note: Taking false branch
           if (hd->spi_pending) {
           ^
   drivers/message/fusion/mptspi.c:1281:3: note: Loop condition is true.  Entering loop body
                   shost_for_each_device(sdev, ioc->sh)

vim +/xdp +221 drivers/net/ethernet/intel/i40e/i40e_xsk.c

0a714186d3c0f7 Björn Töpel     2018-08-28  191  
3b4f0b66c2b3dc Björn Töpel     2020-05-20  192  bool i40e_alloc_rx_buffers_zc(struct i40e_ring *rx_ring, u16 count)
0a714186d3c0f7 Björn Töpel     2018-08-28  193  {
0a714186d3c0f7 Björn Töpel     2018-08-28  194  	u16 ntu = rx_ring->next_to_use;
0a714186d3c0f7 Björn Töpel     2018-08-28  195  	union i40e_rx_desc *rx_desc;
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  196  	struct xdp_buff **xdp;
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  197  	u32 nb_buffs, i;
3b4f0b66c2b3dc Björn Töpel     2020-05-20  198  	dma_addr_t dma;
0a714186d3c0f7 Björn Töpel     2018-08-28  199  
0a714186d3c0f7 Björn Töpel     2018-08-28  200  	rx_desc = I40E_RX_DESC(rx_ring, ntu);
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  201  	xdp = i40e_rx_bi(rx_ring, ntu);
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  202  
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  203  	nb_buffs = min_t(u16, count, rx_ring->count - ntu);
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  204  	nb_buffs = xsk_buff_alloc_batch(rx_ring->xsk_pool, xdp, nb_buffs);
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  205  	if (!nb_buffs)
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  206  		return false;
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  207  
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  208  	i = nb_buffs;
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  209  	while (i--) {
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  210  		dma = xsk_buff_xdp_get_dma(*xdp);
3b4f0b66c2b3dc Björn Töpel     2020-05-20  211  		rx_desc->read.pkt_addr = cpu_to_le64(dma);
3b4f0b66c2b3dc Björn Töpel     2020-05-20  212  		rx_desc->read.hdr_addr = 0;
0a714186d3c0f7 Björn Töpel     2018-08-28  213  
0a714186d3c0f7 Björn Töpel     2018-08-28  214  		rx_desc++;
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  215  		xdp++;
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  216  	}
0a714186d3c0f7 Björn Töpel     2018-08-28  217  
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  218  	ntu += nb_buffs;
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  219  	if (ntu == rx_ring->count) {
0a714186d3c0f7 Björn Töpel     2018-08-28  220  		rx_desc = I40E_RX_DESC(rx_ring, 0);
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22 @221  		xdp = i40e_rx_bi(rx_ring, 0);
0a714186d3c0f7 Björn Töpel     2018-08-28  222  		ntu = 0;
0a714186d3c0f7 Björn Töpel     2018-08-28  223  	}
0a714186d3c0f7 Björn Töpel     2018-08-28  224  
64050b5b8706d3 Björn Töpel     2020-12-11  225  	/* clear the status bits for the next_to_use descriptor */
64050b5b8706d3 Björn Töpel     2020-12-11  226  	rx_desc->wb.qword1.status_error_len = 0;
0a714186d3c0f7 Björn Töpel     2018-08-28  227  	i40e_release_rx_desc(rx_ring, ntu);
0a714186d3c0f7 Björn Töpel     2018-08-28  228  
6aab0bb0c5cdc0 Magnus Karlsson 2021-09-22  229  	return count == nb_buffs ? true : false;
0a714186d3c0f7 Björn Töpel     2018-08-28  230  }
0a714186d3c0f7 Björn Töpel     2018-08-28  231  

---
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-10 19:30 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=202201110331.onpYvsQi-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.