[jpirko-mlxsw:ubridge 29/50] drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c:458:12: warning: stack frame size (1092) exceeds limit (1024) in 'mlxsw_sp_fid_erif_eport_to_vid_map'

From: kernel test robot
Date: Thu Feb 17 2022 - 18:42:02 EST


tree: https://github.com/jpirko/linux_mlxsw ubridge
head: a9a4f2bd50dde60a52d9dda03d38875255fe0b9c
commit: e6f8d1542cdc497206db6e9cd460cba6ca34e9a3 [29/50] mlxsw: spectrum_fid: Configure layer 3 egress VID classification
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220218/202202180705.ObvKcGBW-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
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/e6f8d1542cdc497206db6e9cd460cba6ca34e9a3
git remote add jpirko-mlxsw https://github.com/jpirko/linux_mlxsw
git fetch --no-tags jpirko-mlxsw ubridge
git checkout e6f8d1542cdc497206db6e9cd460cba6ca34e9a3
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/net/ethernet/mellanox/mlxsw/

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

All warnings (new ones prefixed by >>):

>> drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c:458:12: warning: stack frame size (1092) exceeds limit (1024) in 'mlxsw_sp_fid_erif_eport_to_vid_map' [-Wframe-larger-than]
static int mlxsw_sp_fid_erif_eport_to_vid_map(struct mlxsw_sp_fid *fid,
^
drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c:705:12: warning: stack frame size (1124) exceeds limit (1024) in '__mlxsw_sp_fid_port_vid_map' [-Wframe-larger-than]
static int __mlxsw_sp_fid_port_vid_map(const struct mlxsw_sp_fid *fid,
^
2 warnings generated.


vim +/mlxsw_sp_fid_erif_eport_to_vid_map +458 drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c

457
> 458 static int mlxsw_sp_fid_erif_eport_to_vid_map(struct mlxsw_sp_fid *fid,
459 u16 rif_index, bool valid)
460 {
461 struct mlxsw_sp *mlxsw_sp = fid->fid_family->mlxsw_sp;
462 struct mlxsw_sp_fid_port_vid *port_vid, *tmp;
463 char reiv_pl[MLXSW_REG_REIV_LEN] = {};
464 bool records_to_write = false;
465 u8 rec_num, current_page = 0;
466 u16 last_local_port;
467 int err;
468
469 mlxsw_reg_reiv_pack(reiv_pl, current_page, rif_index);
470 last_local_port = current_page * MLXSW_REG_REIV_REC_MAX_COUNT +
471 MLXSW_REG_REIV_REC_MAX_COUNT - 1;
472
473 list_for_each_entry_safe(port_vid, tmp, &fid->port_vid_list, list) {
474 /* The list is sorted by local_port. */
475 if (port_vid->local_port > last_local_port)
476 goto reg_write;
477
478 new_record_fill:
479 rec_num = port_vid->local_port % MLXSW_REG_REIV_REC_MAX_COUNT;
480 mlxsw_reg_reiv_rec_update_set(reiv_pl, rec_num, true);
481 mlxsw_reg_reiv_rec_evid_set(reiv_pl, rec_num,
482 valid ? port_vid->vid : 0);
483 records_to_write = true;
484 goto next_list_node;
485
486 reg_write:
487 err = mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(reiv), reiv_pl);
488 if (err)
489 return err;
490
491 records_to_write = false;
492 current_page++;
493 memset(reiv_pl, 0, MLXSW_REG_REIV_LEN);
494 mlxsw_reg_reiv_pack(reiv_pl, current_page, rif_index);
495 last_local_port = current_page * MLXSW_REG_REIV_REC_MAX_COUNT +
496 MLXSW_REG_REIV_REC_MAX_COUNT - 1;
497 goto new_record_fill;
498
499 next_list_node:
500 continue;
501 }
502
503 if (records_to_write)
504 return mlxsw_reg_write(mlxsw_sp->core, MLXSW_REG(reiv),
505 reiv_pl);
506 return 0;
507 }
508

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