On 4/15/19 6:56 PM, David Ahern wrote:
> @@ -182,14 +178,10 @@ static int fib6_rule_action_alt(struct fib_rule *rule, 
> struct flowi *flp,
>               return -EAGAIN;
>  
>       oif = (int *)arg->lookup_data;
> -     f6i = fib6_table_lookup(net, table, *oif, flp6, flags);
> -     if (f6i != net->ipv6.fib6_null_entry) {
> +     err = fib6_table_lookup(net, table, *oif, flp6, res, flags);
> +     if (!err && res->f6i != net->ipv6.fib6_null_entry)
>               err = fib6_rule_saddr(net, rule, flags, flp6,
> -                                   fib6_info_nh_dev(f6i));
> -
> -             if (likely(!err))
> -                     arg->result = f6i;
> -     }
> +                                   fib6_info_nh_dev(res->f6i));

that is supposed to be res->nh, not fib6_info_nh_dev(res->f6i).

Will fix and send a v2.

Reply via email to