Balakrishna Godavarthi
ea3207da0b
Bluetooth: hci_qca: Remove hdev dereference in qca_close().
[ Upstream commit c2d7827338618a9e73a3f892ca63d9082bb7a94d ]
When flag KASAN is set, we are seeing an following crash while removing
hci_uart module.
[ 50.589909] Unable to handle kernel paging request at virtual address 6b6b6b6b6b6b73
[ 50.597902] Mem abort info:
[ 50.600846] Exception class = DABT (current EL), IL = 32 bits
[ 50.606959] SET = 0, FnV = 0
[ 50.610142] EA = 0, S1PTW = 0
[ 50.613396] Data abort info:
[ 50.616401] ISV = 0, ISS = 0x00000004
[ 50.620373] CM = 0, WnR = 0
[ 50.623466] [006b6b6b6b6b6b73] address between user and kernel address ranges
[ 50.630818] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 50.671670] PC is at qca_power_shutdown+0x28/0x100 [hci_uart]
[ 50.677593] LR is at qca_close+0x74/0xb0 [hci_uart]
[ 50.775689] Process rmmod (pid: 2144, stack limit = 0xffffff801ba90000)
[ 50.782493] Call trace:
[ 50.872150] [<ffffff8000c3c81c>] qca_power_shutdown+0x28/0x100 [hci_uart]
[ 50.879138] [<ffffff8000c3c968>] qca_close+0x74/0xb0 [hci_uart]
[ 50.885238] [<ffffff8000c3a71c>] hci_uart_unregister_device+0x44/0x50 [hci_uart]
[ 50.892846] [<ffffff8000c3c9f4>] qca_serdev_remove+0x50/0x5c [hci_uart]
[ 50.899654] [<ffffff800844f630>] serdev_drv_remove+0x28/0x38
[ 50.905489] [<ffffff800850fc44>] device_release_driver_internal+0x140/0x1e4
[ 50.912653] [<ffffff800850fd94>] driver_detach+0x78/0x84
[ 50.918121] [<ffffff800850edac>] bus_remove_driver+0x80/0xa8
[ 50.923942] [<ffffff80085107dc>] driver_unregister+0x4c/0x58
[ 50.929768] [<ffffff8000c3ca8c>] qca_deinit+0x24/0x598 [hci_uart]
[ 50.936045] [<ffffff8000c3ca10>] hci_uart_exit+0x10/0x48 [hci_uart]
[ 50.942495] [<ffffff8008136630>] SyS_delete_module+0x17c/0x224
This crash is due to dereference of hdev, after freeing it.
Signed-off-by: Balakrishna Godavarthi <bgodavar@codeaurora.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
2018-11-13 11:08:25 -08:00 |
| .. |
|
ath3k.c
|
Bluetooth: ath3k: fix checkpatch warning
|
2018-02-07 09:46:09 +01:00 |
|
bcm203x.c
|
Bluetooth: mark expected switch fall-throughs
|
2017-10-14 09:25:51 +02:00 |
|
bfusb.c
|
bluetooth: bfusb: Replace GFP_ATOMIC with GFP_KERNEL in bfusb_send_frame()
|
2018-07-23 18:05:00 +02:00 |
|
bluecard_cs.c
|
bluetooth: bluecard_cs: Replace GFP_ATOMIC with GFP_KERNEL in bluecard_hci_set_baud_rate()
|
2018-07-23 18:05:00 +02:00 |
|
bpa10x.c
|
bluetooth: bpa10x: Replace GFP_ATOMIC with GFP_KERNEL in bpa10x_send_frame()
|
2018-07-23 18:05:00 +02:00 |
|
bt3c_cs.c
|
Bluetooth: Use bt_dev_err and bt_dev_info when possible
|
2017-10-30 12:25:45 +02:00 |
|
btbcm.c
|
Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth
|
2018-11-13 11:08:25 -08:00 |
|
btbcm.h
|
Bluetooth: btbcm: Allow using btbcm_initialize() for reinit
|
2018-05-18 06:37:51 +02:00 |
|
btintel.c
|
Bluetooth: btintel: Create common function for firmware download
|
2018-01-25 09:28:40 +01:00 |
|
btintel.h
|
Bluetooth: btintel: Create common function for firmware download
|
2018-01-25 09:28:40 +01:00 |
|
btmrvl_debugfs.c
|
Bluetooth: btmrvl: Re-use kstrtol_from_user()
|
2018-05-30 08:16:05 +02:00 |
|
btmrvl_drv.h
|
Bluetooth: btmrvl: support sysfs initiated firmware coredump
|
2018-05-29 15:59:50 +02:00 |
|
btmrvl_main.c
|
Bluetooth: btmrvl: support sysfs initiated firmware coredump
|
2018-05-29 15:59:50 +02:00 |
|
btmrvl_sdio.c
|
bluetooth: btmrvl_sdio: Replace GFP_ATOMIC with GFP_KERNEL in btmrvl_sdio_card_to_host()
|
2018-07-23 18:05:00 +02:00 |
|
btmrvl_sdio.h
|
btmrvl: add platform specific wakeup interrupt support
|
2016-05-02 19:26:15 +02:00 |
|
btmtkuart.c
|
Bluetooth: mediatek: Fix memory leak
|
2018-08-21 16:56:20 +02:00 |
|
btqca.c
|
Bluetooth: btqca: Introduce HCI_EV_VENDOR and use it
|
2018-08-06 21:25:05 +03:00 |
|
btqca.h
|
Bluetooth: hci_qca: Add support for Qualcomm Bluetooth chip wcn3990
|
2018-08-03 14:44:07 +02:00 |
|
btqcomsmd.c
|
Bluetooth: btqcomsmd: Fix rx/tx stats
|
2018-05-18 06:37:50 +02:00 |
|
btrsi.c
|
Bluetooth: btrsi: remove unused including <linux/version.h>
|
2018-04-01 21:43:02 +03:00 |
|
btrtl.c
|
Bluetooth: btrtl: Add support for a config filename postfix
|
2018-08-03 13:27:46 +02:00 |
|
btrtl.h
|
Bluetooth: btrtl: Add support for a config filename postfix
|
2018-08-03 13:27:46 +02:00 |
|
btsdio.c
|
Bluetooth: btsdio: Do not bind to non-removable BCM43341
|
2017-12-13 00:28:41 +01:00 |
|
btusb.c
|
Bluetooth: btusb: Use bt_dev_err for Intel firmware loading errors
|
2018-08-03 14:14:51 +03:00 |
|
btwilink.c
|
Bluetooth: Style fix - align block comments
|
2017-07-22 08:39:39 +02:00 |
|
dtl1_cs.c
|
networking: add and use skb_put_u8()
|
2017-06-16 11:48:40 -04:00 |
|
h4_recv.h
|
Bluetooth: bpa10x: Use separate h4_recv_buf helper
|
2018-04-01 14:25:32 +02:00 |
|
hci_ag6xx.c
|
Bluetooth: hci_uart: Add diag and address support for Intel/AG6xx
|
2016-02-29 19:25:22 +02:00 |
|
hci_ath.c
|
Bluetooth: hci_ath: Replace mdelay with msleep in ath_wakeup_ar3k
|
2018-02-07 09:47:04 +01:00 |
|
hci_bcm.c
|
Bluetooth: hci_serdev: Move serdev_device_close/open into common hci_serdev code
|
2018-05-30 08:47:42 +02:00 |
|
hci_bcsp.c
|
Bluetooth: Convert timers to use timer_setup()
|
2017-10-06 20:37:11 +02:00 |
|
hci_h4.c
|
Bluetooth: Use bt_dev_err and bt_dev_info when possible
|
2017-10-30 12:25:45 +02:00 |
|
hci_h5.c
|
Bluetooth: Introduce BT_HCIUART_RTL configuration option
|
2018-08-09 20:48:10 +03:00 |
|
hci_intel.c
|
bluetooth: hci_intel: Replace GFP_ATOMIC with GFP_KERNEL in inject_cmd_complete()
|
2018-07-23 18:05:00 +02:00 |
|
hci_ldisc.c
|
Bluetooth: hci_ldisc: Free rw_semaphore on close
|
2018-09-11 13:33:57 +02:00 |
|
hci_ll.c
|
Bluetooth: hci_serdev: Move serdev_device_close/open into common hci_serdev code
|
2018-05-30 08:47:42 +02:00 |
|
hci_mrvl.c
|
networking: introduce and use skb_put_data()
|
2017-06-16 11:48:37 -04:00 |
|
hci_nokia.c
|
bluetooth: hci_nokia: Don't include linux/unaligned/le_struct.h directly.
|
2018-06-17 08:38:55 +09:00 |
|
hci_qca.c
|
Bluetooth: hci_qca: Remove hdev dereference in qca_close().
|
2018-11-13 11:08:25 -08:00 |
|
hci_serdev.c
|
Bluetooth: hci_serdev: Fix HCI_UART_INIT_PENDING not working
|
2018-05-30 08:49:20 +02:00 |
|
hci_uart.h
|
Bluetooth: hci_serdev: Fix HCI_UART_INIT_PENDING not working
|
2018-05-30 08:49:20 +02:00 |
|
hci_vhci.c
|
vfs: do bulk POLL* -> EPOLL* replacement
|
2018-02-11 14:34:03 -08:00 |
|
Kconfig
|
Bluetooth: Make BT_HCIUART_RTL configuration option depend on ACPI
|
2018-08-21 16:36:12 +02:00 |
|
Makefile
|
Bluetooth: mediatek: Add protocol support for MediaTek serial devices
|
2018-08-07 21:33:25 +02:00 |