mirror-linux/drivers/bluetooth
Raphael Pinsonneault-Thibeault 252714f1e8 Bluetooth: btusb: revert use of devm_kzalloc in btusb
This reverts commit 98921dbd00 ("Bluetooth: Use devm_kzalloc in
btusb.c file").

In btusb_probe(), we use devm_kzalloc() to allocate the btusb data. This
ties the lifetime of all the btusb data to the binding of a driver to
one interface, INTF. In a driver that binds to other interfaces, ISOC
and DIAG, this is an accident waiting to happen.

The issue is revealed in btusb_disconnect(), where calling
usb_driver_release_interface(&btusb_driver, data->intf) will have devm
free the data that is also being used by the other interfaces of the
driver that may not be released yet.

To fix this, revert the use of devm and go back to freeing memory
explicitly.

Fixes: 98921dbd00 ("Bluetooth: Use devm_kzalloc in btusb.c file")
Signed-off-by: Raphael Pinsonneault-Thibeault <rpthibeault@gmail.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2025-12-19 17:23:18 -05:00
..
Kconfig Bluetooth: hci_h5: implement CRC data integrity 2025-12-01 15:58:54 -05:00
Makefile Bluetooth: hci_uart: Add support for Amlogic HCI UART 2024-09-10 12:44:10 -04:00
ath3k.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
bcm203x.c
bfusb.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
bluecard_cs.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
bpa10x.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
bt3c_cs.c
btbcm.c drivers/bluetooth: btbcm: Use kmalloc_array() to prevent overflow 2025-12-01 16:21:16 -05:00
btbcm.h
btintel.c Bluetooth: btintel: Add support for BlazarIW core 2025-09-27 11:36:59 -04:00
btintel.h Bluetooth: btintel: Define a macro for Intel Reset vendor command 2025-07-23 10:31:03 -04:00
btintel_pcie.c Bluetooth: btintel_pcie: Introduce HCI Driver protocol 2025-12-01 16:04:51 -05:00
btintel_pcie.h Bluetooth: btintel_pcie: Suspend/Resume: Controller doorbell interrupt handling 2025-12-01 16:00:07 -05:00
btmrvl_debugfs.c
btmrvl_drv.h
btmrvl_main.c Bluetooth: Use str_enable_disable-like helpers 2025-01-15 10:36:11 -05:00
btmrvl_sdio.c Bluetooth: btmrvl_sdio: Fix wakeup source leaks on device unbind 2025-05-21 10:27:20 -04:00
btmrvl_sdio.h
btmtk.c Bluetooth: btmtk: Fix wait_on_bit_timeout interruption during shutdown 2025-08-15 09:44:49 -04:00
btmtk.h Bluetooth: btmtk: remove #ifdef around declarations 2024-07-26 10:56:54 -04:00
btmtksdio.c Bluetooth: Remove redundant pm_runtime_mark_last_busy() calls 2025-12-01 16:00:07 -05:00
btmtkuart.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
btnxpuart.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
btqca.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
btqca.h Bluetooth: qca: add WCN3950 support 2025-03-25 12:42:35 -04:00
btqcomsmd.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
btrsi.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
btrtl.c Bluetooth: btrtl: Add the support for RTL8761CUV 2025-12-01 16:00:07 -05:00
btrtl.h Bluetooth: btrtl: Add Realtek devcoredump support 2023-08-11 11:35:14 -07:00
btsdio.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
btusb.c Bluetooth: btusb: revert use of devm_kzalloc in btusb 2025-12-19 17:23:18 -05:00
dtl1_cs.c
hci_ag6xx.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
hci_aml.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
hci_ath.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
hci_bcm.c Bluetooth: Remove redundant pm_runtime_mark_last_busy() calls 2025-12-01 16:00:07 -05:00
hci_bcm4377.c Bluetooth: hci_bcm4377: Fix typo in comment 2025-07-23 10:30:04 -04:00
hci_bcsp.c Bluetooth: bcsp: receive data only if registered 2025-09-27 11:37:02 -04:00
hci_h4.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
hci_h5.c Bluetooth: Remove redundant pm_runtime_mark_last_busy() calls 2025-12-01 16:00:07 -05:00
hci_intel.c Bluetooth: Remove redundant pm_runtime_mark_last_busy() calls 2025-12-01 16:00:07 -05:00
hci_ldisc.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
hci_ll.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
hci_mrvl.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
hci_nokia.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
hci_qca.c Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
hci_serdev.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00
hci_uart.h Bluetooth: fix corruption in h4_recv_buf() after cleanup 2025-10-24 10:31:24 -04:00
hci_vhci.c Bluetooth: vhci: Prevent use-after-free by removing debugfs files early 2025-08-29 14:47:20 -04:00
virtio_bt.c Bluetooth: hci_dev: replace 'quirks' integer by 'quirk_flags' bitmap 2025-07-16 15:37:53 -04:00