On 6/19/19 11:55 AM, Ido Schimmel wrote:
> diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c
> index 1d16a01eccf5..241a0e9a07c3 100644
> --- a/net/ipv6/ip6_fib.c
> +++ b/net/ipv6/ip6_fib.c
> @@ -393,6 +393,8 @@ int call_fib6_multipath_entry_notifiers(struct net *net,
>               .nsiblings = nsiblings,
>       };
>  
> +     if (!rt)
> +             return -EINVAL;
>       rt->fib6_table->fib_seq++;
>       return call_fib6_notifiers(net, event_type, &info.info);
>  }

The call to call_fib6_multipath_entry_notifiers in
ip6_route_multipath_add happens without rt_notif set because the MPATH
spec is empty? It seems like that check should be done in
ip6_route_multipath_add rather than call_fib6_multipath_entry_notifiers
with an extack saying the reason for the failure.

My expectation for call_fib6_multipath_entry_notifiers is any errors are
only for offload handlers. (And we need to get extack added to that for
relaying reasons.)

Reply via email to