syzbot
general protection fault in bcsp_recv
Status:
upstream: reported C repro on 2025/06/13 12:03
Bug presence:
origin:upstream
[Documentation on labels]
Reported-by: syzbot+0cedb2b90dfed8de7e56@syzkaller.appspotmail.com
Fix commit:
ca94b2b036c2
Bluetooth: bcsp: receive data only if registered
Patched on: [ci2-linux-5-15-kasan ci2-linux-5-15-kasan-perf], missing on: [ci2-linux-5-15-kasan-arm64]
First crash: 414d, last: 245d
▶
▼
Bug presence (1)
| Date |
Name |
Commit |
Repro |
Result |
| 2025/06/17 |
upstream (ToT) |
4663747812d1 |
C
|
[report] general protection fault in bcsp_recv
|
▶
▼
Last patch testing requests (10)
▶
▼
Fix bisection attempts (2)
Sample crash report:
general protection fault, probably for non-canonical address 0xdffffc0000000021: 0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000108-0x000000000000010f]
CPU: 0 PID: 4309 Comm: syz-executor260 Not tainted 5.15.185-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
RIP: 0010:bcsp_recv+0xde/0x15d0 drivers/bluetooth/hci_bcsp.c:590
Code: e8 48 89 6c 24 10 48 89 cd 48 c1 e8 03 48 89 44 24 40 48 89 4c 24 30 4c 89 64 24 18 4c 89 6c 24 38 89 5c 24 04 48 8b 44 24 28 <42> 80 3c 38 00 74 08 48 89 ef e8 03 20 bb fa 48 8b 5d 00 31 ff 48
RSP: 0018:ffffc9000345fce0 EFLAGS: 00010206
RAX: 0000000000000021 RBX: 0000000000000001 RCX: 0000000000000108
RDX: 0000000000000178 RSI: 000000000000002f RDI: 0000000000000000
RBP: 0000000000000108 R08: dffffc0000000000 R09: ffffed1003a80704
R10: ffffed1003a80704 R11: 1ffff11003a80703 R12: 0000000000000110
R13: 000000000000002f R14: ffffc9000345fe20 R15: dffffc0000000000
FS: 00007f5f52c426c0(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f5f534d7e10 CR3: 0000000076325000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
hci_uart_tty_receive+0x188/0x210 drivers/bluetooth/hci_ldisc.c:621
tiocsti+0x1f6/0x280 drivers/tty/tty_io.c:2312
tty_ioctl+0x3a7/0xc20 drivers/tty/tty_io.c:2724
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:874 [inline]
__se_sys_ioctl+0xfa/0x170 fs/ioctl.c:860
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f5f534b0be9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 1f 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f5f52c42168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f5f53535418 RCX: 00007f5f534b0be9
RDX: 0000200000000140 RSI: 0000000000005412 RDI: 0000000000000004
RBP: 00007f5f53535410 R08: 00007ffca4cdb5e7 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f5f5353541c
R13: 0000000000000016 R14: 00007ffca4cdb500 R15: 00007ffca4cdb5e8
</TASK>
Modules linked in:
---[ end trace 6e676112b3b19dcd ]---
RIP: 0010:bcsp_recv+0xde/0x15d0 drivers/bluetooth/hci_bcsp.c:590
Code: e8 48 89 6c 24 10 48 89 cd 48 c1 e8 03 48 89 44 24 40 48 89 4c 24 30 4c 89 64 24 18 4c 89 6c 24 38 89 5c 24 04 48 8b 44 24 28 <42> 80 3c 38 00 74 08 48 89 ef e8 03 20 bb fa 48 8b 5d 00 31 ff 48
RSP: 0018:ffffc9000345fce0 EFLAGS: 00010206
RAX: 0000000000000021 RBX: 0000000000000001 RCX: 0000000000000108
RDX: 0000000000000178 RSI: 000000000000002f RDI: 0000000000000000
RBP: 0000000000000108 R08: dffffc0000000000 R09: ffffed1003a80704
R10: ffffed1003a80704 R11: 1ffff11003a80703 R12: 0000000000000110
R13: 000000000000002f R14: ffffc9000345fe20 R15: dffffc0000000000
FS: 00007f5f52c426c0(0000) GS:ffff8880b9100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f5f53537fe8 CR3: 0000000076325000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: e8 48 89 6c 24 call 0x246c894d
5: 10 48 89 adc %cl,-0x77(%rax)
8: cd 48 int $0x48
a: c1 e8 03 shr $0x3,%eax
d: 48 89 44 24 40 mov %rax,0x40(%rsp)
12: 48 89 4c 24 30 mov %rcx,0x30(%rsp)
17: 4c 89 64 24 18 mov %r12,0x18(%rsp)
1c: 4c 89 6c 24 38 mov %r13,0x38(%rsp)
21: 89 5c 24 04 mov %ebx,0x4(%rsp)
25: 48 8b 44 24 28 mov 0x28(%rsp),%rax
* 2a: 42 80 3c 38 00 cmpb $0x0,(%rax,%r15,1) <-- trapping instruction
2f: 74 08 je 0x39
31: 48 89 ef mov %rbp,%rdi
34: e8 03 20 bb fa call 0xfabb203c
39: 48 8b 5d 00 mov 0x0(%rbp),%rbx
3d: 31 ff xor %edi,%edi
3f: 48 rex.W
* Struck through repros no longer work on HEAD.