In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor() KASAN reports that there's a use-after-free in hci_remove_adv_monitor(). Trawling through the disassembly, you can see that the complaint is from the access in bt_dev_dbg() under the HCI_ADV_MONITOR_EXT_MSFT case. The problem case happens because msft_remove_monitor() can end up freeing the monitor structure. Specifically: hci_remove_adv_monitor() -> msft_remove_monitor() -> msft_remove_monitor_sync() -> msft_le_cancel_monitor_advertisement_cb() -> hci_free_adv_monitor() Let's fix the problem by just stashing the relevant data when it's still valid.
https://git.kernel.org/stable/c/de6dfcefd107667ce2dbedf4d9337f5ed557a4a1
https://git.kernel.org/stable/c/bf00c2c8f6254f44ac041aa9a311ae9e0caf692b
https://git.kernel.org/stable/c/0d4d6b083da9b033ddccef72d77f373c819ae3ea