All of lore.kernel.org
 help / color / mirror / Atom feed
* [jpirko-mlxsw:jiri_devel_linecards_sub1_v1 12/17] drivers/net/ethernet/mellanox/mlxsw/core_linecards.c:374:2: warning: Value stored to 'linecards' is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-01-14  1:17 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-01-14  1:17 UTC (permalink / raw)
  To: kbuild

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

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Jiri Pirko <jiri@nvidia.com>

tree:   https://github.com/jpirko/linux_mlxsw jiri_devel_linecards_sub1_v1
head:   4e49e596068522789b7da37063f60570a59efffc
commit: c3b32e865c9c9056234b9f1582d076a6de19d939 [12/17] mlxsw: core_linecards: Add line card objects and implement provisioning
:::::: branch date: 2 days ago
:::::: commit date: 4 days ago
config: i386-randconfig-c001 (https://download.01.org/0day-ci/archive/20220114/202201140955.mvwdqj80-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 244dd2913a43a200f5a6544d424cdc37b771028b)
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://github.com/jpirko/linux_mlxsw/commit/c3b32e865c9c9056234b9f1582d076a6de19d939
        git remote add jpirko-mlxsw https://github.com/jpirko/linux_mlxsw
        git fetch --no-tags jpirko-mlxsw jiri_devel_linecards_sub1_v1
        git checkout c3b32e865c9c9056234b9f1582d076a6de19d939
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 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 >>)
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   kernel/params.c:638:12: note: Calling 'kzalloc'
                   mk->mp = kzalloc(sizeof(*mk->mp), GFP_KERNEL);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/slab.h:724:9: note: Uninitialized value stored to field 'num'
           return kmalloc(size, flags | __GFP_ZERO);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/params.c:638:12: note: Returning from 'kzalloc'
                   mk->mp = kzalloc(sizeof(*mk->mp), GFP_KERNEL);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/params.c:639:7: note: Assuming field 'mp' is non-null
                   if (!mk->mp)
                       ^
   include/linux/compiler.h:56:47: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                                                 ^~~~
   include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                      ^~~~
   kernel/params.c:639:3: note: '?' condition is false
                   if (!mk->mp)
                   ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                 ^
   kernel/params.c:639:12: note: Field 'mp' is non-null
                   if (!mk->mp)
                            ^
   kernel/params.c:639:3: note: '?' condition is false
                   if (!mk->mp)
                   ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
           ^
   kernel/params.c:639:3: note: Taking false branch
                   if (!mk->mp)
                   ^
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   kernel/params.c:646:7: note: Assuming field 'attrs' is non-null
                   if (!mk->mp->grp.attrs)
                       ^
   include/linux/compiler.h:56:47: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                                                 ^~~~
   include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                      ^~~~
   kernel/params.c:646:3: note: '?' condition is false
                   if (!mk->mp->grp.attrs)
                   ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                 ^
   kernel/params.c:646:20: note: Field 'attrs' is non-null
                   if (!mk->mp->grp.attrs)
                                    ^
   kernel/params.c:646:3: note: '?' condition is false
                   if (!mk->mp->grp.attrs)
                   ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
           ^
   kernel/params.c:646:3: note: Taking false branch
                   if (!mk->mp->grp.attrs)
                   ^
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   kernel/params.c:653:46: note: The left operand of '+' is a garbage value
                             sizeof(mk->mp->attrs[0]) * (mk->mp->num + 1),
                                                         ~~~~~~~~~~~ ^
   1 warning generated.
   arch/x86/kernel/cpu/mce/core.c:315:4: warning: Value stored to 'apei_err' is never read [clang-analyzer-deadcode.DeadStores]
                           apei_err = apei_write_mce(final);
                           ^          ~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kernel/cpu/mce/core.c:315:4: note: Value stored to 'apei_err' is never read
                           apei_err = apei_write_mce(final);
                           ^          ~~~~~~~~~~~~~~~~~~~~~
   2 warnings generated.
