Re: [syzbot] [bluetooth?] KASAN: slab-use-after-free Read in __hci_req_sync

From: Hillf Danton
Date: Fri Apr 12 2024 - 06:45:14 EST


On Thu, 11 Apr 2024 21:44:17 -0700
> syzbot has found a reproducer for the following issue on:
>
> HEAD commit: 00dcf5d862e8 Merge tag 'acpi-6.9-rc4' of git://git.kernel...
> git tree: upstream
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=179a3b4d180000

#syz test https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 00dcf5d862e8

--- x/net/bluetooth/hci_request.c
+++ y/net/bluetooth/hci_request.c
@@ -102,6 +102,7 @@ void hci_req_sync_complete(struct hci_de
{
bt_dev_dbg(hdev, "result 0x%2.2x", result);

+ hci_req_sync_lock(hdev);
if (hdev->req_status == HCI_REQ_PEND) {
hdev->req_result = result;
hdev->req_status = HCI_REQ_DONE;
@@ -111,6 +112,7 @@ void hci_req_sync_complete(struct hci_de
}
wake_up_interruptible(&hdev->req_wait_q);
}
+ hci_req_sync_unlock(hdev);
}

/* Execute request and wait for completion. */
--