[ OK ] Started Getty on tty2. [ OK ] Started Getty on tty1. [ OK ] Started Serial Getty on ttyS0. [ OK ] Reached target Login Prompts. [ OK ] Reached target Multi-User System. [ OK ] Reached target Graphical Interface. Starting Update UTMP about System Runlevel Changes... [ OK ] Started Update UTMP about System Runlevel Changes. Starting Load/Save RF Kill Switch Status... [ OK ] Started Load/Save RF Kill Switch Status. Debian GNU/Linux 9 syzkaller ttyS0 Warning: Permanently added '10.128.0.180' (ECDSA) to the list of known hosts. executing program syzkaller login: [ 58.770768][ C0] [ 58.773129][ C0] ======================================================== [ 58.780318][ C0] WARNING: possible irq lock inversion dependency detected [ 58.787485][ C0] 5.6.0-syzkaller #0 Not tainted [ 58.792400][ C0] -------------------------------------------------------- [ 58.799578][ C0] swapper/0/0 just changed the state of lock: [ 58.805663][ C0] ffff888096b6fcd8 (&ctx->ctx_lock){..-.}-{2:2}, at: free_ioctx_users+0x2b/0x450 [ 58.814853][ C0] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 58.822425][ C0] (&pid->wait_pidfd){+.+.}-{2:2} [ 58.822434][ C0] [ 58.822434][ C0] [ 58.822434][ C0] and interrupts could create inverse lock ordering between them. [ 58.822434][ C0] [ 58.841781][ C0] [ 58.841781][ C0] other info that might help us debug this: [ 58.849817][ C0] Possible interrupt unsafe locking scenario: [ 58.849817][ C0] [ 58.858112][ C0] CPU0 CPU1 [ 58.863450][ C0] ---- ---- [ 58.868789][ C0] lock(&pid->wait_pidfd); [ 58.873266][ C0] local_irq_disable(); [ 58.879994][ C0] lock(&ctx->ctx_lock); [ 58.886815][ C0] lock(&pid->wait_pidfd); [ 58.893806][ C0] [ 58.897255][ C0] lock(&ctx->ctx_lock); [ 58.901728][ C0] [ 58.901728][ C0] *** DEADLOCK *** [ 58.901728][ C0] [ 58.909862][ C0] 2 locks held by swapper/0/0: [ 58.914609][ C0] #0: ffffffff899bbaa0 (rcu_callback){....}-{0:0}, at: rcu_core+0x520/0x1370 [ 58.923437][ C0] #1: ffffffff899bbbc0 (rcu_read_lock){....}-{1:2}, at: percpu_ref_switch_to_atomic_rcu+0x209/0x540 [ 58.934260][ C0] [ 58.934260][ C0] the shortest dependencies between 2nd lock and 1st lock: [ 58.943623][ C0] -> (&pid->wait_pidfd){+.+.}-{2:2} { [ 58.949064][ C0] HARDIRQ-ON-W at: [ 58.953121][ C0] lock_acquire+0x1f2/0x8f0 [ 58.959465][ C0] _raw_spin_lock+0x2a/0x40 [ 58.965786][ C0] proc_pid_make_inode+0x1f9/0x3c0 [ 58.972699][ C0] proc_pid_instantiate+0x51/0x150 [ 58.979668][ C0] proc_pid_lookup+0x1da/0x340 [ 58.986277][ C0] proc_root_lookup+0x20/0x60 [ 58.992753][ C0] __lookup_slow+0x256/0x490 [ 58.999142][ C0] walk_component+0x418/0x6a0 [ 59.005669][ C0] link_path_walk.part.0+0x4f1/0xb50 [ 59.012760][ C0] path_openat+0x25a/0x27d0 [ 59.019076][ C0] do_filp_open+0x192/0x260 [ 59.025381][ C0] do_sys_openat2+0x585/0x7d0 [ 59.031880][ C0] do_sys_open+0xc3/0x140 [ 59.038021][ C0] do_syscall_64+0xf6/0x7d0 [ 59.044327][ C0] entry_SYSCALL_64_after_hwframe+0x49/0xb3 [ 59.052013][ C0] SOFTIRQ-ON-W at: [ 59.056061][ C0] lock_acquire+0x1f2/0x8f0 [ 59.062375][ C0] _raw_spin_lock+0x2a/0x40 [ 59.068678][ C0] proc_pid_make_inode+0x1f9/0x3c0 [ 59.075598][ C0] proc_pid_instantiate+0x51/0x150 [ 59.082520][ C0] proc_pid_lookup+0x1da/0x340 [ 59.089248][ C0] proc_root_lookup+0x20/0x60 [ 59.095726][ C0] __lookup_slow+0x256/0x490 [ 59.102116][ C0] walk_component+0x418/0x6a0 [ 59.108592][ C0] link_path_walk.part.0+0x4f1/0xb50 [ 59.115698][ C0] path_openat+0x25a/0x27d0 [ 59.122011][ C0] do_filp_open+0x192/0x260 [ 59.128325][ C0] do_sys_openat2+0x585/0x7d0 [ 59.134814][ C0] do_sys_open+0xc3/0x140 [ 59.140955][ C0] do_syscall_64+0xf6/0x7d0 [ 59.147258][ C0] entry_SYSCALL_64_after_hwframe+0x49/0xb3 [ 59.154945][ C0] INITIAL USE at: [ 59.158905][ C0] lock_acquire+0x1f2/0x8f0 [ 59.165131][ C0] _raw_spin_lock_irqsave+0x8c/0xbf [ 59.172058][ C0] __wake_up_common_lock+0xb4/0x130 [ 59.178978][ C0] do_notify_parent+0x19e/0xe60 [ 59.185549][ C0] do_exit+0x238f/0x2dd0 [ 59.191504][ C0] call_usermodehelper_exec_async+0x507/0x710 [ 59.199462][ C0] ret_from_fork+0x24/0x30 [ 59.205637][ C0] } [ 59.208236][ C0] ... key at: [] __key.53786+0x0/0x40 [ 59.215799][ C0] ... acquired at: [ 59.219722][ C0] _raw_spin_lock+0x2a/0x40 [ 59.224421][ C0] io_submit_one+0xc1b/0x2ec0 [ 59.229247][ C0] __ia32_compat_sys_io_submit+0x1bf/0x530 [ 59.235207][ C0] do_fast_syscall_32+0x270/0xe90 [ 59.240386][ C0] entry_SYSENTER_compat+0x70/0x7f [ 59.245675][ C0] [ 59.247978][ C0] -> (&ctx->ctx_lock){..-.}-{2:2} { [ 59.253171][ C0] IN-SOFTIRQ-W at: [ 59.257155][ C0] lock_acquire+0x1f2/0x8f0 [ 59.263289][ C0] _raw_spin_lock_irq+0x5b/0x80 [ 59.269777][ C0] free_ioctx_users+0x2b/0x450 [ 59.276169][ C0] percpu_ref_switch_to_atomic_rcu+0x494/0x540 [ 59.283955][ C0] rcu_core+0x59f/0x1370 [ 59.289822][ C0] __do_softirq+0x26c/0x9f7 [ 59.295950][ C0] irq_exit+0x192/0x1d0 [ 59.301730][ C0] smp_apic_timer_interrupt+0x19e/0x600 [ 59.308925][ C0] apic_timer_interrupt+0xf/0x20 [ 59.315490][ C0] native_safe_halt+0xe/0x10 [ 59.321705][ C0] default_idle+0x49/0x350 [ 59.327747][ C0] do_idle+0x393/0x690 [ 59.333490][ C0] cpu_startup_entry+0x14/0x20 [ 59.339879][ C0] start_kernel+0x867/0x8a1 [ 59.346006][ C0] secondary_startup_64+0xa4/0xb0 [ 59.352658][ C0] INITIAL USE at: [ 59.356534][ C0] lock_acquire+0x1f2/0x8f0 [ 59.362624][ C0] _raw_spin_lock_irq+0x5b/0x80 [ 59.369024][ C0] io_submit_one+0xbd6/0x2ec0 [ 59.375249][ C0] __ia32_compat_sys_io_submit+0x1bf/0x530 [ 59.382601][ C0] do_fast_syscall_32+0x270/0xe90 [ 59.389192][ C0] entry_SYSENTER_compat+0x70/0x7f [ 59.395931][ C0] } [ 59.398538][ C0] ... key at: [] __key.55262+0x0/0x40 [ 59.405972][ C0] ... acquired at: [ 59.409818][ C0] mark_lock+0x624/0xf10 [ 59.414254][ C0] __lock_acquire+0x1d28/0x4e00 [ 59.419262][ C0] lock_acquire+0x1f2/0x8f0 [ 59.423924][ C0] _raw_spin_lock_irq+0x5b/0x80 [ 59.428923][ C0] free_ioctx_users+0x2b/0x450 [ 59.433840][ C0] percpu_ref_switch_to_atomic_rcu+0x494/0x540 [ 59.440193][ C0] rcu_core+0x59f/0x1370 [ 59.444584][ C0] __do_softirq+0x26c/0x9f7 [ 59.449237][ C0] irq_exit+0x192/0x1d0 [ 59.453542][ C0] smp_apic_timer_interrupt+0x19e/0x600 [ 59.459235][ C0] apic_timer_interrupt+0xf/0x20 [ 59.464320][ C0] native_safe_halt+0xe/0x10 [ 59.469053][ C0] default_idle+0x49/0x350 [ 59.473618][ C0] do_idle+0x393/0x690 [ 59.477836][ C0] cpu_startup_entry+0x14/0x20 [ 59.482747][ C0] start_kernel+0x867/0x8a1 [ 59.487462][ C0] secondary_startup_64+0xa4/0xb0 [ 59.492644][ C0] [ 59.494952][ C0] [ 59.494952][ C0] stack backtrace: [ 59.500825][ C0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-syzkaller #0 [ 59.508341][ C0] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 59.518413][ C0] Call Trace: [ 59.521716][ C0] [ 59.524549][ C0] dump_stack+0x188/0x20d [ 59.528856][ C0] check_usage_forwards.cold+0x20/0x29 [ 59.534303][ C0] ? check_usage_backwards+0x4e0/0x4e0 [ 59.539801][ C0] ? stack_trace_consume_entry+0x160/0x160 [ 59.545636][ C0] ? __read_once_size_nocheck.constprop.0+0x10/0x10 [ 59.552206][ C0] ? save_trace+0x42/0x9f0 [ 59.556652][ C0] mark_lock+0x624/0xf10 [ 59.560875][ C0] ? check_usage_backwards+0x4e0/0x4e0 [ 59.566307][ C0] ? print_usage_bug+0x240/0x240 [ 59.571218][ C0] ? print_usage_bug+0x240/0x240 [ 59.576148][ C0] ? mark_lock+0x12b/0xf10 [ 59.580545][ C0] __lock_acquire+0x1d28/0x4e00 [ 59.585389][ C0] ? mark_held_locks+0xe0/0xe0 [ 59.590138][ C0] ? __wake_up_common_lock+0xde/0x130 [ 59.595494][ C0] lock_acquire+0x1f2/0x8f0 [ 59.599984][ C0] ? free_ioctx_users+0x2b/0x450 [ 59.604947][ C0] ? lock_release+0x800/0x800 [ 59.609611][ C0] ? lock_acquire+0x1f2/0x8f0 [ 59.614271][ C0] ? percpu_ref_switch_to_atomic_rcu+0x209/0x540 [ 59.620627][ C0] ? lock_release+0x800/0x800 [ 59.625282][ C0] ? _raw_spin_unlock_irqrestore+0x62/0xe0 [ 59.631065][ C0] _raw_spin_lock_irq+0x5b/0x80 [ 59.635899][ C0] ? free_ioctx_users+0x2b/0x450 [ 59.640813][ C0] free_ioctx_users+0x2b/0x450 [ 59.645603][ C0] percpu_ref_switch_to_atomic_rcu+0x494/0x540 [ 59.651733][ C0] rcu_core+0x59f/0x1370 [ 59.655952][ C0] ? __rcu_read_unlock+0x700/0x700 [ 59.661063][ C0] ? rcu_read_lock_sched_held+0x9c/0xd0 [ 59.666597][ C0] ? rcu_read_lock_any_held.part.0+0x50/0x50 [ 59.672565][ C0] ? run_rebalance_domains+0x202/0x2c0 [ 59.677997][ C0] __do_softirq+0x26c/0x9f7 [ 59.682478][ C0] irq_exit+0x192/0x1d0 [ 59.686607][ C0] smp_apic_timer_interrupt+0x19e/0x600 [ 59.692129][ C0] apic_timer_interrupt+0xf/0x20 [ 59.697051][ C0] [ 59.699968][ C0] RIP: 0010:native_safe_halt+0xe/0x10 [ 59.705314][ C0] Code: cc cc cc cc cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d a4 4d 5a 00 f4 c3 66 90 e9 07 00 00 00 0f 00 2d 94 4d 5a 00 fb f4 cc 41 56 41 55 41 54 55 53 e8 e3 d1 92 f9 e8 2e 9f ca fb 0f 1f [ 59.724891][ C0] RSP: 0018:ffffffff89807d98 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff13 [ 59.733288][ C0] RAX: 1ffffffff132925f RBX: ffffffff898864c0 RCX: 0000000000000000 [ 59.741269][ C0] RDX: dffffc0000000000 RSI: 0000000000000006 RDI: ffffffff89886d84 [ 59.749225][ C0] RBP: dffffc0000000000 R08: ffffffff898864c0 R09: 0000000000000000 [ 59.757223][ C0] R10: 0000000000000000 R11: 0000000000000000 R12: fffffbfff1310c98 [ 59.765172][ C0] R13: 0000000000000000 R14: ffffffff8a88df40 R15: 0000000000000000 [ 59.773141][ C0] default_idle+0x49/0x350 [ 59.777581][ C0] do_idle+0x393/0x690 [ 59.781742][ C0] ? rcu_read_lock_held+0x9c/0xb0 [ 59.786794][ C0] ? arch_cpu_idle_exit+0x70/0x70 [ 59.791791][ C0] ? schedule+0xe7/0x2a0 [ 59.796038][ C0] ? trace_init_perf_perm_irq_work_exit+0xe/0xe [ 59.802253][ C0] cpu_startup_entry+0x14/0x20 [ 59.806993][ C0] start_kernel+0x867/0x8a1 [ 59.811482][ C0] ? mem_encrypt_init+0x5/0x5 [ 59.816140][ C0] ? x86_family+0x3d/0x50 [ 59.820492][ C0] ? load_ucode_bsp+0x23d/0x27d [ 59.825322][ C0] secondary_startup_64+0xa4/0xb0