From 7277e2684d8080f8122a2bd602b55b20d4da8254 Mon Sep 17 00:00:00 2001 From: Yiheng Cao <65160922+Crispy-fried-chicken@users.noreply.github.com> Date: Tue, 20 Aug 2024 13:41:41 +0000 Subject: [PATCH] Bluetooth: GATT: Add missing LESC_MASK for encrypt check The LE Secure connection (LESC) mask also require encryption, and some users have been using e.g. BT_GATT_PERM_READ_LESC without BT_GATT_PERM_READ_ENCRYPT, and then the encryption check in bt_gatt_check_perm was never properly applied. cherry-picked from commit d9ff7eb Signed-off-by: Yiheng Cao(james_watt@foxmail.com) --- subsys/bluetooth/host/gatt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subsys/bluetooth/host/gatt.c b/subsys/bluetooth/host/gatt.c index dc0463c5b5f7ff5..809490a8524fee0 100644 --- a/subsys/bluetooth/host/gatt.c +++ b/subsys/bluetooth/host/gatt.c @@ -3103,8 +3103,8 @@ uint8_t bt_gatt_check_perm(struct bt_conn *conn, const struct bt_gatt_attr *attr * the error code “Insufficient Encryption”. */ - if (mask & (BT_GATT_PERM_ENCRYPT_MASK | BT_GATT_PERM_AUTHEN_MASK | - BT_GATT_PERM_LESC_MASK)) { + if (mask & (BT_GATT_PERM_ENCRYPT_MASK | BT_GATT_PERM_AUTHEN_MASK | + BT_GATT_PERM_LESC_MASK)) { #if defined(CONFIG_BT_SMP) if (!conn->encrypt) { if (bt_conn_ltk_present(conn)) {