X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=net%2Fipv6%2Fudp.c;h=4210951edb6e9f0d6b8d88d917d99dd34689c5db;hb=dd00cc486ab1c17049a535413d1751ef3482141c;hp=b083c09e3d2d1b4757042e08684a10d7dc48d649;hpb=b928ed56182b8ea59bd43f2d5b865f13a54d5719;p=linux-2.6 diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index b083c09e3d..4210951edb 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -748,8 +748,12 @@ do_udp_sendmsg: if (final_p) ipv6_addr_copy(&fl.fl6_dst, final_p); - if ((err = xfrm_lookup(&dst, &fl, sk, 1)) < 0) - goto out; + if ((err = __xfrm_lookup(&dst, &fl, sk, 1)) < 0) { + if (err == -EREMOTE) + err = ip6_dst_blackhole(sk, &dst, &fl); + if (err < 0) + goto out; + } if (hlimit < 0) { if (ipv6_addr_is_multicast(&fl.fl6_dst))