>> drivers/net/ethernet/mellanox/mlxsw/core_linecards.c:374:2: warning: Value stored to 'linecards' is never read [clang-analyzer-deadcode.DeadStores]
           linecards = linecard->linecards;
           ^           ~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/mellanox/mlxsw/core_linecards.c:374:2: note: Value stored to 'linecards' is never read
           linecards = linecard->linecards;
           ^           ~~~~~~~~~~~~~~~~~~~
   Suppressed 1 warnings (1 with check filters).
   1 warning generated.
   drivers/net/ethernet/intel/e1000/e1000_main.c:3012:22: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
           tx_desc->lower.data |= cpu_to_le32(adapter->txd_cmd);
           ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/e1000/e1000_main.c:2972:2: note: 'tx_desc' initialized to a null pointer value
           struct e1000_tx_desc *tx_desc = NULL;
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/intel/e1000/e1000_main.c:2977:6: note: Assuming the condition is true
           if (likely(tx_flags & E1000_TX_FLAGS_TSO)) {
               ^
   include/linux/compiler.h:45:22: note: expanded from macro 'likely'
   #  define likely(x)     (__branch_check__(x, 1, __builtin_constant_p(x)))
                            ^
   include/linux/compiler.h:33:32: note: expanded from macro '__branch_check__'
                           ______r = __builtin_expect(!!(x), expect);      \
                                                       ^
   include/linux/compiler.h:56:47: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                      ^~~~
   drivers/net/ethernet/intel/e1000/e1000_main.c:2977:2: note: '?' condition is false
           if (likely(tx_flags & E1000_TX_FLAGS_TSO)) {
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                 ^
   drivers/net/ethernet/intel/e1000/e1000_main.c:2977:2: note: '?' condition is false
           if (likely(tx_flags & E1000_TX_FLAGS_TSO)) {
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
           ^
   drivers/net/ethernet/intel/e1000/e1000_main.c:2977:2: note: Taking false branch
           if (likely(tx_flags & E1000_TX_FLAGS_TSO)) {
           ^
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   drivers/net/ethernet/intel/e1000/e1000_main.c:2986:6: note: Assuming the condition is true
           if (likely(tx_flags & E1000_TX_FLAGS_CSUM)) {
               ^
   include/linux/compiler.h:45:22: note: expanded from macro 'likely'
   #  define likely(x)     (__branch_check__(x, 1, __builtin_constant_p(x)))
                            ^
   include/linux/compiler.h:33:32: note: expanded from macro '__branch_check__'
                           ______r = __builtin_expect(!!(x), expect);      \
                                                       ^
   include/linux/compiler.h:56:47: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                      ^~~~
   drivers/net/ethernet/intel/e1000/e1000_main.c:2986:2: note: '?' condition is false
           if (likely(tx_flags & E1000_TX_FLAGS_CSUM)) {
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                 ^
   drivers/net/ethernet/intel/e1000/e1000_main.c:2986:2: note: '?' condition is false
           if (likely(tx_flags & E1000_TX_FLAGS_CSUM)) {
           ^
   include/linux/compiler.h:56:28: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                              ^
   include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
   #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
                                                                       ^
   include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
           (cond) ?                                        \
           ^
   drivers/net/ethernet/intel/e1000/e1000_main.c:2986:2: note: Taking false branch
           if (likely(tx_flags & E1000_TX_FLAGS_CSUM)) {
           ^
   include/linux/compiler.h:56:23: note: expanded from macro 'if'
   #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
                         ^
   drivers/net/ethernet/intel/e1000/e1000_main.c:2991:6: note: Assuming the condition is true
           if (unlikely(tx_flags & E1000_TX_FLAGS_VLAN)) {
               ^

vim +/linecards +374 drivers/net/ethernet/mellanox/mlxsw/core_linecards.c

c3b32e865c9c90 Jiri Pirko 2021-12-17  359  
c3b32e865c9c90 Jiri Pirko 2021-12-17  360  static int mlxsw_linecard_unprovision(struct devlink_linecard *devlink_linecard,
c3b32e865c9c90 Jiri Pirko 2021-12-17  361  				      void *priv,
c3b32e865c9c90 Jiri Pirko 2021-12-17  362  				      struct netlink_ext_ack *extack)
c3b32e865c9c90 Jiri Pirko 2021-12-17  363  {
c3b32e865c9c90 Jiri Pirko 2021-12-17  364  	enum mlxsw_reg_mbct_fsm_state fsm_state;
c3b32e865c9c90 Jiri Pirko 2021-12-17  365  	struct mlxsw_linecard *linecard = priv;
c3b32e865c9c90 Jiri Pirko 2021-12-17  366  	struct mlxsw_linecards *linecards;
c3b32e865c9c90 Jiri Pirko 2021-12-17  367  	enum mlxsw_reg_mbct_status status;
c3b32e865c9c90 Jiri Pirko 2021-12-17  368  	unsigned int ini_wait_retries = 0;
c3b32e865c9c90 Jiri Pirko 2021-12-17  369  	struct mlxsw_core *mlxsw_core;
c3b32e865c9c90 Jiri Pirko 2021-12-17  370  	int err;
c3b32e865c9c90 Jiri Pirko 2021-12-17  371  
c3b32e865c9c90 Jiri Pirko 2021-12-17  372  	mutex_lock(&linecard->lock);
c3b32e865c9c90 Jiri Pirko 2021-12-17  373  
c3b32e865c9c90 Jiri Pirko 2021-12-17 @374  	linecards = linecard->linecards;
c3b32e865c9c90 Jiri Pirko 2021-12-17  375  	mlxsw_core = linecard->linecards->mlxsw_core;
c3b32e865c9c90 Jiri Pirko 2021-12-17  376  
c3b32e865c9c90 Jiri Pirko 2021-12-17  377  query_ini_status:
c3b32e865c9c90 Jiri Pirko 2021-12-17  378  	err = mlxsw_linecard_query_status(linecard, &status,
c3b32e865c9c90 Jiri Pirko 2021-12-17  379  					  &fsm_state, extack);
c3b32e865c9c90 Jiri Pirko 2021-12-17  380  	if (err)
c3b32e865c9c90 Jiri Pirko 2021-12-17  381  		goto err_out;
c3b32e865c9c90 Jiri Pirko 2021-12-17  382  
c3b32e865c9c90 Jiri Pirko 2021-12-17  383  	switch (fsm_state) {
c3b32e865c9c90 Jiri Pirko 2021-12-17  384  	case MLXSW_REG_MBCT_FSM_STATE_INI_IN_USE:
c3b32e865c9c90 Jiri Pirko 2021-12-17  385  		if (ini_wait_retries++ > MLXSW_LINECARD_INI_WAIT_RETRIES) {
c3b32e865c9c90 Jiri Pirko 2021-12-17  386  			NL_SET_ERR_MSG_MOD(extack, "Failed to wait for linecard INI to be not used");
c3b32e865c9c90 Jiri Pirko 2021-12-17  387  			goto err_out;
c3b32e865c9c90 Jiri Pirko 2021-12-17  388  		}
c3b32e865c9c90 Jiri Pirko 2021-12-17  389  		mdelay(MLXSW_LINECARD_INI_WAIT_MS);
c3b32e865c9c90 Jiri Pirko 2021-12-17  390  		goto query_ini_status;
c3b32e865c9c90 Jiri Pirko 2021-12-17  391  	default:
c3b32e865c9c90 Jiri Pirko 2021-12-17  392  		break;
c3b32e865c9c90 Jiri Pirko 2021-12-17  393  	}
c3b32e865c9c90 Jiri Pirko 2021-12-17  394  
c3b32e865c9c90 Jiri Pirko 2021-12-17  395  	mlxsw_reg_mbct_pack(linecard->mbct_pl, linecard->slot_index,
c3b32e865c9c90 Jiri Pirko 2021-12-17  396  			    MLXSW_REG_MBCT_OP_ERASE_INI_IMAGE, 0,
c3b32e865c9c90 Jiri Pirko 2021-12-17  397  			    false, false, NULL);
c3b32e865c9c90 Jiri Pirko 2021-12-17  398  	err = mlxsw_reg_write(mlxsw_core, MLXSW_REG(mbct),
c3b32e865c9c90 Jiri Pirko 2021-12-17  399  			      linecard->mbct_pl);
c3b32e865c9c90 Jiri Pirko 2021-12-17  400  	if (err) {
c3b32e865c9c90 Jiri Pirko 2021-12-17  401  		NL_SET_ERR_MSG_MOD(extack, "Failed to erase linecard INI");
c3b32e865c9c90 Jiri Pirko 2021-12-17  402  		goto err_out;
c3b32e865c9c90 Jiri Pirko 2021-12-17  403  	}
c3b32e865c9c90 Jiri Pirko 2021-12-17  404  	mlxsw_reg_mbct_unpack(linecard->mbct_pl, NULL, &status, &fsm_state);
c3b32e865c9c90 Jiri Pirko 2021-12-17  405  	switch (status) {
c3b32e865c9c90 Jiri Pirko 2021-12-17  406  	case MLXSW_REG_MBCT_STATUS_ERASE_COMPLETE:
c3b32e865c9c90 Jiri Pirko 2021-12-17  407  		break;
c3b32e865c9c90 Jiri Pirko 2021-12-17  408  	default:
c3b32e865c9c90 Jiri Pirko 2021-12-17  409  		/* Should not happen */
c3b32e865c9c90 Jiri Pirko 2021-12-17  410  		fallthrough;
c3b32e865c9c90 Jiri Pirko 2021-12-17  411  	case MLXSW_REG_MBCT_STATUS_ERASE_FAILED:
c3b32e865c9c90 Jiri Pirko 2021-12-17  412  		NL_SET_ERR_MSG_MOD(extack, "Failed to erase linecard INI");
c3b32e865c9c90 Jiri Pirko 2021-12-17  413  		goto fix_fsm_err_out;
c3b32e865c9c90 Jiri Pirko 2021-12-17  414  	case MLXSW_REG_MBCT_STATUS_ERROR_INI_IN_USE:
c3b32e865c9c90 Jiri Pirko 2021-12-17  415  		NL_SET_ERR_MSG_MOD(extack, "Failed to erase linecard INI while being used");
c3b32e865c9c90 Jiri Pirko 2021-12-17  416  		goto fix_fsm_err_out;
c3b32e865c9c90 Jiri Pirko 2021-12-17  417  	}
c3b32e865c9c90 Jiri Pirko 2021-12-17  418  	goto out;
c3b32e865c9c90 Jiri Pirko 2021-12-17  419  
c3b32e865c9c90 Jiri Pirko 2021-12-17  420  fix_fsm_err_out:
c3b32e865c9c90 Jiri Pirko 2021-12-17  421  	mlxsw_linecard_fix_fsm_state(linecard, fsm_state);
c3b32e865c9c90 Jiri Pirko 2021-12-17  422  err_out:
c3b32e865c9c90 Jiri Pirko 2021-12-17  423  	mlxsw_linecard_provision_fail(linecard);
c3b32e865c9c90 Jiri Pirko 2021-12-17  424  out:
c3b32e865c9c90 Jiri Pirko 2021-12-17  425  	mutex_unlock(&linecard->lock);
c3b32e865c9c90 Jiri Pirko 2021-12-17  426  	return err;
c3b32e865c9c90 Jiri Pirko 2021-12-17  427  }
c3b32e865c9c90 Jiri Pirko 2021-12-17  428  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-14  1:17 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-14  1:17 [jpirko-mlxsw:jiri_devel_linecards_sub1_v1 12/17] drivers/net/ethernet/mellanox/mlxsw/core_linecards.c:374:2: warning: Value stored to 'linecards' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot

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.