Ver código fonte

[IPV6]: Fix policy routing lookup

When the lookup in a table returns ip6_null_entry the policy routing lookup
returns it instead of continuing in the next table, which effectively means
it only searches the local table.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy 19 anos atrás
pai
commit
3226f68817
1 arquivos alterados com 3 adições e 1 exclusões
  1. 3 1
      net/ipv6/fib6_rules.c

+ 3 - 1
net/ipv6/fib6_rules.c

@@ -94,8 +94,10 @@ int fib6_rule_action(struct fib_rule *rule, struct flowi *flp,
 
 
 	if (rt != &ip6_null_entry)
 	if (rt != &ip6_null_entry)
 		goto out;
 		goto out;
-
 	dst_release(&rt->u.dst);
 	dst_release(&rt->u.dst);
+	rt = NULL;
+	goto out;
+
 discard_pkt:
 discard_pkt:
 	dst_hold(&rt->u.dst);
 	dst_hold(&rt->u.dst);
 out:
 out: