From patchwork Tue Mar 9 21:44:00 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tetsuo Handa X-Patchwork-Id: 47181 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 01CC6B7D18 for ; Wed, 10 Mar 2010 08:44:36 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754051Ab0CIVoH (ORCPT ); Tue, 9 Mar 2010 16:44:07 -0500 Received: from wine.ocn.ne.jp ([122.1.235.145]:62244 "EHLO smtp.wine.ocn.ne.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752234Ab0CIVoD (ORCPT ); Tue, 9 Mar 2010 16:44:03 -0500 Received: from CLAMP (p6003-ipbf606marunouchi.tokyo.ocn.ne.jp [124.86.39.3]) by smtp.wine.ocn.ne.jp (Postfix) with ESMTP id 2E239308A; Wed, 10 Mar 2010 06:44:02 +0900 (JST) To: eric.dumazet@gmail.com, davem@davemloft.net Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, paulmck@linux.vnet.ibm.com, shemminger@vyatta.com Subject: Re: [2.6.34-rc1] CPU stalls when closing TCP sockets. From: Tetsuo Handa References: <201003090319.o293J6WF026448@www262.sakura.ne.jp> <1268116647.2819.64.camel@edumazet-laptop> <201003090654.o296sCnh065487@www262.sakura.ne.jp> <1268150156.3113.12.camel@edumazet-laptop> In-Reply-To: <1268150156.3113.12.camel@edumazet-laptop> Message-Id: <201003100644.CGG18721.JOHOFOMQVFSFtL@I-love.SAKURA.ne.jp> X-Mailer: Winbiff [Version 2.51 PL2] X-Accept-Language: ja,en,zh Date: Wed, 10 Mar 2010 06:44:00 +0900 Mime-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hello. Eric Dumazet wrote: > Le mardi 09 mars 2010 a 15:54 +0900, Tetsuo Handa a ecrit : > > Eric Dumazet wrote: > > > Nothing comes to my mind, I'll try to reproduce this here. > > > > When stopped at (8), Ctrl-C doesn't work. > > > > > Is 2.6.33 OK ? > > > > Yes. 2.6.33 and earlier are OK. > > OK thanks ! > > I believe commit d218d11133d888f9745802146a50255a4781d37a > (tcp: Generalized TTL Security Mechanism) might be the bug origin. Yes. "git bisect" reported that d218d11133d888f9745802146a50255a4781d37a is first bad commit. Your patch (although I needed to change like below in order to apply on linux-2.6.34-rc1) fixes the CPU stalls. Thank you. --- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index c3588b4..3f8d08f 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1651,13 +1651,13 @@ int tcp_v4_rcv(struct sk_buff *skb) if (!sk) goto no_tcp_socket; - if (iph->ttl < inet_sk(sk)->min_ttl) - goto discard_and_relse; - process: if (sk->sk_state == TCP_TIME_WAIT) goto do_time_wait; + if (iph->ttl < inet_sk(sk)->min_ttl) + goto discard_and_relse; + if (!xfrm4_policy_check(sk, XFRM_POLICY_IN, skb)) goto discard_and_relse; nf_reset(skb);