From ce94d565a9084d445010fdd25bbef868f8dd3487 Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Fri, 14 Jun 2019 09:45:30 -0400 Subject: [PATCH] Revert the Bluetooth encryption key patch Upstream stable reverted it, although the revert isn't in Torvald's tree yet. --- ...th-Align-minimum-encryption-key-size.patch | 54 +++++++++++++++++++ kernel.spec | 6 +++ 2 files changed, 60 insertions(+) create mode 100644 Revert-Bluetooth-Align-minimum-encryption-key-size.patch diff --git a/Revert-Bluetooth-Align-minimum-encryption-key-size.patch b/Revert-Bluetooth-Align-minimum-encryption-key-size.patch new file mode 100644 index 000000000..1318de32a --- /dev/null +++ b/Revert-Bluetooth-Align-minimum-encryption-key-size.patch @@ -0,0 +1,54 @@ +From c8f57936ab21a1430ae2209fa874e842d13552d3 Mon Sep 17 00:00:00 2001 +From: Jeremy Cline +Date: Tue, 11 Jun 2019 14:59:23 +0000 +Subject: [PATCH] Revert "Bluetooth: Align minimum encryption key size for LE + and BR/EDR connections" + +This reverts commit d5bb334a8e171b262e48f378bd2096c0ea458265. + +This patch broke a number of older bluetooth devices and while an RFC +that fixes this patch has been posted upstream, it has not been merged +and there are still a few folks reporting problems. + +Signed-off-by: Jeremy Cline +--- + include/net/bluetooth/hci_core.h | 3 --- + net/bluetooth/hci_conn.c | 8 -------- + 2 files changed, 11 deletions(-) + +diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h +index 05b1b96f4d9e..094e61e07030 100644 +--- a/include/net/bluetooth/hci_core.h ++++ b/include/net/bluetooth/hci_core.h +@@ -190,9 +190,6 @@ struct adv_info { + + #define HCI_MAX_SHORT_NAME_LENGTH 10 + +-/* Min encryption key size to match with SMP */ +-#define HCI_MIN_ENC_KEY_SIZE 7 +- + /* Default LE RPA expiry time, 15 minutes */ + #define HCI_DEFAULT_RPA_TIMEOUT (15 * 60) + +diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c +index 3cf0764d5793..bd4978ce8c45 100644 +--- a/net/bluetooth/hci_conn.c ++++ b/net/bluetooth/hci_conn.c +@@ -1276,14 +1276,6 @@ int hci_conn_check_link_mode(struct hci_conn *conn) + !test_bit(HCI_CONN_ENCRYPT, &conn->flags)) + return 0; + +- /* The minimum encryption key size needs to be enforced by the +- * host stack before establishing any L2CAP connections. The +- * specification in theory allows a minimum of 1, but to align +- * BR/EDR and LE transports, a minimum of 7 is chosen. +- */ +- if (conn->enc_key_size < HCI_MIN_ENC_KEY_SIZE) +- return 0; +- + return 1; + } + +-- +2.21.0 + diff --git a/kernel.spec b/kernel.spec index 7a78980de..3fc5c2871 100644 --- a/kernel.spec +++ b/kernel.spec @@ -589,6 +589,9 @@ Patch533: 0001-platform-x86-asus-wmi-Only-Tell-EC-the-OS-will-handl.patch # Fix for new Logitech wireless keyboard support in 5.2, submitted upstream Patch534: 0001-HID-logitech-dj-Fix-forwarding-of-very-long-HID-repo.patch +# Fix for broken bluetooth, reverted in upstream stable, not yet in Torvald's tree +Patch535: Revert-Bluetooth-Align-minimum-encryption-key-size.patch + # END OF PATCH DEFINITIONS %endif @@ -1827,6 +1830,9 @@ fi # # %changelog +* Fri Jun 14 2019 Jeremy Cline +- Fix the long-standing bluetooth breakage + * Fri Jun 14 2019 Hans de Goede - Fix the LCD panel an Asus EeePC 1025C not lighting up (rhbz#1697069) - Add small bugfix for new Logitech wireless keyboard support