From: kernel test robot <lkp@intel.com>
To: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: drivers/net/ethernet/myricom/myri10ge/myri10ge.c:390:32: warning: 'cmd.data0' is used uninitialized
Date: Tue, 15 Mar 2022 09:24:15 +0800 [thread overview]
Message-ID: <202203150948.lhVbfLFc-lkp@intel.com> (raw)
Hi Christophe,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 09688c0166e76ce2fb85e86b9d99be8b0084cdf9
commit: 75bacb6d204ed325504f3a656a829f2c6dce2035 myri10ge: switch from 'pci_' to 'dma_' API
date: 7 months ago
config: arc-randconfig-r012-20220313 (https://download.01.org/0day-ci/archive/20220315/202203150948.lhVbfLFc-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 11.2.0
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=75bacb6d204ed325504f3a656a829f2c6dce2035
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 75bacb6d204ed325504f3a656a829f2c6dce2035
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/net/ethernet/myricom/myri10ge/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:7,
from arch/arc/include/asm/bitops.h:373,
from include/linux/bitops.h:33,
from include/linux/kernel.h:12,
from include/linux/skbuff.h:13,
from include/linux/tcp.h:17,
from drivers/net/ethernet/myricom/myri10ge/myri10ge.c:43:
In function 'myri10ge_send_cmd',
inlined from 'myri10ge_get_firmware_capabilities' at drivers/net/ethernet/myricom/myri10ge/myri10ge.c:691:11:
>> drivers/net/ethernet/myricom/myri10ge/myri10ge.c:390:32: warning: 'cmd.data0' is used uninitialized [-Wuninitialized]
390 | buf->data0 = htonl(data->data0);
include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32'
39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x))
| ^
include/linux/byteorder/generic.h:139:18: note: in expansion of macro '___htonl'
139 | #define htonl(x) ___htonl(x)
| ^~~~~~~~
drivers/net/ethernet/myricom/myri10ge/myri10ge.c:390:22: note: in expansion of macro 'htonl'
390 | buf->data0 = htonl(data->data0);
| ^~~~~
drivers/net/ethernet/myricom/myri10ge/myri10ge.c: In function 'myri10ge_get_firmware_capabilities':
drivers/net/ethernet/myricom/myri10ge/myri10ge.c:686:29: note: 'cmd' declared here
686 | struct myri10ge_cmd cmd;
| ^~~
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:7,
from arch/arc/include/asm/bitops.h:373,
from include/linux/bitops.h:33,
from include/linux/kernel.h:12,
from include/linux/skbuff.h:13,
from include/linux/tcp.h:17,
from drivers/net/ethernet/myricom/myri10ge/myri10ge.c:43:
In function 'myri10ge_send_cmd',
inlined from 'myri10ge_get_firmware_capabilities' at drivers/net/ethernet/myricom/myri10ge/myri10ge.c:691:11:
>> drivers/net/ethernet/myricom/myri10ge/myri10ge.c:391:32: warning: 'cmd.data1' is used uninitialized [-Wuninitialized]
391 | buf->data1 = htonl(data->data1);
include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32'
39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x))
| ^
include/linux/byteorder/generic.h:139:18: note: in expansion of macro '___htonl'
139 | #define htonl(x) ___htonl(x)
| ^~~~~~~~
drivers/net/ethernet/myricom/myri10ge/myri10ge.c:391:22: note: in expansion of macro 'htonl'
391 | buf->data1 = htonl(data->data1);
| ^~~~~
drivers/net/ethernet/myricom/myri10ge/myri10ge.c: In function 'myri10ge_get_firmware_capabilities':
drivers/net/ethernet/myricom/myri10ge/myri10ge.c:686:29: note: 'cmd' declared here
686 | struct myri10ge_cmd cmd;
| ^~~
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:7,
from arch/arc/include/asm/bitops.h:373,
from include/linux/bitops.h:33,
from include/linux/kernel.h:12,
from include/linux/skbuff.h:13,
from include/linux/tcp.h:17,
from drivers/net/ethernet/myricom/myri10ge/myri10ge.c:43:
In function 'myri10ge_send_cmd',
inlined from 'myri10ge_get_firmware_capabilities' at drivers/net/ethernet/myricom/myri10ge/myri10ge.c:691:11:
>> drivers/net/ethernet/myricom/myri10ge/myri10ge.c:392:32: warning: 'cmd.data2' is used uninitialized [-Wuninitialized]
392 | buf->data2 = htonl(data->data2);
include/uapi/linux/byteorder/big_endian.h:39:51: note: in definition of macro '__cpu_to_be32'
39 | #define __cpu_to_be32(x) ((__force __be32)(__u32)(x))
| ^
include/linux/byteorder/generic.h:139:18: note: in expansion of macro '___htonl'
139 | #define htonl(x) ___htonl(x)
| ^~~~~~~~
drivers/net/ethernet/myricom/myri10ge/myri10ge.c:392:22: note: in expansion of macro 'htonl'
392 | buf->data2 = htonl(data->data2);
| ^~~~~
drivers/net/ethernet/myricom/myri10ge/myri10ge.c: In function 'myri10ge_get_firmware_capabilities':
drivers/net/ethernet/myricom/myri10ge/myri10ge.c:686:29: note: 'cmd' declared here
686 | struct myri10ge_cmd cmd;
| ^~~
vim +390 drivers/net/ethernet/myricom/myri10ge/myri10ge.c
7d3510356b066b drivers/net/myri10ge/myri10ge.c Rusty Russell 2010-08-11 375
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 376 static int
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 377 myri10ge_send_cmd(struct myri10ge_priv *mgp, u32 cmd,
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 378 struct myri10ge_cmd *data, int atomic)
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 379 {
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 380 struct mcp_cmd *buf;
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 381 char buf_bytes[sizeof(*buf) + 8];
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 382 struct mcp_cmd_response *response = mgp->cmd;
e700f9f4a208bf drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-08-14 383 char __iomem *cmd_addr = mgp->sram + MXGEFW_ETH_CMD;
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 384 u32 dma_low, dma_high, result, value;
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 385 int sleep_total = 0;
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 386
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 387 /* ensure buf is aligned to 8 bytes */
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 388 buf = (struct mcp_cmd *)ALIGN((unsigned long)buf_bytes, 8);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 389
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 @390 buf->data0 = htonl(data->data0);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 @391 buf->data1 = htonl(data->data1);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 @392 buf->data2 = htonl(data->data2);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 393 buf->cmd = htonl(cmd);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 394 dma_low = MYRI10GE_LOWPART_TO_U32(mgp->cmd_bus);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 395 dma_high = MYRI10GE_HIGHPART_TO_U32(mgp->cmd_bus);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 396
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 397 buf->response_addr.low = htonl(dma_low);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 398 buf->response_addr.high = htonl(dma_high);
40f6cff5c47efa drivers/net/myri10ge/myri10ge.c Al Viro 2006-11-20 399 response->result = htonl(MYRI10GE_NO_RESPONSE_RESULT);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 400 mb();
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 401 myri10ge_pio_copy(cmd_addr, buf, sizeof(*buf));
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 402
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 403 /* wait up to 15ms. Longest command is the DMA benchmark,
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 404 * which is capped at 5ms, but runs from a timeout handler
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 405 * that runs every 7.8ms. So a 15ms timeout leaves us with
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 406 * a 2.2ms margin
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 407 */
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 408 if (atomic) {
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 409 /* if atomic is set, do not sleep,
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 410 * and try to get the completion quickly
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 411 * (1ms will be enough for those commands) */
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 412 for (sleep_total = 0;
8e95a2026f3b43 drivers/net/myri10ge/myri10ge.c Joe Perches 2009-12-03 413 sleep_total < 1000 &&
8e95a2026f3b43 drivers/net/myri10ge/myri10ge.c Joe Perches 2009-12-03 414 response->result == htonl(MYRI10GE_NO_RESPONSE_RESULT);
bd2db0cf2411eb drivers/net/myri10ge/myri10ge.c Brice Goglin 2008-05-09 415 sleep_total += 10) {
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 416 udelay(10);
bd2db0cf2411eb drivers/net/myri10ge/myri10ge.c Brice Goglin 2008-05-09 417 mb();
bd2db0cf2411eb drivers/net/myri10ge/myri10ge.c Brice Goglin 2008-05-09 418 }
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 419 } else {
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 420 /* use msleep for most command */
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 421 for (sleep_total = 0;
8e95a2026f3b43 drivers/net/myri10ge/myri10ge.c Joe Perches 2009-12-03 422 sleep_total < 15 &&
8e95a2026f3b43 drivers/net/myri10ge/myri10ge.c Joe Perches 2009-12-03 423 response->result == htonl(MYRI10GE_NO_RESPONSE_RESULT);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 424 sleep_total++)
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 425 msleep(1);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 426 }
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 427
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 428 result = ntohl(response->result);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 429 value = ntohl(response->data);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 430 if (result != MYRI10GE_NO_RESPONSE_RESULT) {
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 431 if (result == 0) {
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 432 data->data0 = value;
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 433 return 0;
85a7ea1b0a3263 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-08-21 434 } else if (result == MXGEFW_CMD_UNKNOWN) {
85a7ea1b0a3263 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-08-21 435 return -ENOSYS;
5443e9ead4f53f drivers/net/myri10ge/myri10ge.c Brice Goglin 2007-05-07 436 } else if (result == MXGEFW_CMD_ERROR_UNALIGNED) {
5443e9ead4f53f drivers/net/myri10ge/myri10ge.c Brice Goglin 2007-05-07 437 return -E2BIG;
236bb5e649c2a7 drivers/net/myri10ge/myri10ge.c Brice Goglin 2008-09-28 438 } else if (result == MXGEFW_CMD_ERROR_RANGE &&
236bb5e649c2a7 drivers/net/myri10ge/myri10ge.c Brice Goglin 2008-09-28 439 cmd == MXGEFW_CMD_ENABLE_RSS_QUEUES &&
236bb5e649c2a7 drivers/net/myri10ge/myri10ge.c Brice Goglin 2008-09-28 440 (data->
236bb5e649c2a7 drivers/net/myri10ge/myri10ge.c Brice Goglin 2008-09-28 441 data1 & MXGEFW_SLICE_ENABLE_MULTIPLE_TX_QUEUES) !=
236bb5e649c2a7 drivers/net/myri10ge/myri10ge.c Brice Goglin 2008-09-28 442 0) {
236bb5e649c2a7 drivers/net/myri10ge/myri10ge.c Brice Goglin 2008-09-28 443 return -ERANGE;
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 444 } else {
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 445 dev_err(&mgp->pdev->dev,
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 446 "command %d failed, result = %d\n",
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 447 cmd, result);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 448 return -ENXIO;
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 449 }
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 450 }
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 451
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 452 dev_err(&mgp->pdev->dev, "command %d timed out, result = %d\n",
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 453 cmd, result);
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 454 return -EAGAIN;
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 455 }
0da34b6dfe5581 drivers/net/myri10ge/myri10ge.c Brice Goglin 2006-05-23 456
:::::: The code at line 390 was first introduced by commit
:::::: 0da34b6dfe55810ae60db57e08e2af8a808c0a55 [PATCH] Add Myri-10G Ethernet driver
:::::: TO: Brice Goglin <brice@myri.com>
:::::: CC: Jeff Garzik <jeff@garzik.org>
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
next reply other threads:[~2022-03-15 1:24 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-15 1:24 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2021-12-06 8:18 drivers/net/ethernet/myricom/myri10ge/myri10ge.c:390:32: warning: 'cmd.data0' is used uninitialized kernel test robot
2021-12-06 8:18 ` 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=202203150948.lhVbfLFc-lkp@intel.com \
--to=lkp@intel.com \
--cc=christophe.jaillet@wanadoo.fr \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.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.