public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Bluetooth: MGMT: cancel mesh send timer when hdev removed
@ 2025-11-02 18:16 Pauli Virtanen
  2025-11-03 17:00 ` patchwork-bot+bluetooth
  0 siblings, 1 reply; 2+ messages in thread
From: Pauli Virtanen @ 2025-11-02 18:16 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: Pauli Virtanen, marcel, johan.hedberg, luiz.dentz, brian.gix,
	linux-kernel

mesh_send_done timer is not canceled when hdev is removed, which causes
crash if the timer triggers after hdev is gone.

Cancel the timer when MGMT removes the hdev, like other MGMT timers.

Should fix the BUG: sporadically seen by BlueZ test bot
(in "Mesh - Send cancel - 1" test).

Log:
------
BUG: KASAN: slab-use-after-free in run_timer_softirq+0x76b/0x7d0
...
Freed by task 36:
 kasan_save_stack+0x24/0x50
 kasan_save_track+0x14/0x30
 __kasan_save_free_info+0x3a/0x60
 __kasan_slab_free+0x43/0x70
 kfree+0x103/0x500
 device_release+0x9a/0x210
 kobject_put+0x100/0x1e0
 vhci_release+0x18b/0x240
------

Fixes: b338d91703fa ("Bluetooth: Implement support for Mesh")
Link: https://lore.kernel.org/linux-bluetooth/67364c09.0c0a0220.113cba.39ff@mx.google.com/
Signed-off-by: Pauli Virtanen <pav@iki.fi>
---
 net/bluetooth/mgmt.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index afb6108d1f27..c11cdef42b6f 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -9513,6 +9513,7 @@ void mgmt_index_removed(struct hci_dev *hdev)
 	cancel_delayed_work_sync(&hdev->discov_off);
 	cancel_delayed_work_sync(&hdev->service_cache);
 	cancel_delayed_work_sync(&hdev->rpa_expired);
+	cancel_delayed_work_sync(&hdev->mesh_send_done);
 }
 
 void mgmt_power_on(struct hci_dev *hdev, int err)
-- 
2.51.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] Bluetooth: MGMT: cancel mesh send timer when hdev removed
  2025-11-02 18:16 [PATCH] Bluetooth: MGMT: cancel mesh send timer when hdev removed Pauli Virtanen
@ 2025-11-03 17:00 ` patchwork-bot+bluetooth
  0 siblings, 0 replies; 2+ messages in thread
From: patchwork-bot+bluetooth @ 2025-11-03 17:00 UTC (permalink / raw)
  To: Pauli Virtanen
  Cc: linux-bluetooth, marcel, johan.hedberg, luiz.dentz, brian.gix,
	linux-kernel

Hello:

This patch was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Sun,  2 Nov 2025 20:16:12 +0200 you wrote:
> mesh_send_done timer is not canceled when hdev is removed, which causes
> crash if the timer triggers after hdev is gone.
> 
> Cancel the timer when MGMT removes the hdev, like other MGMT timers.
> 
> Should fix the BUG: sporadically seen by BlueZ test bot
> (in "Mesh - Send cancel - 1" test).
> 
> [...]

Here is the summary with links:
  - Bluetooth: MGMT: cancel mesh send timer when hdev removed
    https://git.kernel.org/bluetooth/bluetooth-next/c/2747d9296177

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



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-11-03 17:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-02 18:16 [PATCH] Bluetooth: MGMT: cancel mesh send timer when hdev removed Pauli Virtanen
2025-11-03 17:00 ` patchwork-bot+bluetooth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox