syzbot


general protection fault in hci_inquiry_result_with_rssi_evt

Status: fixed on 2022/05/19 12:02
Reported-by: syzbot+e3cad3a4e3f03bc00562@syzkaller.appspotmail.com
Fix commit: 72279d17df54 Bluetooth: hci_event: Rework hci_inquiry_result_with_rssi_evt
First crash: 201d, last: 174d

Cause bisection: introduced by (bisect log) :
commit 3e54c5890c87a30b1019a3de9dab968ff2b21e06
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: Wed Dec 1 18:55:03 2021 +0000

  Bluetooth: hci_event: Use of a function table to handle HCI events

Crash: general protection fault in hci_inquiry_result_with_rssi_evt (log)
Repro: C syz .config
Patch testing requests:
Created Duration User Patch Repo Result
2022/05/02 20:52 15m phil@philpotter.co.uk linux-next OK

Sample crash report:
Bluetooth: hci0: unexpected cc 0x1001 length: 249 > 9
Bluetooth: hci0: unexpected cc 0x0c23 length: 249 > 4
Bluetooth: hci0: unexpected cc 0x0c25 length: 249 > 3
Bluetooth: hci0: unexpected cc 0x0c38 length: 249 > 2
general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
CPU: 0 PID: 6545 Comm: kworker/u5:1 Not tainted 5.16.0-rc4-next-20211208-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: hci0 hci_rx_work
RIP: 0010:hci_inquiry_result_with_rssi_evt+0xbc/0x970 net/bluetooth/hci_event.c:4520
Code: 00 fc ff df 48 c1 ea 03 80 3c 02 00 0f 85 88 07 00 00 48 8b 04 24 4c 8b 28 48 b8 00 00 00 00 00 fc ff df 4c 89 ea 48 c1 ea 03 <0f> b6 04 02 4c 89 ea 83 e2 07 38 d0 7f 08 84 c0 0f 85 1b 07 00 00
RSP: 0018:ffffc90001aafad0 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: ffff88807e754000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff883588a8 RDI: ffff88807e754000
RBP: ffff88807e754000 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff88376f27 R11: 0000000000000000 R12: ffff88807015eb40
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd653f7000 CR3: 0000000071f88000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 hci_event_func net/bluetooth/hci_event.c:6812 [inline]
 hci_event_packet+0x817/0xe90 net/bluetooth/hci_event.c:6860
 hci_rx_work+0x4fa/0xd30 net/bluetooth/hci_core.c:3817
 process_one_work+0x9b2/0x1690 kernel/workqueue.c:2318
 worker_thread+0x658/0x11f0 kernel/workqueue.c:2465
 kthread+0x405/0x4f0 kernel/kthread.c:345
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
Modules linked in:
---[ end trace 403a15c54e29c5c4 ]---
RIP: 0010:hci_inquiry_result_with_rssi_evt+0xbc/0x970 net/bluetooth/hci_event.c:4520
Code: 00 fc ff df 48 c1 ea 03 80 3c 02 00 0f 85 88 07 00 00 48 8b 04 24 4c 8b 28 48 b8 00 00 00 00 00 fc ff df 4c 89 ea 48 c1 ea 03 <0f> b6 04 02 4c 89 ea 83 e2 07 38 d0 7f 08 84 c0 0f 85 1b 07 00 00
RSP: 0018:ffffc90001aafad0 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: ffff88807e754000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff883588a8 RDI: ffff88807e754000
RBP: ffff88807e754000 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff88376f27 R11: 0000000000000000 R12: ffff88807015eb40
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f2bb803f018 CR3: 000000001d893000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 4 bytes skipped:
   0:	48 c1 ea 03          	shr    $0x3,%rdx
   4:	80 3c 02 00          	cmpb   $0x0,(%rdx,%rax,1)
   8:	0f 85 88 07 00 00    	jne    0x796
   e:	48 8b 04 24          	mov    (%rsp),%rax
  12:	4c 8b 28             	mov    (%rax),%r13
  15:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  1c:	fc ff df
  1f:	4c 89 ea             	mov    %r13,%rdx
  22:	48 c1 ea 03          	shr    $0x3,%rdx
* 26:	0f b6 04 02          	movzbl (%rdx,%rax,1),%eax <-- trapping instruction
  2a:	4c 89 ea             	mov    %r13,%rdx
  2d:	83 e2 07             	and    $0x7,%edx
  30:	38 d0                	cmp    %dl,%al
  32:	7f 08                	jg     0x3c
  34:	84 c0                	test   %al,%al
  36:	0f 85 1b 07 00 00    	jne    0x757

Crashes (17):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-linux-next-kasan-gce-root 2021/12/10 23:45 linux-next 4eee8d0b64ec 49ca1f59 .config log report syz C general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2022/01/07 03:51 linux-next 3770333b3f8c 6acc789a .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2022/01/06 07:50 linux-next 7a769a3922d8 6acc789a .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2022/01/03 15:00 linux-next ea586a076e8a e1768e9c .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/31 08:36 linux-next ea586a076e8a 36bd2e48 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/31 07:58 linux-next ea586a076e8a 36bd2e48 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/30 09:11 linux-next ea586a076e8a 6cc879d4 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/29 11:56 linux-next ea586a076e8a 76c8cf06 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/27 07:13 linux-next ea586a076e8a e4f103c4 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/27 06:07 linux-next ea586a076e8a e4f103c4 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/26 06:58 linux-next ea586a076e8a 6caa12e4 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/25 06:10 linux-next ea586a076e8a 6caa12e4 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/24 07:43 linux-next 79f063d60c8c 6caa12e4 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/23 15:53 linux-next 79f063d60c8c 6caa12e4 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/18 07:34 linux-next fbf252e09678 44068e19 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/12 06:23 linux-next ea922272cbe5 49ca1f59 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt
ci-upstream-linux-next-kasan-gce-root 2021/12/10 23:14 linux-next 4eee8d0b64ec 49ca1f59 .config log report info general protection fault in hci_inquiry_result_with_rssi_evt