Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH] Bluetooth: btusb: validate Realtek vendor event length
@ 2026-07-06  9:16 Pengpeng Hou
  2026-07-06 10:48 ` Paul Menzel
  2026-07-06 12:57 ` bluez.test.bot
  0 siblings, 2 replies; 3+ messages in thread
From: Pengpeng Hou @ 2026-07-06  9:16 UTC (permalink / raw)
  To: Marcel Holtmann
  Cc: Pengpeng Hou, Luiz Augusto von Dentz, linux-bluetooth,
	linux-kernel

btusb_recv_event_realtek() inspects skb->data[2] when checking
for a Realtek coredump subevent.

Require the packet to contain the HCI event header and the subevent byte
before treating it as a coredump event. Short packets keep following the
normal hci_recv_frame() path.

Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
---
 drivers/bluetooth/btusb.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 08c0a99a62c5..8f7ed469cac6 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2782,7 +2782,9 @@ static int btusb_setup_realtek(struct hci_dev *hdev)
 
 static int btusb_recv_event_realtek(struct hci_dev *hdev, struct sk_buff *skb)
 {
-	if (skb->data[0] == HCI_VENDOR_PKT && skb->data[2] == RTK_SUB_EVENT_CODE_COREDUMP) {
+	if (skb->len >= HCI_EVENT_HDR_SIZE + 1 &&
+	    skb->data[0] == HCI_VENDOR_PKT &&
+	    skb->data[2] == RTK_SUB_EVENT_CODE_COREDUMP) {
 		struct rtk_dev_coredump_hdr hdr = {
 			.code = RTK_DEVCOREDUMP_CODE_MEMDUMP,
 		};
-- 
2.43.0


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

end of thread, other threads:[~2026-07-06 12:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-06  9:16 [PATCH] Bluetooth: btusb: validate Realtek vendor event length Pengpeng Hou
2026-07-06 10:48 ` Paul Menzel
2026-07-06 12:57 ` bluez.test.bot

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