From patchwork Sun Apr 18 00:17:32 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: andrew hendry X-Patchwork-Id: 50389 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 6E335B7D08 for ; Sun, 18 Apr 2010 10:17:44 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755993Ab0DRARi (ORCPT ); Sat, 17 Apr 2010 20:17:38 -0400 Received: from mail-pv0-f174.google.com ([74.125.83.174]:48443 "EHLO mail-pv0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755954Ab0DRARh (ORCPT ); Sat, 17 Apr 2010 20:17:37 -0400 Received: by pva18 with SMTP id 18so2415461pva.19 for ; Sat, 17 Apr 2010 17:17:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:content-type :date:message-id:mime-version:x-mailer:content-transfer-encoding; bh=zFD60COJ1mSaVf4p0yq4VFdz+SeJ/R6IPvjTK1GG2UA=; b=AZXTZ+3lECAWT8BV7EhmhbdQCfdVl/ImM/nP+61lhi7r2qhPppnjiEDdWFk0Eqyp79 I+Q8ROpGTDwhT3TGRgm0XLUgG7pUkzNvgTWvC5SvR6ibuwPj95ODo35yqIEldi8ThPOF j3swIx21SeaZeiwhTt36cebFs0d061rSNxluM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; b=Nwz13tZXddOadhpWXmfmMI8SRO5W5J6RZYzkujmR1WLQjM876supRp7TT09wS5iIUf O4MMnL2IhaeM0zSTMshIvB4uE0bfL/nfSkXKLiAEB2+PiYSYS1RlV7BExAYBkx1cz2eN u9U8xW8Vt+mQq1eRpjY8NhZthylDrXHYWzLUA= Received: by 10.141.89.17 with SMTP id r17mr3104891rvl.185.1271549856535; Sat, 17 Apr 2010 17:17:36 -0700 (PDT) Received: from [192.168.0.5] ([124.168.35.40]) by mx.google.com with ESMTPS id 23sm3798184pzk.14.2010.04.17.17.17.34 (version=SSLv3 cipher=RC4-MD5); Sat, 17 Apr 2010 17:17:35 -0700 (PDT) Subject: [PATCH] X25 fix dead unaccepted sockets From: Andrew Hendry To: netdev@vger.kernel.org Date: Sun, 18 Apr 2010 10:17:32 +1000 Message-ID: <1271549852.2802.37.camel@ibex> Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 1, An X25 program binds and listens 2, calls arrive waiting to be accepted 3, Program exits without accepting 4, Sockets time out but don't get correctly cleaned up 5, cat /proc/net/x25/socket shows the dead sockets with bad inode fields. This line borrowed from AX25 sets the dying socket so the timers clean up later. Signed-off-by: Andrew Hendry --- net/x25/af_x25.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index cbddd0c..36e84e1 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c @@ -402,6 +402,7 @@ static void __x25_destroy_socket(struct sock *sk) /* * Queue the unaccepted socket for death */ + skb->sk->sk_state = TCP_LISTEN; sock_set_flag(skb->sk, SOCK_DEAD); x25_start_heartbeat(skb->sk); x25_sk(skb->sk)->state = X25_STATE_0;