anolis-cloud-kernel/drivers/bluetooth
Lee, Chun-Yi a883199804 Bluetooth: hci_ldisc: check HCI_UART_PROTO_READY flag in HCIUARTGETPROTO
ANBZ: #6396

commit 9c33663af9 upstream.

This patch adds code to check HCI_UART_PROTO_READY flag before
accessing hci_uart->proto. It fixes the race condition in
hci_uart_tty_ioctl() between HCIUARTSETPROTO and HCIUARTGETPROTO.
This issue bug found by Yu Hao and Weiteng Chen:

BUG: general protection fault in hci_uart_tty_ioctl [1]

The information of C reproducer can also reference the link [2]

Reported-by: Yu Hao <yhao016@ucr.edu>
Closes: https://lore.kernel.org/all/CA+UBctC3p49aTgzbVgkSZ2+TQcqq4fPDO7yZitFT5uBPDeCO2g@mail.gmail.com/ [1]
Reported-by: Weiteng Chen <wchen130@ucr.edu>
Closes: https://lore.kernel.org/lkml/CA+UBctDPEvHdkHMwD340=n02rh+jNRJNNQ5LBZNA+Wm4Keh2ow@mail.gmail.com/T/ [2]
Signed-off-by: "Lee, Chun-Yi" <jlee@suse.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

Fixes: CVE-2023-31083
Signed-off-by: Xiao Long <xiaolong@openanolis.org>
Signed-off-by: Qinyun Tan <qinyuntan@linux.alibaba.com>
Reviewed-by: Xunlei Pang <xlpang@linux.alibaba.com>
Link: https://gitee.com/anolis/cloud-kernel/pulls/2364
2023-10-25 07:33:45 +00:00
..
Kconfig Bluetooth: hci_h5: btrtl: Add support for RTL8822C 2020-02-18 09:22:22 +01:00
Makefile Bluetooth: btwilink: drop superseded driver 2019-10-16 21:12:52 +02:00
ath3k.c Bluetooth: ath3k: use usb_control_msg_send() and usb_control_msg_recv() 2020-09-25 16:33:59 +02:00
bcm203x.c Bluetooth: Use fallthrough pseudo-keyword 2020-07-10 19:09:42 +02:00
bfusb.c Bluetooth: bfusb: fix division by zero in send path 2022-01-16 09:14:22 +01: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
btbcm.c Bluetooth: btbcm: Added 003.006.007, changed 001.003.015 2020-05-28 10:28:12 +02:00
btbcm.h Bluetooth: btbcm: Make btbcm_setup_patchram use btbcm_finalize 2020-04-22 19:43:58 +02:00
btintel.c Bluetooth: btintel: Functions to send firmware header / payload 2020-09-14 20:30:36 +02:00
btintel.h Bluetooth: btintel: Replace zero-length array with flexible-array member 2020-10-30 16:57:41 -05:00
btmrvl_debugfs.c
btmrvl_drv.h
btmrvl_main.c Bluetooth: btmrvl_sdio: Implement prevent_wake 2020-06-12 08:38:52 +02:00
btmrvl_sdio.c Bluetooth: btmrvl: eliminate duplicates introducing btmrvl_reg_89xx 2020-08-02 19:59:43 +02:00
btmrvl_sdio.h
btmtksdio.c Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt 2022-04-08 14:40:22 +02:00
btmtkuart.c Bluetooth: btmtkuart: fix a memleak in mtk_hci_wmt_sync 2021-11-18 14:04:03 +01:00
btqca.c Bluetooth: btqca: Don't modify firmware contents in-place 2021-07-14 16:55:34 +02:00
btqca.h Bluetooth: hci_qca: Disable SoC debug logging for WCN3991 2020-06-12 15:17:47 +02:00
btqcomsmd.c Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function 2021-03-04 11:37:20 +01:00
btrsi.c
btrtl.c Bluetooth: btrtl: Add support for RTL8761B 2020-04-11 07:58:23 +02:00
btrtl.h Bluetooth: Replace zero-length array with flexible-array member 2020-02-28 08:30:02 +01:00
btsdio.c Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work 2023-06-27 03:40:24 +00:00
btusb.c Bluetooth: btusb: Add support for Foxconn QCA 0xe0d0 2022-01-16 09:14:22 +01:00
dtl1_cs.c
h4_recv.h
hci_ag6xx.c Bluetooth: hci_uart: Replace zero-length array with flexible-array member 2020-02-13 08:28:38 +01: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: Check for error irq 2022-01-27 10:54:01 +01:00
hci_bcsp.c Bluetooth: Fix invalid-free in bcsp_close() 2019-11-04 15:19:02 +01:00
hci_h4.c Bluetooth: hci_h4: Remove a redundant assignment in 'h4_flush()' 2020-02-28 08:43:57 +01:00
hci_h5.c Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl 2021-03-07 12:34:09 +01:00
hci_intel.c Bluetooth: hci_intel: enable on new platform 2020-09-11 09:03:42 +02:00
hci_ldisc.c Bluetooth: hci_ldisc: check HCI_UART_PROTO_READY flag in HCIUARTGETPROTO 2023-10-25 07:33:45 +00:00
hci_ll.c Bluetooth: Use fallthrough pseudo-keyword 2020-07-10 19:09:42 +02:00
hci_mrvl.c Bluetooth: hci_uart: check for missing tty operations 2019-07-31 13:17:33 -07:00
hci_nokia.c Bluetooth: hci_nokia: Save a few cycles in 'nokia_enqueue()' 2019-10-16 19:26:40 +02:00
hci_qca.c Bluetooth: hci_qca: Use del_timer_sync() before freeing 2022-06-06 08:42:43 +02:00
hci_serdev.c Bluetooth: hci_serdev: call init_rwsem() before p->open() 2022-04-08 14:40:12 +02:00
hci_uart.h Bluetooth: hci_h4: Add support for ISO packets 2020-01-15 22:28:51 +01:00
hci_vhci.c Bluetooth: vhci: Set HCI_QUIRK_VALID_LE_STATES 2022-01-27 10:54:18 +01:00