2023-08-04 19:20:40

by Manish Mandlik

[permalink] [raw]
Subject: [PATCH] Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_add_adv_monitor()

KSAN reports use-after-free in hci_add_adv_monitor().

While adding an adv monitor,
hci_add_adv_monitor() calls ->
msft_add_monitor_pattern() calls ->
msft_add_monitor_sync() calls ->
msft_le_monitor_advertisement_cb() calls in an error case ->
hci_free_adv_monitor() which frees the *moniter.

This is referenced by bt_dev_dbg() in hci_add_adv_monitor().

Fix the bt_dev_dbg() by using handle instead of monitor->handle.

Fixes: b747a83690c8 ("Bluetooth: hci_sync: Refactor add Adv Monitor")

Signed-off-by: Manish Mandlik <[email protected]>
---

net/bluetooth/hci_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 0fefa6788911..c602cfb5be9e 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -1957,7 +1957,7 @@ int hci_add_adv_monitor(struct hci_dev *hdev, struct adv_monitor *monitor)
case HCI_ADV_MONITOR_EXT_MSFT:
status = msft_add_monitor_pattern(hdev, monitor);
bt_dev_dbg(hdev, "add monitor %d msft status %d",
- monitor->handle, status);
+ handle, status);
break;
}

--
2.41.0.585.gd2178a4bd4-goog



2023-08-07 23:03:26

by patchwork-bot+bluetooth

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_add_adv_monitor()

Hello:

This patch was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <[email protected]>:

On Fri, 4 Aug 2023 11:14:45 -0700 you wrote:
> KSAN reports use-after-free in hci_add_adv_monitor().
>
> While adding an adv monitor,
> hci_add_adv_monitor() calls ->
> msft_add_monitor_pattern() calls ->
> msft_add_monitor_sync() calls ->
> msft_le_monitor_advertisement_cb() calls in an error case ->
> hci_free_adv_monitor() which frees the *moniter.
>
> [...]

Here is the summary with links:
- Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_add_adv_monitor()
https://git.kernel.org/bluetooth/bluetooth-next/c/34d241ece878

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html