ipv6: ip6_route_output() never returns NULL.
ip6_route_output() never returns NULL, so it is wrong to check if the return value is NULL. Signed-off-by: RongQing.Li <roy.qing.li@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ba9adbe67e
commit
5095d64db1
@ -1926,8 +1926,10 @@ static int ip6mr_forward2(struct net *net, struct mr6_table *mrt,
|
||||
};
|
||||
|
||||
dst = ip6_route_output(net, NULL, &fl6);
|
||||
if (!dst)
|
||||
if (dst->error) {
|
||||
dst_release(dst);
|
||||
goto out_free;
|
||||
}
|
||||
|
||||
skb_dst_drop(skb);
|
||||
skb_dst_set(skb, dst);
|
||||
|
@ -1545,9 +1545,10 @@ void ndisc_send_redirect(struct sk_buff *skb, struct neighbour *neigh,
|
||||
&saddr_buf, &ipv6_hdr(skb)->saddr, dev->ifindex);
|
||||
|
||||
dst = ip6_route_output(net, NULL, &fl6);
|
||||
if (dst == NULL)
|
||||
if (dst->error) {
|
||||
dst_release(dst);
|
||||
return;
|
||||
|
||||
}
|
||||
dst = xfrm_lookup(net, dst, flowi6_to_flowi(&fl6), NULL, 0);
|
||||
if (IS_ERR(dst))
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user