WSL2-Linux-Kernel/net
Sebastian Andrzej Siewior a9ee77af75 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: 38ceaa00d0 ("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>
2017-10-30 09:04:07 +01:00
..
6lowpan
9p
802
8021q Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
appletalk
atm
ax25
batman-adv This cleanup patchset includes the following patches: 2017-10-06 10:12:52 -07:00
bluetooth Bluetooth: avoid recursive locking in hci_send_to_channel() 2017-10-30 09:04:07 +01:00
bpf bpf: add meta pointer for direct access 2017-09-26 13:36:44 -07:00
bridge net: bridge: Pass extack to down to netdev_master_upper_dev_link 2017-10-04 21:39:34 -07:00
caif
can
ceph
core Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
dcb
dccp
decnet
dns_resolver
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
ethernet
hsr
ieee802154
ife
ipv4 tcp: a small refactor of RACK loss detection 2017-10-05 21:24:47 -07:00
ipv6 net/ipv6: Convert icmpv6_push_pending_frames to void 2017-10-06 09:52:31 -07:00
ipx
iucv
kcm kcm: Remove redundant unlikely() 2017-09-26 09:54:06 -07:00
key
l2tp l2tp: fix l2tp_eth module loading 2017-10-01 22:35:07 -07:00
l3mdev
lapb
llc
mac80211
mac802154
mpls
ncsi
netfilter
netlabel
netlink netlink: do not proceed if dump's start() errs 2017-09-30 16:13:31 +01:00
netrom
nfc net: nfc: llcp_core: use setup_timer() helper. 2017-09-25 13:19:20 -07:00
nsh
openvswitch net: Add extack to upper device linking 2017-10-04 21:39:33 -07:00
packet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
phonet
psample
qrtr
rds RDS: IB: Initialize max_items based on underlying device attributes 2017-10-05 21:16:33 -07:00
rfkill
rose
rxrpc
sched flow_dissector: dissect tunnel info 2017-10-02 11:06:07 -07:00
sctp Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-05 18:19:22 -07:00
smc
strparser
sunrpc IB: Correct MR length field to be 64-bit 2017-09-25 11:47:23 -04:00
switchdev
tipc tipc: use only positive error codes in messages 2017-10-01 04:03:35 +01:00
tls
unix
vmw_vsock VSOCK: add sock_diag interface 2017-10-05 18:44:17 -07:00
wimax
wireless
x25
xfrm
Kconfig
Makefile
compat.c
socket.c
sysctl_net.c