linux/drivers/bluetooth
Ivan Pravdin 1503756fff Bluetooth: vhci: Prevent use-after-free by removing debugfs files early
[ Upstream commit 2801079119 ]

Move the creation of debugfs files into a dedicated function, and ensure
they are explicitly removed during vhci_release(), before associated
data structures are freed.

Previously, debugfs files such as "force_suspend", "force_wakeup", and
others were created under hdev->debugfs but not removed in
vhci_release(). Since vhci_release() frees the backing vhci_data
structure, any access to these files after release would result in
use-after-free errors.

Although hdev->debugfs is later freed in hci_release_dev(), user can
access files after vhci_data is freed but before hdev->debugfs is
released.

Fixes: ab4e4380d4 ("Bluetooth: Add vhci devcoredump support")
Signed-off-by: Ivan Pravdin <ipravdin.official@gmail.com>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-09-09 18:58:07 +02:00
..
ath3k.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
bcm203x.c Bluetooth: bcm203x: remove superfluous header files 2022-03-18 17:12:09 +01:00
bfusb.c Bluetooth: bfusb: fix division by zero in send path 2021-10-25 15:04:46 +02:00
bluecard_cs.c Bluetooth: Use fallthrough pseudo-keyword 2020-07-10 19:09:42 +02:00
bpa10x.c Bluetooth: bpa10x: change return value 2019-09-04 16:11:46 +02:00
bt3c_cs.c Bluetooth: bt3c_cs: Fix obsolete function 2018-09-27 12:57:39 +02:00
btbcm.c Bluetooth: btbcm: Fix NULL deref in btbcm_get_board_name() 2025-02-08 09:57:22 +01:00
btbcm.h Bluetooth: hci_bcm: Add support for FW loading in autobaud mode 2022-07-21 17:04:38 -07:00
btintel.c Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type 2025-07-24 08:56:25 +02:00
btintel.h Bluetooth: btintel_pcie: Add handshake between driver and firmware 2024-12-05 14:01:58 +01:00
btintel_pcie.c Bluetooth: btintel_pcie: Reduce driver buffer posting to prevent race condition 2025-06-19 15:32:25 +02:00
btintel_pcie.h Bluetooth: btintel_pcie: Increase the tx and rx descriptor count 2025-06-19 15:32:24 +02:00
btmrvl_debugfs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_390.RULE 2022-06-10 14:51:36 +02:00
btmrvl_drv.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_390.RULE 2022-06-10 14:51:36 +02:00
btmrvl_main.c Bluetooth: HCI: Remove HCI_AMP support 2024-05-14 10:54:49 -04:00
btmrvl_sdio.c Bluetooth: btmrvl: Use IRQF_NO_AUTOEN flag in request_irq() 2024-09-27 10:52:19 -04:00
btmrvl_sdio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_390.RULE 2022-06-10 14:51:36 +02:00
btmtk.c Bluetooth: btmtk: Fix wait_on_bit_timeout interruption during shutdown 2025-08-28 16:31:13 +02:00
btmtk.h Bluetooth: btmtk: remove #ifdef around declarations 2024-07-26 10:56:54 -04:00
btmtksdio.c Bluetooth: btmtksdio: Do close if SDIO card removed without close 2025-05-29 11:03:23 +02:00
btmtkuart.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
btnxpuart.c Bluetooth: btnxpuart: Fix kernel panic during FW release 2025-05-22 14:29:53 +02:00
btqca.c Bluetooth: qca: simplify WCN399x NVM loading 2025-04-20 10:15:22 +02:00
btqca.h Bluetooth: qca: clean up defines 2024-05-14 10:51:07 -04:00
btqcomsmd.c Bluetooth: btqcomsmd: Convert to platform remove callback returning void 2024-05-14 10:51:03 -04:00
btrsi.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
btrtl.c Bluetooth: btrtl: Prevent potential NULL dereference 2025-04-25 10:47:41 +02:00
btrtl.h Bluetooth: btrtl: Add Realtek devcoredump support 2023-08-11 11:35:14 -07:00
btsdio.c Bluetooth: btsdio: Do not bind to non-removable CYW4373 2024-09-12 12:24:08 -04:00
btusb.c Bluetooth: btusb: Add new VID/PID 0489/e14e for MT7925 2025-08-20 18:30:28 +02:00
dtl1_cs.c networking: add and use skb_put_u8() 2017-06-16 11:48:40 -04:00
h4_recv.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hci_ag6xx.c Bluetooth: hci_uart: Remove redundant assignment to fw_ptr 2021-06-26 07:52:41 +02:00
hci_aml.c Bluetooth: hci_uart: Add support for Amlogic HCI UART 2024-09-10 12:44:10 -04:00
hci_ath.c Bluetooth: hci_uart: check for missing tty operations 2019-07-31 13:17:33 -07:00
hci_bcm.c Bluetooth: hci_bcm: Limit bcm43455 baudrate to 2000000 2024-05-14 10:51:05 -04:00
hci_bcm4377.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hci_bcsp.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hci_h4.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hci_h5.c Bluetooth: btrtl: fix out of bounds memory access 2024-03-06 17:26:21 -05:00
hci_intel.c Bluetooth: hci_intel: Fix multiple issues reported by checkpatch.pl 2024-05-14 10:51:04 -04:00
hci_ldisc.c Bluetooth: hci_uart: Fix another race during initialization 2025-04-20 10:16:02 +02:00
hci_ll.c Bluetooth: hci_ll: drop of_match_ptr for ID table 2023-04-23 21:49:03 -07:00
hci_mrvl.c Bluetooth: hci_mrvl: Add serdev support for 88W8997 2023-04-23 21:45:29 -07:00
hci_nokia.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hci_qca.c driver: bluetooth: hci_qca:fix unable to load the BT driver 2025-07-17 18:37:22 +02:00
hci_serdev.c Bluetooth: HCI: Remove HCI_AMP support 2024-05-14 10:54:49 -04:00
hci_uart.h Bluetooth: hci_uart: Fix another race during initialization 2025-04-20 10:16:02 +02:00
hci_vhci.c Bluetooth: vhci: Prevent use-after-free by removing debugfs files early 2025-09-09 18:58:07 +02:00
Kconfig Bluetooth: hci_uart: Add support for Amlogic HCI UART 2024-09-10 12:44:10 -04:00
Makefile Bluetooth: hci_uart: Add support for Amlogic HCI UART 2024-09-10 12:44:10 -04:00
virtio_bt.c virtio: rename virtio_find_vqs_info() to virtio_find_vqs() 2024-07-17 05:20:58 -04:00