]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Bluetooth: L2CAP: Fix response to L2CAP_ECRED_CONN_REQ
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 11 Feb 2026 20:18:03 +0000 (15:18 -0500)
committerSasha Levin <sashal@kernel.org>
Wed, 4 Mar 2026 12:20:54 +0000 (07:20 -0500)
[ Upstream commit 05761c2c2b5bfec85c47f60c903c461e9b56cf87 ]

Similar to 03dba9cea72f ("Bluetooth: L2CAP: Fix not responding with
L2CAP_CR_LE_ENCRYPTION") the result code L2CAP_CR_LE_ENCRYPTION shall
be used when BT_SECURITY_MEDIUM is set since that means security mode 2
which mean it doesn't require authentication which results in
qualification test L2CAP/ECFC/BV-32-C failing.

Link: https://github.com/bluez/bluez/issues/1871
Fixes: 15f02b910562 ("Bluetooth: L2CAP: Add initial code for Enhanced Credit Based Mode")
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/bluetooth/l2cap_core.c

index 0b236e977d70e508117d28303aa4defde642bc19..a5038160675ea9c8018531880977c8c2414ff8b0 100644 (file)
@@ -5096,7 +5096,8 @@ static inline int l2cap_ecred_conn_req(struct l2cap_conn *conn,
 
        if (!smp_sufficient_security(conn->hcon, pchan->sec_level,
                                     SMP_ALLOW_STK)) {
-               result = L2CAP_CR_LE_AUTHENTICATION;
+               result = pchan->sec_level == BT_SECURITY_MEDIUM ?
+                       L2CAP_CR_LE_ENCRYPTION : L2CAP_CR_LE_AUTHENTICATION;
                goto unlock;
        }