From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S263489AbTDGOyh (for ); Mon, 7 Apr 2003 10:54:37 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S263467AbTDGOyf (for ); Mon, 7 Apr 2003 10:54:35 -0400 Received: from web21208.mail.yahoo.com ([216.136.175.166]:34891 "HELO web21208.mail.yahoo.com") by vger.kernel.org with SMTP id S263455AbTDGOyX (for ); Mon, 7 Apr 2003 10:54:23 -0400 Message-ID: <20030407150558.59640.qmail@web21208.mail.yahoo.com> Date: Mon, 7 Apr 2003 08:05:58 -0700 (PDT) From: Melkor Ainur Subject: Re: failure due to swapper and inet_sock_destruct To: James Morris Cc: linux-kernel@vger.kernel.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Hello, Thanks for the suggestion. I will try it. However, examining the change, I could only see how it could lead to a sock_put(child) but not how it could lead to a sk_free(parent). Could you help me understand? Melkor --- James Morris wrote: > On Sat, 5 Apr 2003, Melkor Ainur wrote: > > > Hello, > > > > I am using the 2.4.20 kernel in a fairly high > stress > > bursty network environment. Every so often, I see > the > > following error message from the kernel: > > > > Attempt to release TCP socket in state 10 cfbfd540 > > > > Could you please try the patch from Dave Miller > below (which is already in > 2.4.21-pre). > > > - James > -- > James Morris > > > # This is a BitKeeper generated patch for the > following project: > # Project Name: Linux kernel tree > # This patch format is intended for GNU patch > command version 2.5 or higher. > # This patch includes the following deltas: > # ChangeSet 1.930.3.3 -> 1.930.3.4 > # net/ipv4/tcp_minisocks.c 1.12 -> 1.13 > # > # The following is the BitKeeper ChangeSet Log > # -------------------------------------------- > # 03/01/30 davem@nuts.ninka.net 1.930.3.4 > # [TCP]: In tcp_check_req, handle ACKless packets > properly. > # -------------------------------------------- > # > diff -Nru a/net/ipv4/tcp_minisocks.c > b/net/ipv4/tcp_minisocks.c > --- a/net/ipv4/tcp_minisocks.c Sun Apr 6 21:41:32 > 2003 > +++ b/net/ipv4/tcp_minisocks.c Sun Apr 6 21:41:32 > 2003 > @@ -938,6 +938,12 @@ > if (flg & (TCP_FLAG_RST|TCP_FLAG_SYN)) > goto embryonic_reset; > > + /* ACK sequence verified above, just make sure ACK > is > + * set. If ACK not set, just silently drop the > packet. > + */ > + if (!(flg & TCP_FLAG_ACK)) > + return NULL; > + > /* If TCP_DEFER_ACCEPT is set, drop bare ACK. */ > if (tp->defer_accept && TCP_SKB_CB(skb)->end_seq > == req->rcv_isn+1) { > req->acked = 1; > __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://tax.yahoo.com