From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757841AbYDKDS0 (ORCPT ); Thu, 10 Apr 2008 23:18:26 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754812AbYDKDSO (ORCPT ); Thu, 10 Apr 2008 23:18:14 -0400 Received: from rtr.ca ([76.10.145.34]:4596 "EHLO mail.rtr.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753373AbYDKDSN (ORCPT ); Thu, 10 Apr 2008 23:18:13 -0400 Message-ID: <47FED872.7010604@rtr.ca> Date: Thu, 10 Apr 2008 23:18:10 -0400 From: Mark Lord Organization: Real-Time Remedies Inc. User-Agent: Thunderbird 2.0.0.12 (X11/20080213) MIME-Version: 1.0 To: =?UTF-8?B?WU9TSElGVUpJIEhpZGVha2kgLyDlkInol6Toi7HmmI4=?= Cc: davem@davemloft.net, jesper.juhl@gmail.com, tilman@imap.cc, jeff@garzik.org, rjw@sisk.pl, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, xemul@openvz.org, Linus Torvalds , Andrew Morton Subject: [PATCH 2.6.25] net sockets: fix timewait namespace regression References: <47FEADCB.7070104@rtr.ca> <20080410.172648.187059862.davem@davemloft.net> <47FEB0E3.8080507@rtr.ca> <20080411.115907.116626245.yoshfuji@linux-ipv6.org> In-Reply-To: <20080411.115907.116626245.yoshfuji@linux-ipv6.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org YOSHIFUJI Hideaki / 吉藤英明 wrote: > In article <47FEB0E3.8080507@rtr.ca> (at Thu, 10 Apr 2008 20:29:23 -0400), Mark Lord says: > >> David Miller wrote: >>> From: Mark Lord >>> Date: Thu, 10 Apr 2008 20:16:11 -0400 >>> >>>> [c67499c0e772064b37ad75eb69b28fc218752636 is first bad commit >>>> commit c67499c0e772064b37ad75eb69b28fc218752636 >>>> Author: Pavel Emelyanov >>>> Date: Thu Jan 31 05:06:40 2008 -0800 >>>> >>>> [NETNS]: Tcp-v4 sockets per-net lookup. >>>> >>>> Add a net argument to inet_lookup and propagate it further >>>> into lookup calls. Plus tune the __inet_check_established. >>>> >>>> The dccp and inet_diag, which use that lookup functions >>>> pass the init_net into them. >>>> >>>> Signed-off-by: Pavel Emelyanov >>>> Signed-off-by: David S. Miller >>> Thanks Mark. >>> >>> Pavel can you take a look? I suspect that the namespace >>> changes or gets NULL'd out somehow and this leads to the >>> resets because the socket can no longer be found. Perhaps >>> it's even a problem with time-wait socket namespace >>> propagation. >> .. >> >> My system here is now set up for quick/easy retest, if you have any >> suggestions or patches to try out. > > Please try this, from net-2.6.26 tree. .. Works perfectly, thanks. Looks obvious, too. Push it out to Linus now for 2.6.25. Thanks! Acked-by: Mark Lord > ---- >>>From 8d9f1744cab50acb0c6c9553be533621e01f178b Mon Sep 17 00:00:00 2001 > From: Daniel Lezcano > Date: Fri, 21 Mar 2008 04:12:54 -0700 > Subject: [PATCH] [NETNS][IPV6] tcp - assign the netns for timewait sockets > > Copy the network namespace from the socket to the timewait socket. > > Signed-off-by: Daniel Lezcano > Signed-off-by: David S. Miller .. > Signed-off-by: YOSHIFUJI Hideaki Acked-by: Mark Lord > --- > net/ipv4/inet_timewait_sock.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/net/ipv4/inet_timewait_sock.c b/net/ipv4/inet_timewait_sock.c > index 876169f..717c411 100644 > --- a/net/ipv4/inet_timewait_sock.c > +++ b/net/ipv4/inet_timewait_sock.c > @@ -124,6 +124,7 @@ struct inet_timewait_sock *inet_twsk_alloc(const struct sock *sk, const int stat > tw->tw_hash = sk->sk_hash; > tw->tw_ipv6only = 0; > tw->tw_prot = sk->sk_prot_creator; > + tw->tw_net = sk->sk_net; > atomic_set(&tw->tw_refcnt, 1); > inet_twsk_dead_node_init(tw); > __module_get(tw->tw_prot->owner);