NET/ROM locking
Subsystems (2)
PATCH 1/1 NET/ROM locking
Fix deadlock in NET/ROM due to double locking.
net/netrom/nr_in.c +1 -10
@@ -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);
Quoted 1 line · On Wed, 2 Mar 2005 09:02:46 +0000 Ralf Baechle <[email protected]> wrote:
Fix deadlock in NET/ROM due to double locking.
Applied, thanks Ralf.