2009-05-03 20:46:48

by Jan Kucera

[permalink] [raw]
Subject: Deadlock in bluetooth/sco.c

Hi,

I've found some possible deadlock in net/bluetooth/sco.c - version
2.6.28 (probably this code is in newer versions too).
Could someone confirm this? Thank you.


net/bluetooth/sco.c
==============

function sco_conn_ready: (conn <- sk)
-------------------------------------
lockig sco_conn_lock(conn) at line 796
bh_lock_sock(sk) at line 800

function sco_conn_del: (sk <- conn)
---------------------------------
bh_lock_sock(sk); at 154
calling function sco_chan_del(sk, err); at line 156
where at line 767 is sco_conn_lock(conn);



caught by Stanse
http://iti.fi.muni.cz/stanse/


2009-05-04 01:17:15

by Marcel Holtmann

[permalink] [raw]
Subject: Re: Deadlock in bluetooth/sco.c

Hi Jan,

> I've found some possible deadlock in net/bluetooth/sco.c - version
> 2.6.28 (probably this code is in newer versions too).
> Could someone confirm this? Thank you.
>
>
> net/bluetooth/sco.c
> ==============
>
> function sco_conn_ready: (conn <- sk)
> -------------------------------------
> lockig sco_conn_lock(conn) at line 796
> bh_lock_sock(sk) at line 800
>
> function sco_conn_del: (sk <- conn)
> ---------------------------------
> bh_lock_sock(sk); at 154
> calling function sco_chan_del(sk, err); at line 156
> where at line 767 is sco_conn_lock(conn);

can you please re-test with the bluetooth-testing.git tree so we can
verify that this issue still exists.

Regards

Marcel