From: Gustavo Padovan <gustavo@padovan.org>
To: Chan-yeol Park <chanyeol.park@gmail.com>
Cc: linux-bluetooth <linux-bluetooth@vger.kernel.org>
Subject: Re: [PATCH] Bluetooth: Fix possible deadlock in SCO code
Date: Mon, 3 Dec 2012 15:40:14 -0200 [thread overview]
Message-ID: <20121203174014.GA2930@joana> (raw)
In-Reply-To: <50B62135.7080507@gmail.com>
Hi Chan-yeol,
* Chan-yeol Park <chanyeol.park@gmail.com> [2012-11-28 23:35:33 +0900]:
> Hi Gustavo
>
> If we use the below patch, we face crash or circular locking
> dependency detected.
> *It's very easily reproduced(about 100%)
>
> I guess once sco_sock_shutdown() is called,"sk" would be destructed.
> but due to response from remote side,
> sco_disconn_cfm(),sco_conn_del() would be called in order.
> and finally in sco_conn_del() crash or circular locking dependency
> is happened.
> because it access "sk" that is already destructed.
>
> I think in sco_chan_del(), based on conn info, the relation between
> sk and conn should be cleaned
> like the original code before you commit.
>
> [ 104.889622] Bluetooth: [sco_sock_shutdown] sock e8856000, sk eb695000
> [ 104.894666] Bluetooth: [sco_sock_clear_timer] sock eb695000 state 1
> [ 104.900869] Bluetooth: [__sco_sock_close] sk eb695000 state 1
> socket e8856000
> [ 104.907976] Bluetooth: [sco_sock_set_timer] sock eb695000 state 8
> timeout 400
> [ 104.915106] Bluetooth: [sco_sock_release] sock e8856000, sk eb695000
> [ 104.921439] Bluetooth: [sco_sock_clear_timer] sock eb695000 state 8
> [ 104.927875] Bluetooth: [__sco_sock_close] sk eb695000 state 8
> socket e8856000
> [ 104.938762] Bluetooth: [sco_chan_del] sk eb695000, conn ed38da60, err 104
> [ 104.956861] Bluetooth: [sco_sock_kill] sk eb695000 state 9
> [ 104.962321] Bluetooth: [sco_sock_destruct] sk eb695000
> [ 105.071125] Bluetooth: [sco_disconn_cfm] hcon ed376000 reason 22
> [ 105.075875] Bluetooth: [sco_conn_del] hcon ed376000 conn
> ed38da60, err 103
> [ 105.082848] Bluetooth: [sco_conn_del] before bh_lock_sock () sk eb695000
>
> Could you give me your opinion?
The patch is now reverted. I pushed it to bluetooth-next.
Gustavo
prev parent reply other threads:[~2012-12-03 17:40 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-15 5:41 [PATCH] Bluetooth: Fix possible deadlock in SCO code Gustavo Padovan
2012-11-28 14:35 ` Chan-yeol Park
2012-12-03 17:40 ` Gustavo Padovan [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121203174014.GA2930@joana \
--to=gustavo@padovan.org \
--cc=chanyeol.park@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).