diff options
author | David S. Miller <davem@davemloft.net> | 2018-03-07 10:51:14 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-07 10:51:14 -0500 |
commit | 89036a2a9852f70dcec97d5962974fe806828382 (patch) | |
tree | 664636cc767a85f98613a5178b564df4afafeddb /net | |
parent | 803fafbe0cd522fa6b9e41ca3b96cfb2e2a2222d (diff) | |
parent | 64e759f58f128730b97a3c3a26d283c075ad7c86 (diff) | |
download | linux-89036a2a9852f70dcec97d5962974fe806828382.tar.gz linux-89036a2a9852f70dcec97d5962974fe806828382.tar.bz2 linux-89036a2a9852f70dcec97d5962974fe806828382.zip |
Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth
Johan Hedberg says:
====================
pull request: bluetooth 2018-03-05
Here are a few more Bluetooth fixes for the 4.16 kernel:
- btusb: reset/resume fixes for Yoga 920 and Dell OptiPlex 3060
- Fix for missing encryption refresh with the Security Manager protocol
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/bluetooth/smp.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c index 01117ae84f1d..a2ddae2f37d7 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c @@ -2296,8 +2296,14 @@ static u8 smp_cmd_security_req(struct l2cap_conn *conn, struct sk_buff *skb) else sec_level = authreq_to_seclevel(auth); - if (smp_sufficient_security(hcon, sec_level, SMP_USE_LTK)) + if (smp_sufficient_security(hcon, sec_level, SMP_USE_LTK)) { + /* If link is already encrypted with sufficient security we + * still need refresh encryption as per Core Spec 5.0 Vol 3, + * Part H 2.4.6 + */ + smp_ltk_encrypt(conn, hcon->sec_level); return 0; + } if (sec_level > hcon->pending_sec_level) hcon->pending_sec_level = sec_level; |