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