From: Marcel Holtmann Date: Thu, 3 Oct 2013 04:16:07 +0000 (-0700) Subject: Bluetooth: Restrict loading of link keys to BR/EDR capable controllers X-Git-Tag: MMI-PSA29.97-13-9~13299^2~225^2~24^2~9 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9060d5cf5200c37dd23f5502bd7c3ccadce04a5f;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git Bluetooth: Restrict loading of link keys to BR/EDR capable controllers Loading link keys into a LE only controller make no sense. The kernel would never use any of these keys. So instead of allowing userspace to waste memory, reject such operation with a not supported error message. Signed-off-by: Marcel Holtmann Signed-off-by: Johan Hedberg --- diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index bbe012e93b70..bf33c5280f66 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c @@ -1825,6 +1825,12 @@ static int load_link_keys(struct sock *sk, struct hci_dev *hdev, void *data, u16 key_count, expected_len; int i; + BT_DBG("request for %s", hdev->name); + + if (!lmp_bredr_capable(hdev)) + return cmd_status(sk, hdev->id, MGMT_OP_LOAD_LINK_KEYS, + MGMT_STATUS_NOT_SUPPORTED); + key_count = __le16_to_cpu(cp->key_count); expected_len = sizeof(*cp) + key_count *