aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/hci_event.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2017-09-21 15:51:23 +0200
committerMarcel Holtmann <marcel@holtmann.org>2017-10-30 09:04:07 +0100
commita9ee77af751f435675054f5a7e2d2e69cbfe9e33 (patch)
tree75d3524a3d20e74e4d34d0e43b3f9b6ff41fe0cb /net/bluetooth/hci_event.c
parentBluetooth: increase timeout for le auto connections (diff)
downloadlinux-dev-a9ee77af751f435675054f5a7e2d2e69cbfe9e33.tar.xz
linux-dev-a9ee77af751f435675054f5a7e2d2e69cbfe9e33.zip
Bluetooth: avoid recursive locking in hci_send_to_channel()
Mart reported a deadlock in -RT in the call path: hci_send_monitor_ctrl_event() -> hci_send_to_channel() because both functions acquire the same read lock hci_sk_list.lock. This is also a mainline issue because the qrwlock implementation is writer fair (the traditional rwlock implementation is reader biased). To avoid the deadlock there is now __hci_send_to_channel() which expects the readlock to be held. Fixes: 38ceaa00d02d ("Bluetooth: Add support for sending MGMT commands and events to monitor") Reported-by: Mart van de Wege <mvdwege@gmail.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/hci_event.c')
0 files changed, 0 insertions, 0 deletions