drivers/net/ethernet/mellanox/mlxsw/core.c:1995:5: warning: stack frame size of 2192 bytes in function 'mlxsw_core_bus_device_register'

From: kernel test robot
Date: Mon Jan 04 2021 - 03:23:23 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: e71ba9452f0b5b2e8dc8aa5445198cd9214a6a62
commit: 0652ac07756588d6f1aa8419f569b5894a149d6e mlxsw: core: Add an infrastructure to track transceiver overheat counter
date: 3 months ago
config: powerpc-randconfig-r016-20210104 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 7af6a134508cd1c7f75c6e3441ce436f220f30a4)
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 powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0652ac07756588d6f1aa8419f569b5894a149d6e
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 0652ac07756588d6f1aa8419f569b5894a149d6e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

<scratch space>:137:1: note: expanded from here
mlxsw_emad_eth_hdr_ver_get
^
drivers/net/ethernet/mellanox/mlxsw/core.c:200:1: warning: unused function 'mlxsw_emad_op_tlv_type_get' [-Wunused-function]
MLXSW_ITEM32(emad, op_tlv, type, 0x00, 27, 5);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char *buf) \
^
<scratch space>:170:1: note: expanded from here
mlxsw_emad_op_tlv_type_get
^
drivers/net/ethernet/mellanox/mlxsw/core.c:206:1: warning: unused function 'mlxsw_emad_op_tlv_len_get' [-Wunused-function]
MLXSW_ITEM32(emad, op_tlv, len, 0x00, 16, 11);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char *buf) \
^
<scratch space>:203:1: note: expanded from here
mlxsw_emad_op_tlv_len_get
^
drivers/net/ethernet/mellanox/mlxsw/core.c:214:1: warning: unused function 'mlxsw_emad_op_tlv_dr_get' [-Wunused-function]
MLXSW_ITEM32(emad, op_tlv, dr, 0x00, 15, 1);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char *buf) \
^
<scratch space>:29:1: note: expanded from here
mlxsw_emad_op_tlv_dr_get
^
drivers/net/ethernet/mellanox/mlxsw/core.c:250:1: warning: unused function 'mlxsw_emad_op_tlv_method_get' [-Wunused-function]
MLXSW_ITEM32(emad, op_tlv, method, 0x04, 8, 7);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char *buf) \
^
<scratch space>:161:1: note: expanded from here
mlxsw_emad_op_tlv_method_get
^
drivers/net/ethernet/mellanox/mlxsw/core.c:255:1: warning: unused function 'mlxsw_emad_op_tlv_class_get' [-Wunused-function]
MLXSW_ITEM32(emad, op_tlv, class, 0x04, 0, 8);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char *buf) \
^
<scratch space>:194:1: note: expanded from here
mlxsw_emad_op_tlv_class_get
^
drivers/net/ethernet/mellanox/mlxsw/core.c:271:1: warning: unused function 'mlxsw_emad_string_tlv_len_get' [-Wunused-function]
MLXSW_ITEM32(emad, string_tlv, len, 0x00, 16, 11);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char *buf) \
^
<scratch space>:76:1: note: expanded from here
mlxsw_emad_string_tlv_len_get
^
drivers/net/ethernet/mellanox/mlxsw/core.c:278:1: warning: unused function 'mlxsw_emad_string_tlv_string_memcpy_from' [-Wunused-function]
MLXSW_ITEM_BUF(emad, string_tlv, string, 0x04,
^
drivers/net/ethernet/mellanox/mlxsw/item.h:436:27: note: expanded from macro 'MLXSW_ITEM_BUF'
static inline void \
^
<scratch space>:109:1: note: expanded from here
mlxsw_emad_string_tlv_string_memcpy_from
^
drivers/net/ethernet/mellanox/mlxsw/core.c:278:1: warning: unused function 'mlxsw_emad_string_tlv_string_memcpy_to' [-Wunused-function]
drivers/net/ethernet/mellanox/mlxsw/item.h:442:27: note: expanded from macro 'MLXSW_ITEM_BUF'
static inline void \
^
<scratch space>:121:1: note: expanded from here
mlxsw_emad_string_tlv_string_memcpy_to
^
drivers/net/ethernet/mellanox/mlxsw/core.c:285:1: warning: unused function 'mlxsw_emad_reg_tlv_type_get' [-Wunused-function]
MLXSW_ITEM32(emad, reg_tlv, type, 0x00, 27, 5);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char *buf) \
^
<scratch space>:154:1: note: expanded from here
mlxsw_emad_reg_tlv_type_get
^
drivers/net/ethernet/mellanox/mlxsw/core.c:296:1: warning: unused function 'mlxsw_emad_end_tlv_type_get' [-Wunused-function]
MLXSW_ITEM32(emad, end_tlv, type, 0x00, 27, 5);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char *buf) \
^
<scratch space>:21:1: note: expanded from here
mlxsw_emad_end_tlv_type_get
^
drivers/net/ethernet/mellanox/mlxsw/core.c:302:1: warning: unused function 'mlxsw_emad_end_tlv_len_get' [-Wunused-function]
MLXSW_ITEM32(emad, end_tlv, len, 0x00, 16, 11);
^
drivers/net/ethernet/mellanox/mlxsw/item.h:355:19: note: expanded from macro 'MLXSW_ITEM32'
static inline u32 mlxsw_##_type##_##_cname##_##_iname##_get(const char *buf) \
^
<scratch space>:54:1: note: expanded from here
mlxsw_emad_end_tlv_len_get
^
>> drivers/net/ethernet/mellanox/mlxsw/core.c:1995:5: warning: stack frame size of 2192 bytes in function 'mlxsw_core_bus_device_register' [-Wframe-larger-than=]
int mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info,
^
19 warnings generated.


