syzbot


BUG: soft lockup in raw_ioctl

Status: moderation: reported on 2022/11/18 14:14
Reported-by: syzbot+d57db9fffb6939d41206@syzkaller.appspotmail.com
First crash: 83d, last: 10d

Sample crash report:
watchdog: BUG: soft lockup - CPU#0 stuck for 144s! [syz-executor.3:23815]
Modules linked in:
irq event stamp: 76812
hardirqs last  enabled at (76811): [<ffffffff8111687d>] kvm_wait arch/x86/kernel/kvm.c:1066 [inline]
hardirqs last  enabled at (76811): [<ffffffff8111687d>] kvm_wait+0x8d/0x100 arch/x86/kernel/kvm.c:1048
hardirqs last disabled at (76812): [<ffffffff85fbdc0b>] sysvec_apic_timer_interrupt+0xb/0xc0 arch/x86/kernel/apic/apic.c:1107
softirqs last  enabled at (76800): [<ffffffff8116f4c3>] invoke_softirq kernel/softirq.c:445 [inline]
softirqs last  enabled at (76800): [<ffffffff8116f4c3>] __irq_exit_rcu+0x113/0x170 kernel/softirq.c:650
softirqs last disabled at (76795): [<ffffffff8116f4c3>] invoke_softirq kernel/softirq.c:445 [inline]
softirqs last disabled at (76795): [<ffffffff8116f4c3>] __irq_exit_rcu+0x113/0x170 kernel/softirq.c:650
CPU: 0 PID: 23815 Comm: syz-executor.3 Not tainted 6.1.0-rc3-syzkaller-00058-gdd65a243a915 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
RIP: 0010:kvm_wait+0x98/0x100 arch/x86/kernel/kvm.c:1070
Code: fa 83 e2 07 38 d0 7f 04 84 c0 75 63 0f b6 07 40 38 c6 74 35 48 83 c4 10 c3 c3 e8 33 ce 3b 00 66 90 0f 00 2d da 20 34 05 fb f4 <48> 83 c4 10 c3 89 74 24 0c 48 89 3c 24 e8 c6 cc 3b 00 8b 74 24 0c
RSP: 0018:ffffc900031df880 EFLAGS: 00000242

