]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Bluetooth: Add check for mgmt_alloc_skb() in mgmt_device_connected()
authorHaoxiang Li <haoxiang_li2024@163.com>
Fri, 21 Feb 2025 08:58:01 +0000 (16:58 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 12:01:56 +0000 (13:01 +0100)
commit d8df010f72b8a32aaea393e36121738bb53ed905 upstream.

Add check for the return value of mgmt_alloc_skb() in
mgmt_device_connected() to prevent null pointer dereference.

Fixes: e96741437ef0 ("Bluetooth: mgmt: Make use of mgmt_send_event_skb in MGMT_EV_DEVICE_CONNECTED")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/bluetooth/mgmt.c

index 8a73cf289e2d7b8762e753dab38dd38e5bd6d885..c019f69c5939550ab71c356eb75db77b8d873720 100644 (file)
@@ -9731,6 +9731,9 @@ void mgmt_device_connected(struct hci_dev *hdev, struct hci_conn *conn,
                                     sizeof(*ev) + (name ? eir_precalc_len(name_len) : 0) +
                                     eir_precalc_len(sizeof(conn->dev_class)));
 
+       if (!skb)
+               return;
+
        ev = skb_put(skb, sizeof(*ev));
        bacpy(&ev->addr.bdaddr, &conn->dst);
        ev->addr.type = link_to_bdaddr(conn->type, conn->dst_type);