From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: drivers/net/ethernet/intel/ice/ice_ptp.c:109:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
Date: Thu, 26 May 2022 13:18:17 +0800 [thread overview]
Message-ID: <202205261324.92r8ipTC-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 16710 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: Jacob Keller <jacob.e.keller@intel.com>
CC: Tony Nguyen <anthony.l.nguyen@intel.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d7227785e384d4422b3ca189aa5bf19f462337cc
commit: 67569a7f940130fcfe9041e07a614a5263a9944d ice: report the PTP clock index in ethtool .get_ts_info
date: 12 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 12 months ago
config: s390-randconfig-c005-20220524 (https://download.01.org/0day-ci/archive/20220526/202205261324.92r8ipTC-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 10c9ecce9f6096e18222a331c5e7d085bd813f75)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390x-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=67569a7f940130fcfe9041e07a614a5263a9944d
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 67569a7f940130fcfe9041e07a614a5263a9944d
# save the config file
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390 clang-analyzer
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
arch/s390/include/asm/pci_io.h:76:2: note: Control jumps to 'case 1:' at line 77
switch (len) {
^
arch/s390/include/asm/pci_io.h:79:3: note: Execution continues on line 93
break;
^
arch/s390/include/asm/pci_io.h:93:2: note: Returning value, which participates in a condition later
return zpci_store(dst, val, len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:174:9: note: Returning from 'zpci_write_single'
rc = zpci_write_single(dst, src, size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:175:7: note: Assuming 'rc' is 0
if (rc)
^~
arch/s390/include/asm/pci_io.h:175:3: note: Taking false branch
if (rc)
^
arch/s390/include/asm/pci_io.h:167:2: note: Loop condition is true. Entering loop body
while (n > 0) {
^
arch/s390/include/asm/pci_io.h:168:10: note: Calling 'zpci_get_max_write_size'
size = zpci_get_max_write_size((u64 __force) dst,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:129:14: note: 'len' is <= 'max'
int count = len > max ? max : len, size = 1;
^~~
arch/s390/include/asm/pci_io.h:129:14: note: '?' condition is false
arch/s390/include/asm/pci_io.h:131:9: note: Assuming the condition is true
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:131:9: note: Left side of '&&' is true
arch/s390/include/asm/pci_io.h:131:25: note: Assuming the condition is true
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:131:9: note: Left side of '&&' is true
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^
arch/s390/include/asm/pci_io.h:131:2: note: Loop condition is true. Entering loop body
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^
arch/s390/include/asm/pci_io.h:131:9: note: Assuming the condition is true
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:131:9: note: Left side of '&&' is true
arch/s390/include/asm/pci_io.h:131:25: note: Assuming the condition is true
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:131:9: note: Left side of '&&' is true
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^
arch/s390/include/asm/pci_io.h:131:2: note: Loop condition is true. Entering loop body
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^
arch/s390/include/asm/pci_io.h:131:9: note: Assuming the condition is true
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:131:9: note: Left side of '&&' is true
arch/s390/include/asm/pci_io.h:131:25: note: Assuming the condition is true
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:131:9: note: Left side of '&&' is true
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^
arch/s390/include/asm/pci_io.h:131:2: note: Loop condition is true. Entering loop body
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^
arch/s390/include/asm/pci_io.h:131:9: note: Assuming the condition is false
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:131:22: note: Left side of '&&' is false
while (!(src & 0x1) && !(dst & 0x1) && ((size << 1) <= count)) {
^
arch/s390/include/asm/pci_io.h:136:2: note: Returning the value 8 (loaded from 'size'), which participates in a condition later
return size;
^~~~~~~~~~~
arch/s390/include/asm/pci_io.h:168:10: note: Returning from 'zpci_get_max_write_size'
size = zpci_get_max_write_size((u64 __force) dst,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:171:7: note: 'size' is <= 8
if (size > 8) /* main path */
^~~~
arch/s390/include/asm/pci_io.h:171:3: note: Taking false branch
if (size > 8) /* main path */
^
arch/s390/include/asm/pci_io.h:174:9: note: Calling 'zpci_write_single'
rc = zpci_write_single(dst, src, size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/s390/include/asm/pci_io.h:76:2: note: Control jumps to 'case 8:' at line 86
switch (len) {
^
arch/s390/include/asm/pci_io.h:87:7: note: Assigned value is garbage or undefined
val = (u64) *((u64 *) src);
^ ~~~~~~~~~~~~~~~~~~~~
Suppressed 20 warnings (8 in non-user code, 12 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.
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.
29 warnings generated.
>> drivers/net/ethernet/intel/ice/ice_ptp.c:109:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = ice_pf_to_dev(pf);
^~~
drivers/net/ethernet/intel/ice/ice_ptp.c:109:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = ice_pf_to_dev(pf);
^~~
include/linux/time64.h:67:50: warning: The left operand of '+' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
set_normalized_timespec64(&ts_delta, lhs.tv_sec + rhs.tv_sec,
^
drivers/net/ethernet/intel/ice/ice_ptp.c:358:22: note: Left side of '&&' is false
struct ice_pf *pf = ptp_info_to_pf(info);
^
drivers/net/ethernet/intel/ice/ice_ptp.h:24:15: note: expanded from macro 'ptp_info_to_pf'
container_of(__ptp_info_to_ptp((i)), struct ice_pf, ptp)
^
drivers/net/ethernet/intel/ice/ice_ptp.h:22:2: note: expanded from macro '__ptp_info_to_ptp'
container_of((i), struct ice_ptp, info)
^
include/linux/kernel.h:716:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/net/ethernet/intel/ice/ice_ptp.c:358:22: note: Taking false branch
struct ice_pf *pf = ptp_info_to_pf(info);
^
drivers/net/ethernet/intel/ice/ice_ptp.h:24:15: note: expanded from macro 'ptp_info_to_pf'
container_of(__ptp_info_to_ptp((i)), struct ice_pf, ptp)
^
drivers/net/ethernet/intel/ice/ice_ptp.h:22:2: note: expanded from macro '__ptp_info_to_ptp'
container_of((i), struct ice_ptp, info)
^
include/linux/kernel.h:716:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/net/ethernet/intel/ice/ice_ptp.c:358:22: note: Loop condition is false. Exiting loop
struct ice_pf *pf = ptp_info_to_pf(info);
^
drivers/net/ethernet/intel/ice/ice_ptp.h:24:15: note: expanded from macro 'ptp_info_to_pf'
container_of(__ptp_info_to_ptp((i)), struct ice_pf, ptp)
^
drivers/net/ethernet/intel/ice/ice_ptp.h:22:2: note: expanded from macro '__ptp_info_to_ptp'
container_of((i), struct ice_ptp, info)
^
include/linux/kernel.h:716:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:306:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/net/ethernet/intel/ice/ice_ptp.c:358:22: note: Left side of '&&' is false
struct ice_pf *pf = ptp_info_to_pf(info);
^
drivers/net/ethernet/intel/ice/ice_ptp.h:24:2: note: expanded from macro 'ptp_info_to_pf'
container_of(__ptp_info_to_ptp((i)), struct ice_pf, ptp)
^
include/linux/kernel.h:716:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/net/ethernet/intel/ice/ice_ptp.c:358:22: note: Taking false branch
struct ice_pf *pf = ptp_info_to_pf(info);
^
drivers/net/ethernet/intel/ice/ice_ptp.h:24:2: note: expanded from macro 'ptp_info_to_pf'
container_of(__ptp_info_to_ptp((i)), struct ice_pf, ptp)
^
include/linux/kernel.h:716: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:328:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:316:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:308:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/net/ethernet/intel/ice/ice_ptp.c:358:22: note: Loop condition is false. Exiting loop
struct ice_pf *pf = ptp_info_to_pf(info);
^
drivers/net/ethernet/intel/ice/ice_ptp.h:24:2: note: expanded from macro 'ptp_info_to_pf'
container_of(__ptp_info_to_ptp((i)), struct ice_pf, ptp)
^
vim +/dev +109 drivers/net/ethernet/intel/ice/ice_ptp.c
67569a7f940130f Jacob Keller 2021-06-09 98
67569a7f940130f Jacob Keller 2021-06-09 99 /**
67569a7f940130f Jacob Keller 2021-06-09 100 * ice_clear_ptp_clock_index - Clear the PTP clock index
67569a7f940130f Jacob Keller 2021-06-09 101 * @pf: the PF pointer
67569a7f940130f Jacob Keller 2021-06-09 102 *
67569a7f940130f Jacob Keller 2021-06-09 103 * Clear the PTP clock index for this device. Must be called when
67569a7f940130f Jacob Keller 2021-06-09 104 * unregistering the PTP clock, in order to ensure other PFs stop reporting
67569a7f940130f Jacob Keller 2021-06-09 105 * a clock object that no longer exists.
67569a7f940130f Jacob Keller 2021-06-09 106 */
67569a7f940130f Jacob Keller 2021-06-09 107 static void ice_clear_ptp_clock_index(struct ice_pf *pf)
67569a7f940130f Jacob Keller 2021-06-09 108 {
67569a7f940130f Jacob Keller 2021-06-09 @109 struct device *dev = ice_pf_to_dev(pf);
67569a7f940130f Jacob Keller 2021-06-09 110 enum ice_aqc_driver_params param_idx;
67569a7f940130f Jacob Keller 2021-06-09 111 struct ice_hw *hw = &pf->hw;
67569a7f940130f Jacob Keller 2021-06-09 112 u8 tmr_idx;
67569a7f940130f Jacob Keller 2021-06-09 113 int err;
67569a7f940130f Jacob Keller 2021-06-09 114
67569a7f940130f Jacob Keller 2021-06-09 115 /* Do not clear the index if we don't own the timer */
67569a7f940130f Jacob Keller 2021-06-09 116 if (!hw->func_caps.ts_func_info.src_tmr_owned)
67569a7f940130f Jacob Keller 2021-06-09 117 return;
67569a7f940130f Jacob Keller 2021-06-09 118
67569a7f940130f Jacob Keller 2021-06-09 119 tmr_idx = hw->func_caps.ts_func_info.tmr_index_assoc;
67569a7f940130f Jacob Keller 2021-06-09 120 if (!tmr_idx)
67569a7f940130f Jacob Keller 2021-06-09 121 param_idx = ICE_AQC_DRIVER_PARAM_CLK_IDX_TMR0;
67569a7f940130f Jacob Keller 2021-06-09 122 else
67569a7f940130f Jacob Keller 2021-06-09 123 param_idx = ICE_AQC_DRIVER_PARAM_CLK_IDX_TMR1;
67569a7f940130f Jacob Keller 2021-06-09 124
67569a7f940130f Jacob Keller 2021-06-09 125 err = ice_aq_set_driver_param(hw, param_idx, 0, NULL);
67569a7f940130f Jacob Keller 2021-06-09 126 if (err) {
67569a7f940130f Jacob Keller 2021-06-09 127 dev_dbg(dev, "Failed to clear PTP clock index parameter, err %d aq_err %s\n",
67569a7f940130f Jacob Keller 2021-06-09 128 err, ice_aq_str(hw->adminq.sq_last_status));
67569a7f940130f Jacob Keller 2021-06-09 129 }
67569a7f940130f Jacob Keller 2021-06-09 130 }
67569a7f940130f Jacob Keller 2021-06-09 131
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next reply other threads:[~2022-05-26 5:18 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-26 5:18 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-05-29 6:27 drivers/net/ethernet/intel/ice/ice_ptp.c:109:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
2022-06-02 7:33 kernel test robot
2022-06-02 16:16 kernel test robot
2022-06-05 14:42 kernel test robot
2022-06-06 19:13 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=202205261324.92r8ipTC-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.