syzbot


general protection fault in __queue_work

Status: fixed on 2021/05/29 15:40
Reported-by: syzbot+6c1841753a9a3d66b6ba@syzkaller.appspotmail.com
Fix commit: 35113c4c9fa7 bluetooth: eliminate the potential race condition when removing the HCI controller
First crash: 719d, last: 471d

Fix bisection: fixed by (bisect log) :
commit 35113c4c9fa7c970ff456982e381dc9e9594154a
Author: Lin Ma <linma@zju.edu.cn>
Date: Mon Apr 12 11:17:57 2021 +0000

  bluetooth: eliminate the potential race condition when removing the HCI controller

similar bugs (4):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream general protection fault in __queue_work 3 1253d 1252d 0/23 auto-closed as invalid on 2019/09/02 09:35
linux-4.14 general protection fault in __queue_work syz error 1 582d 733d 0/1 upstream: reported syz repro on 2020/08/07 22:48
upstream general protection fault in __queue_work (2) C done 7043 118d 887d 0/23 upstream: reported C repro on 2020/03/07 03:55
linux-4.19 general protection fault in __queue_work (2) 1 210d 210d 0/1 auto-closed as invalid on 2022/05/12 22:08

Sample crash report:
Bluetooth: hci0: command 0x0409 tx timeout
NOHZ: local_softirq_pending 08
Bluetooth: hci0: command 0x041b tx timeout
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 13977 Comm: syz-executor.5 Not tainted 4.19.141-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__queue_work+0x1d6/0x1100 kernel/workqueue.c:1404
Code: ff ff 48 89 c5 e8 fa 80 25 00 4c 89 e7 e8 52 99 ff ff 48 85 c0 49 89 c6 0f 84 67 01 00 00 e8 e1 80 25 00 48 89 e8 48 c1 e8 03 <42> 80 3c 28 00 0f 85 66 0d 00 00 4c 39 75 00 0f 84 61 01 00 00 e8
RSP: 0018:ffff8880965cf770 EFLAGS: 00010046
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffffffff87379b4c
RDX: 0000000000000000 RSI: ffffffff8144301f RDI: 0000000000000007
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000001
R10: 0000000000000007 R11: 0000000000000000 R12: ffff8880970d2528
R13: dffffc0000000000 R14: ffff8880a7576480 R15: 0000000000000040
FS:  00007f0d38da0700(0000) GS:ffff8880ae600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd98d9e010 CR3: 0000000081c2b000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 queue_work_on+0x17e/0x1f0 kernel/workqueue.c:1488
 queue_work include/linux/workqueue.h:512 [inline]
 req_run+0x2c5/0x4a0 net/bluetooth/hci_request.c:87
 hci_req_run_skb net/bluetooth/hci_request.c:99 [inline]
 __hci_req_sync+0x1d8/0x830 net/bluetooth/hci_request.c:212
 hci_req_sync+0x7d/0xb0 net/bluetooth/hci_request.c:279
 hci_dev_cmd+0x587/0x890 net/bluetooth/hci_core.c:1934
 hci_sock_ioctl+0x3c2/0x7a0 net/bluetooth/hci_sock.c:1045
 sock_do_ioctl+0xcb/0x2d0 net/socket.c:950
 sock_ioctl+0x2ef/0x5d0 net/socket.c:1074
 vfs_ioctl fs/ioctl.c:46 [inline]
 file_ioctl fs/ioctl.c:501 [inline]
 do_vfs_ioctl+0xcdb/0x12e0 fs/ioctl.c:688
 ksys_ioctl+0x9b/0xc0 fs/ioctl.c:705
 __do_sys_ioctl fs/ioctl.c:712 [inline]
 __se_sys_ioctl fs/ioctl.c:710 [inline]
 __x64_sys_ioctl+0x6f/0xb0 fs/ioctl.c:710
 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x45d4d9
Code: 5d b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 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 0f 83 2b b4 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007f0d38d9fc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 000000000001e000 RCX: 000000000045d4d9
RDX: 0000000020000040 RSI: 00000000400448dd RDI: 0000000000000004
RBP: 000000000118d160 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118d12c
R13: 00007ffc15edddef R14: 00007f0d38da09c0 R15: 000000000118d12c
Modules linked in:
---[ end trace 3d9513053b36005e ]---
RIP: 0010:__queue_work+0x1d6/0x1100 kernel/workqueue.c:1404
Code: ff ff 48 89 c5 e8 fa 80 25 00 4c 89 e7 e8 52 99 ff ff 48 85 c0 49 89 c6 0f 84 67 01 00 00 e8 e1 80 25 00 48 89 e8 48 c1 e8 03 <42> 80 3c 28 00 0f 85 66 0d 00 00 4c 39 75 00 0f 84 61 01 00 00 e8
RSP: 0018:ffff8880965cf770 EFLAGS: 00010046
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffffffff87379b4c
RDX: 0000000000000000 RSI: ffffffff8144301f RDI: 0000000000000007
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000001
R10: 0000000000000007 R11: 0000000000000000 R12: ffff8880970d2528
R13: dffffc0000000000 R14: ffff8880a7576480 R15: 0000000000000040
FS:  00007f0d38da0700(0000) GS:ffff8880ae600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffd98d9e010 CR3: 0000000081c2b000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (1):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-linux-4-19 2020/08/22 08:11 linux-4.19.y d18b78abc0c6 6436ce4b .config log report syz