summaryrefslogtreecommitdiff
path: root/system/easy-kernel/0124-bluetooth-keysize-check.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2022-03-13 18:37:36 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2022-05-01 17:05:54 -0500
commit5ee14d3ae6662498723b1daf6f00f1a71521740f (patch)
tree9898987815da56f4f2b79c6e85ceb384c24ebb15 /system/easy-kernel/0124-bluetooth-keysize-check.patch
parent59e83832ec569bcc4b2dd0b39d5553aa5210cb81 (diff)
downloadpackages-5ee14d3ae6662498723b1daf6f00f1a71521740f.tar.gz
packages-5ee14d3ae6662498723b1daf6f00f1a71521740f.tar.bz2
packages-5ee14d3ae6662498723b1daf6f00f1a71521740f.tar.xz
packages-5ee14d3ae6662498723b1daf6f00f1a71521740f.zip
system/easy-kernel: Replace with 5.15 test-kernel
Diffstat (limited to 'system/easy-kernel/0124-bluetooth-keysize-check.patch')
-rw-r--r--system/easy-kernel/0124-bluetooth-keysize-check.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/system/easy-kernel/0124-bluetooth-keysize-check.patch b/system/easy-kernel/0124-bluetooth-keysize-check.patch
new file mode 100644
index 000000000..394ad48fc
--- /dev/null
+++ b/system/easy-kernel/0124-bluetooth-keysize-check.patch
@@ -0,0 +1,37 @@
+The encryption is only mandatory to be enforced when both sides are using
+Secure Simple Pairing and this means the key size check makes only sense
+in that case.
+
+On legacy Bluetooth 2.0 and earlier devices like mice the encryption was
+optional and thus causing an issue if the key size check is not bound to
+using Secure Simple Pairing.
+
+Fixes: d5bb334a8e17 ("Bluetooth: Align minimum encryption key size for LE and BR/EDR connections")
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Cc: stable@vger.kernel.org
+---
+ net/bluetooth/hci_conn.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
+index 3cf0764d5793..7516cdde3373 100644
+--- a/net/bluetooth/hci_conn.c
++++ b/net/bluetooth/hci_conn.c
+@@ -1272,8 +1272,13 @@ int hci_conn_check_link_mode(struct hci_conn *conn)
+ return 0;
+ }
+
+- if (hci_conn_ssp_enabled(conn) &&
+- !test_bit(HCI_CONN_ENCRYPT, &conn->flags))
++ /* If Secure Simple Pairing is not enabled, then legacy connection
++ * setup is used and no encryption or key sizes can be enforced.
++ */
++ if (!hci_conn_ssp_enabled(conn))
++ return 1;
++
++ if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
+ return 0;
+
+ /* The minimum encryption key size needs to be enforced by the
+--
+2.20.1