linux/net/bluetooth
Johan Hedberg abe84903a8 Bluetooth: Use proper nesting annotation for l2cap_chan lock
By default lockdep considers all L2CAP channels equal. This would mean
that we get warnings if a channel is locked when another one's lock is
tried to be acquired in the same thread. This kind of inter-channel
locking dependencies exist in the form of parent-child channels as well
as any channel wishing to elevate the security by requesting procedures
on the SMP channel.

To eliminate the chance for these lockdep warnings we introduce a
nesting level for each channel and use that when acquiring the channel
lock. For now there exists the earlier mentioned three identified
categories: SMP, "normal" channels and parent channels (i.e. those in
BT_LISTEN state). The nesting level is defined as atomic_t since we need
access to it before the lock is actually acquired.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2014-11-13 07:49:09 +01:00
..
bnep Bluetooth: Introduce BT_BREDR and BT_LE config options 2014-11-02 10:01:53 +02:00
cmtp Bluetooth: Introduce BT_BREDR and BT_LE config options 2014-11-02 10:01:53 +02:00
hidp Bluetooth: Introduce BT_BREDR and BT_LE config options 2014-11-02 10:01:53 +02:00
rfcomm Bluetooth: Fix sparse warnings in RFCOMM 2014-11-04 08:01:46 +01:00
6lowpan.c Bluetooth: 6lowpan: Remove unnecessary RCU callback 2014-11-11 14:26:02 +01:00
a2mp.c Bluetooth: Provide L2CAP ops callback for memcpy_fromiovec 2014-07-03 17:42:43 +02:00
a2mp.h Bluetooth: Move a2mp.h header file into net/bluetooth/ 2013-10-11 00:10:05 +02:00
af_bluetooth.c Bluetooth: Add BUILD_BUG_ON check for SKB control buffer size 2014-09-15 07:15:41 +03:00
amp.c Bluetooth: Fix sparse warning in amp.c 2014-11-11 00:07:29 +01:00
amp.h Bluetooth: Move amp.h header file into net/bluetooth/ 2013-10-11 00:10:03 +02:00
hci_conn.c Bluetooth: Fix check for direct advertising 2014-10-28 22:48:56 +01:00
hci_core.c Bluetooth: Consolidate whitelist debugfs entry into device_list 2014-11-03 10:13:42 +02:00
hci_event.c Bluetooth: Fix mgmt connected notification 2014-11-11 10:34:52 +01:00
hci_sock.c Bluetooth: spelling fixes 2014-10-28 17:23:58 +01:00
hci_sysfs.c Bluetooth: Convert to use ATTRIBUTE_GROUPS macro 2014-02-13 09:51:34 +02:00
Kconfig Bluetooth: Introduce BT_BREDR and BT_LE config options 2014-11-02 10:01:53 +02:00
l2cap_core.c Bluetooth: spelling fixes 2014-10-28 17:23:58 +01:00
l2cap_sock.c Bluetooth: Use proper nesting annotation for l2cap_chan lock 2014-11-13 07:49:09 +01:00
lib.c Bluetooth: Convert bt_<level> logging functions to return void 2014-09-24 09:40:08 +02:00
Makefile Bluetooth: 6LoWPAN: Create a kernel module 2014-07-03 17:42:44 +02:00
mgmt.c Bluetooth: Fix invalid response for 'Start Discovery' command 2014-11-03 15:43:05 +02:00
sco.c Bluetooth: never linger on process exit 2014-07-17 12:13:06 +02:00
smp.c Bluetooth: Use proper nesting annotation for l2cap_chan lock 2014-11-13 07:49:09 +01:00
smp.h Bluetooth: Add smp_ltk_sec_level() helper function 2014-09-11 02:45:24 +02:00