vim +/mlxsw_core_bus_device_register +1995 drivers/net/ethernet/mellanox/mlxsw/core.c

03bffcad491fa82 Shalom Toledo 2018-12-03 1994
03bffcad491fa82 Shalom Toledo 2018-12-03 @1995 int mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info,
03bffcad491fa82 Shalom Toledo 2018-12-03 1996 const struct mlxsw_bus *mlxsw_bus,
03bffcad491fa82 Shalom Toledo 2018-12-03 1997 void *bus_priv, bool reload,
5bcfb6a45a61425 Jiri Pirko 2019-10-03 1998 struct devlink *devlink,
5bcfb6a45a61425 Jiri Pirko 2019-10-03 1999 struct netlink_ext_ack *extack)
03bffcad491fa82 Shalom Toledo 2018-12-03 2000 {
03bffcad491fa82 Shalom Toledo 2018-12-03 2001 bool called_again = false;
03bffcad491fa82 Shalom Toledo 2018-12-03 2002 int err;
03bffcad491fa82 Shalom Toledo 2018-12-03 2003
03bffcad491fa82 Shalom Toledo 2018-12-03 2004 again:
03bffcad491fa82 Shalom Toledo 2018-12-03 2005 err = __mlxsw_core_bus_device_register(mlxsw_bus_info, mlxsw_bus,
5bcfb6a45a61425 Jiri Pirko 2019-10-03 2006 bus_priv, reload,
5bcfb6a45a61425 Jiri Pirko 2019-10-03 2007 devlink, extack);
03bffcad491fa82 Shalom Toledo 2018-12-03 2008 /* -EAGAIN is returned in case the FW was updated. FW needs
03bffcad491fa82 Shalom Toledo 2018-12-03 2009 * a reset, so lets try to call __mlxsw_core_bus_device_register()
03bffcad491fa82 Shalom Toledo 2018-12-03 2010 * again.
03bffcad491fa82 Shalom Toledo 2018-12-03 2011 */
03bffcad491fa82 Shalom Toledo 2018-12-03 2012 if (err == -EAGAIN && !called_again) {
03bffcad491fa82 Shalom Toledo 2018-12-03 2013 called_again = true;
03bffcad491fa82 Shalom Toledo 2018-12-03 2014 goto again;
03bffcad491fa82 Shalom Toledo 2018-12-03 2015 }
03bffcad491fa82 Shalom Toledo 2018-12-03 2016
03bffcad491fa82 Shalom Toledo 2018-12-03 2017 return err;
03bffcad491fa82 Shalom Toledo 2018-12-03 2018 }
93c1edb27f9e7ef Jiri Pirko 2015-07-29 2019 EXPORT_SYMBOL(mlxsw_core_bus_device_register);
93c1edb27f9e7ef Jiri Pirko 2015-07-29 2020

:::::: The code at line 1995 was first introduced by commit
:::::: 03bffcad491fa824eba21b68e4ed710f9eca49d8 mlxsw: core: Reset firmware after flash during driver initialization

:::::: TO: Shalom Toledo <shalomt@xxxxxxxxxxxx>
:::::: CC: David S. Miller <davem@xxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip