[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4796401.BXlLaoS7qO@cpaasch-mac>
Date: Sat, 06 Apr 2013 11:18:01 +0200
From: Christoph Paasch <christoph.paasch@...ouvain.be>
To: Hannes Frederic Sowa <hannes@...essinduktion.org>
Cc: Tetja Rediske <tetja@...ja.de>, djduanjiong@...il.com,
netdev@...r.kernel.org, steffen.klassert@...unet.com,
Neal Cardwell <ncardwell@...gle.com>,
Eric Dumazet <eric.dumazet@...il.com>,
David Miller <davem@...emloft.net>
Subject: Re: PROBLEM: IPv6 TCP-Connections resetting
On Saturday 06 April 2013 11:14:44 Christoph Paasch wrote:
> From: Christoph Paasch <christoph.paasch@...ouvain.be>
Argh...
Sorry, my e-mail client messed up the patch. Here the resend:
------
From: Christoph Paasch <christoph.paasch@...ouvain.be>
Date: Sat, 6 Apr 2013 10:21:01 +0200
Subject: [PATCH] ipv6/tcp: Stop processing ICMPv6 redirect messages
Upon reception of an ICMPv6 Redirect message, we should not continue
inside tcp_v6_err. Otherwise, an error will be reported or request-socks
will be closed.
Adds also some parantheses to respect codingstyle guidelines.
Reported-by: Tetja Rediske <tetja@...ja.de>
Signed-off-by: Christoph Paasch <christoph.paasch@...ouvain.be>
---
net/ipv6/tcp_ipv6.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 1033d2b..24434c5 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -386,6 +386,7 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
if (dst)
dst->ops->redirect(dst, sk, skb);
+ goto out;
}
if (type == ICMPV6_PKT_TOOBIG) {
@@ -441,16 +442,18 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
sk->sk_error_report(sk); /* Wake people up to see the error (see connect in sock.c) */
tcp_done(sk);
- } else
+ } else {
sk->sk_err_soft = err;
+ }
goto out;
}
if (!sock_owned_by_user(sk) && np->recverr) {
sk->sk_err = err;
sk->sk_error_report(sk);
- } else
+ } else {
sk->sk_err_soft = err;
+ }
out:
bh_unlock_sock(sk);
--
1.8.1.227.g44fe835
--
IP Networking Lab --- http://inl.info.ucl.ac.be
MultiPath TCP in the Linux Kernel --- http://multipath-tcp.org
UCLouvain
--
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists