mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
libcxgb: fix error check for ip6_route_output()
ip6_route_output() never returns NULL so check dst->error instead of !dst. Signed-off-by: Varun Prakash <varun@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
63dfb0dac9
commit
a9a8cdb368
@ -133,17 +133,15 @@ cxgb_find_route6(struct cxgb4_lld_info *lldi,
|
||||
if (ipv6_addr_type(&fl6.daddr) & IPV6_ADDR_LINKLOCAL)
|
||||
fl6.flowi6_oif = sin6_scope_id;
|
||||
dst = ip6_route_output(&init_net, NULL, &fl6);
|
||||
if (!dst)
|
||||
goto out;
|
||||
if (!cxgb_our_interface(lldi, get_real_dev,
|
||||
ip6_dst_idev(dst)->dev) &&
|
||||
!(ip6_dst_idev(dst)->dev->flags & IFF_LOOPBACK)) {
|
||||
if (dst->error ||
|
||||
(!cxgb_our_interface(lldi, get_real_dev,
|
||||
ip6_dst_idev(dst)->dev) &&
|
||||
!(ip6_dst_idev(dst)->dev->flags & IFF_LOOPBACK))) {
|
||||
dst_release(dst);
|
||||
dst = NULL;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
out:
|
||||
return dst;
|
||||
}
|
||||
EXPORT_SYMBOL(cxgb_find_route6);
|
||||
|
Loading…
Reference in New Issue
Block a user