Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9a8cdb3 authored by Varun Prakash's avatar Varun Prakash Committed by David S. Miller
Browse files

libcxgb: fix error check for ip6_route_output()



ip6_route_output() never returns NULL so
check dst->error instead of !dst.

Signed-off-by: default avatarVarun Prakash <varun@chelsio.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 63dfb0da
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -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,
		if (dst->error ||
		    (!cxgb_our_interface(lldi, get_real_dev,
					 ip6_dst_idev(dst)->dev) &&
		    !(ip6_dst_idev(dst)->dev->flags & IFF_LOOPBACK)) {
		     !(ip6_dst_idev(dst)->dev->flags & IFF_LOOPBACK))) {
			dst_release(dst);
			dst = NULL;
			return NULL;
		}
	}

out:
	return dst;
}
EXPORT_SYMBOL(cxgb_find_route6);