netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] NET/ROM locking
@ 2005-03-02  9:02 Ralf Baechle
  2005-03-11  3:46 ` David S. Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Ralf Baechle @ 2005-03-02  9:02 UTC (permalink / raw)
  To: netdev

Fix deadlock in NET/ROM due to double locking.

Index: bk-afu/net/netrom/nr_in.c
===================================================================
--- bk-afu.orig/net/netrom/nr_in.c	2005-02-05 22:16:25.553987776 +0000
+++ bk-afu/net/netrom/nr_in.c	2005-02-05 22:16:25.555987472 +0000
@@ -74,7 +74,6 @@
 static int nr_state1_machine(struct sock *sk, struct sk_buff *skb,
 	int frametype)
 {
-	bh_lock_sock(sk);
 	switch (frametype) {
 	case NR_CONNACK: {
 		nr_cb *nr = nr_sk(sk);
@@ -103,8 +102,6 @@
 	default:
 		break;
 	}
-	bh_unlock_sock(sk);
-
 	return 0;
 }
 
@@ -116,7 +113,6 @@
 static int nr_state2_machine(struct sock *sk, struct sk_buff *skb,
 	int frametype)
 {
-	bh_lock_sock(sk);
 	switch (frametype) {
 	case NR_CONNACK | NR_CHOKE_FLAG:
 		nr_disconnect(sk, ECONNRESET);
@@ -132,8 +128,6 @@
 	default:
 		break;
 	}
-	bh_unlock_sock(sk);
-
 	return 0;
 }
 
@@ -154,7 +148,6 @@
 	nr = skb->data[18];
 	ns = skb->data[17];
 
-	bh_lock_sock(sk);
 	switch (frametype) {
 	case NR_CONNREQ:
 		nr_write_internal(sk, NR_CONNACK);
@@ -265,12 +258,10 @@
 	default:
 		break;
 	}
-	bh_unlock_sock(sk);
-
 	return queued;
 }
 
-/* Higher level upcall for a LAPB frame */
+/* Higher level upcall for a LAPB frame - called with sk locked */
 int nr_process_rx_frame(struct sock *sk, struct sk_buff *skb)
 {
 	nr_cb *nr = nr_sk(sk);

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] NET/ROM locking
  2005-03-02  9:02 [PATCH] NET/ROM locking Ralf Baechle
@ 2005-03-11  3:46 ` David S. Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2005-03-11  3:46 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: netdev

On Wed, 2 Mar 2005 09:02:46 +0000
Ralf Baechle <ralf@linux-mips.org> wrote:

> Fix deadlock in NET/ROM due to double locking.

Applied, thanks Ralf.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-03-11  3:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-02  9:02 [PATCH] NET/ROM locking Ralf Baechle
2005-03-11  3:46 ` David S. Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).