Bluetooth: MGMT: Fix sparse errors
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 11 Jun 2025 20:36:27 +0000 (16:36 -0400)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Wed, 11 Jun 2025 20:39:25 +0000 (16:39 -0400)
This fixes the following errors:

net/bluetooth/mgmt.c:5400:59: sparse: sparse: incorrect type in argument 3
(different base types) @@     expected unsigned short [usertype] handle @@
got restricted __le16 [usertype] monitor_handle @@
net/bluetooth/mgmt.c:5400:59: sparse:     expected unsigned short [usertype] handle
net/bluetooth/mgmt.c:5400:59: sparse:     got restricted __le16 [usertype] monitor_handle

Fixes: e6ed54e86aae ("Bluetooth: MGMT: Fix UAF on mgmt_remove_adv_monitor_complete")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202506060347.ux2O1p7L-lkp@intel.com/
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/mgmt.c

index de7adb9a47f972e7990d6127c1a22508dd78dce8..d540f7b4f75fbf29c4bd77b700ccec33b7006fd5 100644 (file)
@@ -5102,11 +5102,11 @@ static void mgmt_adv_monitor_added(struct sock *sk, struct hci_dev *hdev,
 }
 
 static void mgmt_adv_monitor_removed(struct sock *sk, struct hci_dev *hdev,
-                                    u16 handle)
+                                    __le16 handle)
 {
        struct mgmt_ev_adv_monitor_removed ev;
 
-       ev.monitor_handle = cpu_to_le16(handle);
+       ev.monitor_handle = handle;
 
        mgmt_event(MGMT_EV_ADV_MONITOR_REMOVED, hdev, &ev, sizeof(ev), sk);
 }