From patchwork Sat Apr 6 09:18:01 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Paasch X-Patchwork-Id: 234319 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 9D1F92C0107 for ; Sat, 6 Apr 2013 20:18:10 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1163100Ab3DFJSH (ORCPT ); Sat, 6 Apr 2013 05:18:07 -0400 Received: from mail-wg0-f46.google.com ([74.125.82.46]:35779 "EHLO mail-wg0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1163074Ab3DFJSF (ORCPT ); Sat, 6 Apr 2013 05:18:05 -0400 Received: by mail-wg0-f46.google.com with SMTP id l18so4348579wgh.1 for ; Sat, 06 Apr 2013 02:18:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:reply-to:cc:subject:date:message-id :organization:user-agent:in-reply-to:references:mime-version :content-transfer-encoding:content-type; bh=snwin4xUh2lEDy3KyD9QO+xoXxaALavBhTU+O206wKw=; b=GjxBLhZPHC3+L8CREGnmSY77/k2KwiOD3tUIff1hGIJSL2K8JnClvYyiNLZO+G1/lQ oIG6YNcUaz/Of0qbWpx8JQDaZ0og0MXqSCmM0t/tBvV1ozHo+AOAtrB5Xxa9d5esdyId mprR1xPDud0KgxLYfs4cN1zjrbzrQnfKWbRUTqicSUX1ufA9nVJ2myTqzqHWtJmbkAM7 /4HtK6we5luO7LWAIEW2uSxqIHo2+gLwFnxKAUUj5AdEWzzVL1GCwmqi7pb7b09kflH8 zsT4KAytvKl3tmBy63WjSDZ99eEHBpmH8QSshiPjnjlt+Etx5UAFP+IMZ2SdX8nOp/Px Egxw== X-Received: by 10.180.72.165 with SMTP id e5mr2882362wiv.7.1365239883697; Sat, 06 Apr 2013 02:18:03 -0700 (PDT) Received: from cpaasch-mac.localnet ([62.197.125.71]) by mx.google.com with ESMTPS id fp2sm8010147wib.7.2013.04.06.02.18.02 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 06 Apr 2013 02:18:02 -0700 (PDT) From: Christoph Paasch To: Hannes Frederic Sowa Reply-To: christoph.paasch@uclouvain.be Cc: Tetja Rediske , djduanjiong@gmail.com, netdev@vger.kernel.org, steffen.klassert@secunet.com, Neal Cardwell , Eric Dumazet , David Miller Subject: Re: PROBLEM: IPv6 TCP-Connections resetting Date: Sat, 06 Apr 2013 11:18:01 +0200 Message-ID: <4796401.BXlLaoS7qO@cpaasch-mac> Organization: UCLouvain User-Agent: KMail/4.9.5 (Linux/3.5.0-86-mptcp; KDE/4.9.5; x86_64; ; ) In-Reply-To: <1460015.zN3jPXiAbD@cpaasch-mac> References: <20130405174828.310a02c3@trediske.ws.office.manitu.net> <20130406043534.GC30194@order.stressinduktion.org> <1460015.zN3jPXiAbD@cpaasch-mac> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Saturday 06 April 2013 11:14:44 Christoph Paasch wrote: > From: Christoph Paasch Argh... Sorry, my e-mail client messed up the patch. Here the resend: ------ From: Christoph Paasch 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 Signed-off-by: Christoph Paasch --- 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);