X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=net%2Fipv6%2Fudp.c;h=4210951edb6e9f0d6b8d88d917d99dd34689c5db;hb=40b42f1ebf653cd72c32eb1a1a0b9fea2dfbfd7d;hp=b083c09e3d2d1b4757042e08684a10d7dc48d649;hpb=0278ef8b484a71917bd4f03a763285cdaac10954;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))