summaryrefslogtreecommitdiffstats
path: root/net/ipv6/udp.c
diff options
context:
space:
mode:
authorDuan Jiong2013-09-20 12:20:28 +0200
committerDavid S. Miller2013-09-24 16:15:49 +0200
commit1a462d189280b560bd84af1407e4d848e262b3b3 (patch)
tree67d0934fb3e4cad4f9219c7e033d9b0e7856d18b /net/ipv6/udp.c
parentmrp: add periodictimer to allow retries when packets get lost (diff)
downloadkernel-qcow2-linux-1a462d189280b560bd84af1407e4d848e262b3b3.tar.gz
kernel-qcow2-linux-1a462d189280b560bd84af1407e4d848e262b3b3.tar.xz
kernel-qcow2-linux-1a462d189280b560bd84af1407e4d848e262b3b3.zip
net: udp: do not report ICMP redirects to user space
Redirect isn't an error condition, it should leave the error handler without touching the socket. Signed-off-by: Duan Jiong <duanj.fnst@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/udp.c')
-rw-r--r--net/ipv6/udp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index f4058150262b..72b7eaaf3ca0 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -525,8 +525,10 @@ void __udp6_lib_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
if (type == ICMPV6_PKT_TOOBIG)
ip6_sk_update_pmtu(skb, sk, info);
- if (type == NDISC_REDIRECT)
+ if (type == NDISC_REDIRECT) {
ip6_sk_redirect(skb, sk);
+ goto out;
+ }
np = inet6_sk(sk);