[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080330091636.GA2847@ami.dom.local>
Date: Sun, 30 Mar 2008 11:16:36 +0200
From: Jarek Poplawski <jarkao2@...il.com>
To: Bernard Pidoux <bpidoux@...e.fr>
Cc: Francois Romieu <romieu@...zoreil.com>,
Linux Netdev List <netdev@...r.kernel.org>,
Jarek Poplawski <jarkao2@...pl>
Subject: Re: [AX25] kernel panic
On Sun, Mar 30, 2008 at 10:43:07AM +0200, Bernard Pidoux wrote:
> Hi Jarek,
Hi Bernard,
>
> please find attached another collection of data from
> /var/log/kernel/info.log that I bziped for it is rather large.
Thanks again. It looks like ROSE sockets aren't released properly.
Here is a try to fix this. Could you test it with all previous patches
present?
Regards,
Jarek P.
(patch #5)
---
diff -Nurp 2.6.24.4-/net/rose/af_rose.c 2.6.24.4+/net/rose/af_rose.c
--- 2.6.24.4-/net/rose/af_rose.c 2008-01-24 23:58:37.000000000 +0100
+++ 2.6.24.4+/net/rose/af_rose.c 2008-03-30 10:53:19.000000000 +0200
@@ -599,17 +599,24 @@ static int rose_release(struct socket *s
if (sk == NULL) return 0;
+ sock_hold(sk);
+ sock_orphan(sk);
+ lock_sock(sk);
rose = rose_sk(sk);
switch (rose->state) {
case ROSE_STATE_0:
+ release_sock(sk);
rose_disconnect(sk, 0, -1, -1);
+ lock_sock(sk);
rose_destroy_socket(sk);
break;
case ROSE_STATE_2:
rose->neighbour->use--;
+ release_sock(sk);
rose_disconnect(sk, 0, -1, -1);
+ lock_sock(sk);
rose_destroy_socket(sk);
break;
@@ -634,6 +641,8 @@ static int rose_release(struct socket *s
}
sock->sk = NULL;
+ release_sock(sk);
+ sock_put(sk);
return 0;
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists