Re: [PATCH net-next v2 6/9] net: marvell: prestera: Add heplers to interact with fib_notifier_info

From: kernel test robot
Date: Thu Jul 21 2022 - 20:22:13 EST


Hi Yevhen,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url: https://github.com/intel-lab-lkp/linux/commits/Yevhen-Orlov/net-marvell-prestera-add-nexthop-routes-offloading/20220722-061517
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 5588d628027092e66195097bdf6835ddf64418b3
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20220722/202207220859.9D3mfHop-lkp@xxxxxxxxx/config)
compiler: powerpc-linux-gcc (GCC) 12.1.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://github.com/intel-lab-lkp/linux/commit/a6535f7f7b3aea14504cac208c170d413739d5f9
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Yevhen-Orlov/net-marvell-prestera-add-nexthop-routes-offloading/20220722-061517
git checkout a6535f7f7b3aea14504cac208c170d413739d5f9
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/net/ethernet/marvell/prestera/

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

All warnings (new ones prefixed by >>):

drivers/net/ethernet/marvell/prestera/prestera_router.c: In function 'prestera_kern_fib_info_nhs':
>> drivers/net/ethernet/marvell/prestera/prestera_router.c:274:47: warning: the comparison will always evaluate as 'true' for the address of 'fib6_nh' will never be NULL [-Waddress]
274 | return fen6_info->rt->fib6_nh ?
| ^
In file included from include/net/nexthop.h:17,
from drivers/net/ethernet/marvell/prestera/prestera_router.c:10:
include/net/ip6_fib.h:206:41: note: 'fib6_nh' declared here
206 | struct fib6_nh fib6_nh[];
| ^~~~~~~
drivers/net/ethernet/marvell/prestera/prestera_router.c: In function '__prestera_k_arb_fc_apply':
drivers/net/ethernet/marvell/prestera/prestera_router.c:466:9: warning: enumeration value 'PRESTERA_FIB_TYPE_UC_NH' not handled in switch [-Wswitch]
466 | switch (fc->lpm_info.fib_type) {
| ^~~~~~
drivers/net/ethernet/marvell/prestera/prestera_router.c: At top level:
drivers/net/ethernet/marvell/prestera/prestera_router.c:262:12: warning: 'prestera_kern_fib_info_nhs' defined but not used [-Wunused-function]
262 | static int prestera_kern_fib_info_nhs(struct fib_notifier_info *info)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/marvell/prestera/prestera_router.c:230:1: warning: 'prestera_kern_fib_info_nhc' defined but not used [-Wunused-function]
230 | prestera_kern_fib_info_nhc(struct fib_notifier_info *info, int n)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/marvell/prestera/prestera_router.c:216:1: warning: 'prestera_util_kern_set_nh_offload' defined but not used [-Wunused-function]
216 | prestera_util_kern_set_nh_offload(struct fib_nh_common *nhc, bool offloaded, bool trap)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/marvell/prestera/prestera_router.c:206:13: warning: 'prestera_util_kern_set_neigh_offload' defined but not used [-Wunused-function]
206 | static void prestera_util_kern_set_neigh_offload(struct neighbour *n,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/marvell/prestera/prestera_router.c:194:1: warning: 'prestera_util_kern_n_is_reachable' defined but not used [-Wunused-function]
194 | prestera_util_kern_n_is_reachable(u32 tb_id,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/marvell/prestera/prestera_router.c:135:13: warning: 'prestera_fib_info_is_nh' defined but not used [-Wunused-function]
135 | static bool prestera_fib_info_is_nh(struct fib_notifier_info *info)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/marvell/prestera/prestera_router.c:122:13: warning: 'prestera_fib_info_is_direct' defined but not used [-Wunused-function]
122 | static bool prestera_fib_info_is_direct(struct fib_notifier_info *info)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +274 drivers/net/ethernet/marvell/prestera/prestera_router.c

261
262 static int prestera_kern_fib_info_nhs(struct fib_notifier_info *info)
263 {
264 struct fib6_entry_notifier_info *fen6_info;
265 struct fib_entry_notifier_info *fen4_info;
266
267 if (info->family == AF_INET) {
268 fen4_info = container_of(info, struct fib_entry_notifier_info,
269 info);
270 return fib_info_num_path(fen4_info->fi);
271 } else if (info->family == AF_INET6) {
272 fen6_info = container_of(info, struct fib6_entry_notifier_info,
273 info);
> 274 return fen6_info->rt->fib6_nh ?
275 (fen6_info->rt->fib6_nsiblings + 1) : 0;
276 }
277
278 return 0;
279 }
280

--
0-DAY CI Kernel Test Service
https://01.org/lkp