CC: kbuild-all(a)lists.01.org TO: Jiri Pirko tree: https://github.com/jpirko/linux_mlxsw jiri_devel_xmrouter head: c452ac0a6496122cc1fcd4f54e3fca1631ac6427 commit: a85ae9826ed2a51277b63beae8413410db09ddae [11/26] mlxsw: spectrum_router_xm: Implement L-value tracking for M-index :::::: branch date: 12 hours ago :::::: commit date: 12 hours ago compiler: ia64-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot cppcheck possible warnings: (new ones prefixed by >>, may not real problems) >> drivers/net/ethernet/mellanox/mlxsw/spectrum_router_xm.c:289:55: warning: Either the condition '!fib_entry' is redundant or there is possible null pointer dereference: fib_entry. [nullPointerRedundantCheck] struct mlxsw_sp_router_xm_ltable_node *ltable_node = fib_entry->ltable_node; ^ drivers/net/ethernet/mellanox/mlxsw/spectrum_router_xm.c:293:6: note: Assuming that condition '!fib_entry' is not redundant if (!fib_entry || !fib_entry->ltable_node) ^ drivers/net/ethernet/mellanox/mlxsw/spectrum_router_xm.c:289:55: note: Null pointer dereference struct mlxsw_sp_router_xm_ltable_node *ltable_node = fib_entry->ltable_node; ^ drivers/net/ethernet/mellanox/mlxsw/spectrum_router_xm.c:291:14: warning: Either the condition '!fib_entry' is redundant or there is possible null pointer dereference: fib_entry. [nullPointerRedundantCheck] u8 lvalue = fib_entry->lvalue; ^ drivers/net/ethernet/mellanox/mlxsw/spectrum_router_xm.c:293:6: note: Assuming that condition '!fib_entry' is not redundant if (!fib_entry || !fib_entry->ltable_node) ^ drivers/net/ethernet/mellanox/mlxsw/spectrum_router_xm.c:291:14: note: Null pointer dereference u8 lvalue = fib_entry->lvalue; ^ vim +289 drivers/net/ethernet/mellanox/mlxsw/spectrum_router_xm.c a85ae9826ed2a51 Jiri Pirko 2020-07-17 285 a85ae9826ed2a51 Jiri Pirko 2020-07-17 286 static void mlxsw_sp_router_xm_ml_entry_del(struct mlxsw_sp *mlxsw_sp, a85ae9826ed2a51 Jiri Pirko 2020-07-17 287 struct mlxsw_sp_router_xm_fib_entry *fib_entry) a85ae9826ed2a51 Jiri Pirko 2020-07-17 288 { a85ae9826ed2a51 Jiri Pirko 2020-07-17 @289 struct mlxsw_sp_router_xm_ltable_node *ltable_node = fib_entry->ltable_node; a85ae9826ed2a51 Jiri Pirko 2020-07-17 290 struct mlxsw_sp_router_xm *router_xm = mlxsw_sp->router->xm; a85ae9826ed2a51 Jiri Pirko 2020-07-17 291 u8 lvalue = fib_entry->lvalue; a85ae9826ed2a51 Jiri Pirko 2020-07-17 292 a85ae9826ed2a51 Jiri Pirko 2020-07-17 293 if (!fib_entry || !fib_entry->ltable_node) a85ae9826ed2a51 Jiri Pirko 2020-07-17 294 return; a85ae9826ed2a51 Jiri Pirko 2020-07-17 295 a85ae9826ed2a51 Jiri Pirko 2020-07-17 296 ltable_node->lvalue_ref[lvalue]--; a85ae9826ed2a51 Jiri Pirko 2020-07-17 297 if (lvalue == ltable_node->current_lvalue && lvalue && a85ae9826ed2a51 Jiri Pirko 2020-07-17 298 !ltable_node->lvalue_ref[lvalue]) { a85ae9826ed2a51 Jiri Pirko 2020-07-17 299 u8 new_lvalue = lvalue - 1; a85ae9826ed2a51 Jiri Pirko 2020-07-17 300 a85ae9826ed2a51 Jiri Pirko 2020-07-17 301 /* Find the biggest L-value left out there. */ a85ae9826ed2a51 Jiri Pirko 2020-07-17 302 while (new_lvalue > 0 && !ltable_node->lvalue_ref[lvalue]) a85ae9826ed2a51 Jiri Pirko 2020-07-17 303 new_lvalue--; a85ae9826ed2a51 Jiri Pirko 2020-07-17 304 a85ae9826ed2a51 Jiri Pirko 2020-07-17 305 ltable_node->current_lvalue = new_lvalue; a85ae9826ed2a51 Jiri Pirko 2020-07-17 306 mlxsw_sp_router_xm_ltable_lvalue_set(mlxsw_sp, ltable_node); a85ae9826ed2a51 Jiri Pirko 2020-07-17 307 } a85ae9826ed2a51 Jiri Pirko 2020-07-17 308 a85ae9826ed2a51 Jiri Pirko 2020-07-17 309 mlxsw_sp_router_xm_ltable_node_put(router_xm, ltable_node); a85ae9826ed2a51 Jiri Pirko 2020-07-17 310 } a85ae9826ed2a51 Jiri Pirko 2020-07-17 311 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org