diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2014-11-13 14:37:48 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-11-15 01:53:27 +0100 |
commit | adae20cb2d20e5151b866945f802b0c2312f0f82 (patch) | |
tree | 82db161600f3689fc508aa4442d7a1a4ef22d2b6 /include/net/bluetooth | |
parent | 970d0f1b280372cfd46b6de5529d96f8448de943 (diff) | |
download | lwn-adae20cb2d20e5151b866945f802b0c2312f0f82.tar.gz lwn-adae20cb2d20e5151b866945f802b0c2312f0f82.zip |
Bluetooth: Convert IRK list to RCU
This patch set converts the hdev->identity_resolving_keys list to use
RCU to eliminate the need to use hci_dev_lock/unlock.
An additional change that must be done is to remove use of
CRYPTO_ALG_ASYNC for the hdev-specific AES crypto context. The reason is
that this context is used for matching RPAs and the loop that does the
matching is under the RCU read lock, i.e. is an atomic section which
cannot sleep.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'include/net/bluetooth')
-rw-r--r-- | include/net/bluetooth/hci_core.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index a4adef22ad7c..fe2d5f299e12 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h @@ -121,6 +121,7 @@ struct smp_ltk { struct smp_irk { struct list_head list; + struct rcu_head rcu; bdaddr_t rpa; bdaddr_t bdaddr; u8 addr_type; |