RAX: 0000000000012c0b RBX: 0000000000000000 RCX: 1ffffffff161b53e
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000000
RBP: ffffffff87c0b740 R08: 0000000000000001 R09: ffffffff8b0d56cf
R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
R13: fffffbfff0f816e8 R14: 0000000000000001 R15: ffff8881f6838a40
FS:  00007f1ec4b65700(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f1ec4b64110 CR3: 000000010fc38000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 pv_wait arch/x86/include/asm/paravirt.h:603 [inline]
 pv_wait_head_or_lock kernel/locking/qspinlock_paravirt.h:470 [inline]
 __pv_queued_spin_lock_slowpath+0x8c7/0xb50 kernel/locking/qspinlock.c:511
 pv_queued_spin_lock_slowpath arch/x86/include/asm/paravirt.h:591 [inline]
 queued_spin_lock_slowpath arch/x86/include/asm/qspinlock.h:51 [inline]
 queued_spin_lock include/asm-generic/qspinlock.h:114 [inline]
 do_raw_spin_lock+0x200/0x2a0 kernel/locking/spinlock_debug.c:115
 spin_lock include/linux/spinlock.h:350 [inline]
 __kernfs_new_node+0xff/0x8b0 fs/kernfs/dir.c:608
 kernfs_new_node fs/kernfs/dir.c:665 [inline]
 kernfs_create_dir_ns+0x9c/0x220 fs/kernfs/dir.c:1011
 sysfs_create_dir_ns+0x127/0x290 fs/sysfs/dir.c:59
 create_dir lib/kobject.c:63 [inline]
 kobject_add_internal+0x2c9/0x8f0 lib/kobject.c:223
 kobject_add_varg lib/kobject.c:358 [inline]
 kobject_init_and_add+0x101/0x160 lib/kobject.c:441
 bus_add_driver+0x1e8/0x640 drivers/base/bus.c:611
 driver_register+0x220/0x3a0 drivers/base/driver.c:246
 usb_gadget_register_driver_owner+0xfb/0x1e0 drivers/usb/gadget/udc/core.c:1560
 raw_ioctl_run drivers/usb/gadget/legacy/raw_gadget.c:546 [inline]
 raw_ioctl+0x18fa/0x27c0 drivers/usb/gadget/legacy/raw_gadget.c:1253
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:870 [inline]
 __se_sys_ioctl fs/ioctl.c:856 [inline]
 __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f1ec57f13f7
Code: 3c 1c 48 f7 d8 49 39 c4 72 b8 e8 f4 57 02 00 85 c0 78 bd 48 83 c4 08 4c 89 e0 5b 41 5c c3 0f 1f 44 00 00 b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f1ec4b63098 EFLAGS: 00000246
 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f1ec4b64110 RCX: 00007f1ec57f13f7
RDX: 0000000000000000 RSI: 0000000000005501 RDI: 0000000000000003
RBP: 0000000000000003 R08: 000000000000ffff R09: 000000000000000b
R10: 00007f1ec4b63140 R11: 0000000000000246 R12: 0000000000000000
R13: 00000000200002c0 R14: 0000000020000000 R15: 0000000000000000
 </TASK>
Sending NMI from CPU 0 to CPUs 1:
cdc_wdm 4-1:1.0: nonzero urb status received: -71
NMI backtrace for cpu 1
CPU: 1 PID: 1176 Comm: udevd Not tainted 6.1.0-rc3-syzkaller-00058-gdd65a243a915 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
RIP: 0010:__sanitizer_cov_trace_pc+0x5c/0x60 kernel/kcov.c:225
Code: 82 68 14 00 00 83 f8 02 75 20 48 8b 8a 70 14 00 00 8b 92 6c 14 00 00 48 8b 01 48 83 c0 01 48 39 c2 76 07 48 89 01 48 89 34 c1 <c3> 0f 1f 00 41 55 41 54 49 89 fc 55 48 bd eb 83 b5 80 46 86 c8 61
RSP: 0018:ffffc900001780a0 EFLAGS: 00000012
RAX: 0000000000039386 RBX: 0000000000000000 RCX: ffffc90001202000
RDX: 0000000000040000 RSI: ffffffff85ca0b7a RDI: 0000000000000001
RBP: ffffc900001781c0 R08: 0000000000000001 R09: 0000000000000001
R10: 0000000000000000 R11: 0000000000000001 R12: ffffc9000017842f
R13: ffffffff86488046 R14: 1ffff9200002f018 R15: ffffc90000178258
FS:  00007f1284be5840(0000) GS:ffff8881f6900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055555721b728 CR3: 000000010cfe5000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 format_decode+0xda/0xad0 lib/vsprintf.c:2523
 vsnprintf+0x155/0x14f0 lib/vsprintf.c:2752
 sprintf+0xc0/0x100 lib/vsprintf.c:3004
 print_time kernel/printk/printk.c:1274 [inline]
 info_print_prefix+0x248/0x340 kernel/printk/printk.c:1300
 record_print_text+0x14d/0x3e0 kernel/printk/printk.c:1349
 console_emit_next_record.constprop.0+0x6bf/0x840 kernel/printk/printk.c:2714
 console_flush_all kernel/printk/printk.c:2793 [inline]
 console_unlock+0x3be/0x600 kernel/printk/printk.c:2860
 vprintk_emit+0x1b9/0x5f0 kernel/printk/printk.c:2268
 dev_vprintk_emit+0x36e/0x3b2 drivers/base/core.c:4736
 dev_printk_emit+0xba/0xf1 drivers/base/core.c:4747
 __dev_printk+0xcf/0xf5 drivers/base/core.c:4759
 _dev_err+0xd7/0x109 drivers/base/core.c:4802
 wdm_int_callback.cold+0xc2/0x104 drivers/usb/class/cdc-wdm.c:269
 __usb_hcd_giveback_urb+0x2b0/0x5c0 drivers/usb/core/hcd.c:1671
 usb_hcd_giveback_urb+0x380/0x430 drivers/usb/core/hcd.c:1754
 dummy_timer+0x11ff/0x32c0 drivers/usb/gadget/udc/dummy_hcd.c:1988
 call_timer_fn+0x1da/0x7c0 kernel/time/timer.c:1474
 expire_timers kernel/time/timer.c:1519 [inline]
 __run_timers.part.0+0x6a2/0xaf0 kernel/time/timer.c:1790
 __run_timers kernel/time/timer.c:1768 [inline]
 run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1803
 __do_softirq+0x1e4/0xabb kernel/softirq.c:571
 invoke_softirq kernel/softirq.c:445 [inline]
 __irq_exit_rcu+0x113/0x170 kernel/softirq.c:650
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:662
 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1107
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:649
RIP: 0010:stack_trace_consume_entry+0x22/0x160 kernel/stacktrace.c:86
Code: cc cc cc cc cc cc cc cc 48 b8 00 00 00 00 00 fc ff df 55 53 48 89 fb 48 83 c7 10 48 89 fa 48 83 ec 08 48 c1 ea 03 0f b6 04 02 <84> c0 74 08 3c 03 0f 8e df 00 00 00 48 8d 7b 08 8b 6b 10 48 b8 00
RSP: 0018:ffffc900032af240 EFLAGS: 00000a06
RAX: 0000000000000000 RBX: ffffc900032af318 RCX: 0000000000000000
RDX: 1ffff92000655e65 RSI: ffffffff81840f56 RDI: ffffc900032af328
RBP: ffffc900032af2e8 R08: 0000000000000001 R09: ffffc900032af294
R10: fffff52000655e57 R11: ffffc900032afbf8 R12: ffffc900032af318
R13: 0000000000000000 R14: ffff888114be0000 R15: 0000000000000010
 arch_stack_walk+0x6d/0xe0 arch/x86/kernel/stacktrace.c:27
 stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:122
 kasan_save_stack+0x1e/0x40 mm/kasan/common.c:45
 __kasan_record_aux_stack+0x9c/0xb0 mm/kasan/generic.c:481
 call_rcu+0x99/0x820 kernel/rcu/tree.c:2798
 radix_tree_node_free lib/radix-tree.c:308 [inline]
 delete_node+0xef/0x740 lib/radix-tree.c:571
 __radix_tree_delete+0x129/0x360 lib/radix-tree.c:1378
 radix_tree_delete_item+0xe7/0x220 lib/radix-tree.c:1429
 kernfs_put.part.0+0x294/0x540 fs/kernfs/dir.c:555
 kernfs_put+0x42/0x50 fs/kernfs/dir.c:531
 evict+0x2ed/0x6b0 fs/inode.c:664
 iput_final fs/inode.c:1747 [inline]
 iput.part.0+0x59b/0x880 fs/inode.c:1773
 iput+0x58/0x70 fs/inode.c:1763
 dentry_unlink_inode+0x2b1/0x460 fs/dcache.c:401
 __dentry_kill+0x3c0/0x640 fs/dcache.c:607
 dentry_kill fs/dcache.c:745 [inline]
 dput+0x64d/0xdb0 fs/dcache.c:913
 lookup_fast+0x279/0x520 fs/namei.c:1651
 walk_component+0x5e/0x5a0 fs/namei.c:1989
 link_path_walk.part.0+0x74e/0xe20 fs/namei.c:2320
 link_path_walk fs/namei.c:2245 [inline]
 path_openat+0x262/0x2860 fs/namei.c:3709
 do_filp_open+0x1b6/0x400 fs/namei.c:3740
 do_sys_openat2+0x16d/0x4c0 fs/open.c:1310
 do_sys_open fs/open.c:1326 [inline]
 __do_sys_openat fs/open.c:1342 [inline]
 __se_sys_openat fs/open.c:1337 [inline]
 __x64_sys_openat+0x13f/0x1f0 fs/open.c:1337
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f1284d3c697
Code: 25 00 00 41 00 3d 00 00 41 00 74 37 64 8b 04 25 18 00 00 00 85 c0 75 5b 44 89 e2 48 89 ee bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 85 00 00 00 48 83 c4 68 5d 41 5c c3 0f 1f
RSP: 002b:00007ffe80afa1e0 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 000055f9d0ea6530 RCX: 00007f1284d3c697
RDX: 0000000000080000 RSI: 00007ffe80afa318 RDI: 00000000ffffff9c
RBP: 00007ffe80afa318 R08: 0000000000000008 R09: 0000000000000001
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000080000
R13: 000055f9d0ea6530 R14: 0000000000000001 R15: 0000000000000000
 </TASK>

Crashes (2):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets Title
ci2-upstream-usb 2022/11/14 14:02 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing dd65a243a915 943f4cb8 .config console log report info [disk image] [vmlinux] [kernel image] BUG: soft lockup in raw_ioctl
ci2-upstream-usb 2023/01/27 07:51 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing c52c9acc415e 9dfcf09c .config console log report info [disk image] [vmlinux] [kernel image] INFO: rcu detected stall in raw_ioctl
* Struck through repros no longer work on HEAD.