• Ido Schimmel's avatar
    mlxsw: spectrum_router: Ignore routes using a deleted nexthop object · dc860b88
    Ido Schimmel authored
    Routes are currently processed from a workqueue whereas nexthop objects
    are processed in system call context. This can result in the driver not
    finding a suitable nexthop group for a route and issuing a warning [1].
    
    Fix this by ignoring such routes earlier in the process. The subsequent
    deletion notification will be ignored as well.
    
    [1]
     WARNING: CPU: 2 PID: 7754 at drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c:4853 mlxsw_sp_router_fib_event_work+0x1112/0x1e00 [mlxsw_spectrum]
     [...]
     CPU: 2 PID: 7754 Comm: kworker/u8:0 Not tainted 5.11.0-rc6-cq-20210207-1 #16
     Hardware name: Mellanox Technologies Ltd. MSN2100/SA001390, BIOS 5.6.5 05/24/2018
     Workqueue: mlxsw_core_ordered mlxsw_sp_router_fib_event_work [mlxsw_spectrum]
     RIP: 0010:mlxsw_sp_router_fib_event_work+0x1112/0x1e00 [mlxsw_spectrum]
    
    Fixes: cdd6cfc5 ("mlxsw: spectrum_router: Allow programming routes with nexthop objects")
    Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Reported-by: default avatarAlex Veber <alexve@nvidia.com>
    Tested-by: default avatarAlex Veber <alexve@nvidia.com>
    Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
    Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    dc860b88
spectrum_router.c 254 KB