Debian GNU/Linux 9 syzkaller ttyS0 Warning: Permanently added '10.128.0.24' (ECDSA) to the list of known hosts. executing program syzkaller login: [ 44.200801][ C1] [ 44.203156][ C1] ======================================================== [ 44.210333][ C1] WARNING: possible irq lock inversion dependency detected [ 44.217504][ C1] 5.6.0-syzkaller #0 Not tainted [ 44.222423][ C1] -------------------------------------------------------- [ 44.229586][ C1] swapper/1/0 just changed the state of lock: [ 44.235624][ C1] ffff88809dbcbcd8 (&ctx->ctx_lock){..-.}-{2:2}, at: free_ioctx_users+0x30/0x1c0 [ 44.244728][ C1] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 44.252238][ C1] (&pid->wait_pidfd){+.+.}-{2:2} [ 44.252245][ C1] [ 44.252245][ C1] [ 44.252245][ C1] and interrupts could create inverse lock ordering between them. [ 44.252245][ C1] [ 44.271513][ C1] [ 44.271513][ C1] other info that might help us debug this: [ 44.279552][ C1] Possible interrupt unsafe locking scenario: [ 44.279552][ C1] [ 44.287861][ C1] CPU0 CPU1 [ 44.293207][ C1] ---- ---- [ 44.298561][ C1] lock(&pid->wait_pidfd); [ 44.312332][ C1] local_irq_disable(); [ 44.319065][ C1] lock(&ctx->ctx_lock); [ 44.325887][ C1] lock(&pid->wait_pidfd); [ 44.332974][ C1] [ 44.336444][ C1] lock(&ctx->ctx_lock); [ 44.340929][ C1] [ 44.340929][ C1] *** DEADLOCK *** [ 44.340929][ C1] [ 44.349058][ C1] 2 locks held by swapper/1/0: [ 44.353799][ C1] #0: ffffffff892e67a0 (rcu_callback){....}-{0:0}, at: rcu_lock_acquire+0x0/0x30 [ 44.362996][ C1] #1: ffffffff892e6750 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x5/0x30 [ 44.372266][ C1] [ 44.372266][ C1] the shortest dependencies between 2nd lock and 1st lock: [ 44.381647][ C1] -> (&pid->wait_pidfd){+.+.}-{2:2} { [ 44.387102][ C1] HARDIRQ-ON-W at: [ 44.391165][ C1] lock_acquire+0x169/0x480 [ 44.397466][ C1] _raw_spin_lock+0x2a/0x40 [ 44.403780][ C1] proc_pid_make_inode+0x187/0x2d0 [ 44.410700][ C1] proc_pid_instantiate+0x4b/0x1a0 [ 44.417619][ C1] proc_pid_lookup+0x218/0x2f0 [ 44.424183][ C1] proc_root_lookup+0x1b/0x50 [ 44.430695][ C1] __lookup_slow+0x240/0x370 [ 44.437089][ C1] walk_component+0x442/0x680 [ 44.443592][ C1] link_path_walk+0x66d/0xba0 [ 44.450068][ C1] path_openat+0x21d/0x38b0 [ 44.456388][ C1] do_filp_open+0x2b4/0x3a0 [ 44.462697][ C1] do_sys_openat2+0x463/0x6f0 [ 44.469515][ C1] __x64_sys_open+0x1af/0x1e0 [ 44.476003][ C1] do_syscall_64+0xf3/0x1b0 [ 44.482323][ C1] entry_SYSCALL_64_after_hwframe+0x49/0xb3 [ 44.490009][ C1] SOFTIRQ-ON-W at: [ 44.494056][ C1] lock_acquire+0x169/0x480 [ 44.500357][ C1] _raw_spin_lock+0x2a/0x40 [ 44.506666][ C1] proc_pid_make_inode+0x187/0x2d0 [ 44.513608][ C1] proc_pid_instantiate+0x4b/0x1a0 [ 44.520541][ C1] proc_pid_lookup+0x218/0x2f0 [ 44.527123][ C1] proc_root_lookup+0x1b/0x50 [ 44.533618][ C1] __lookup_slow+0x240/0x370 [ 44.540031][ C1] walk_component+0x442/0x680 [ 44.546572][ C1] link_path_walk+0x66d/0xba0 [ 44.553054][ C1] path_openat+0x21d/0x38b0 [ 44.559417][ C1] do_filp_open+0x2b4/0x3a0 [ 44.565737][ C1] do_sys_openat2+0x463/0x6f0 [ 44.572217][ C1] __x64_sys_open+0x1af/0x1e0 [ 44.578715][ C1] do_syscall_64+0xf3/0x1b0 [ 44.585040][ C1] entry_SYSCALL_64_after_hwframe+0x49/0xb3 [ 44.592730][ C1] INITIAL USE at: [ 44.596693][ C1] lock_acquire+0x169/0x480 [ 44.602912][ C1] _raw_spin_lock_irqsave+0x9e/0xc0 [ 44.609824][ C1] __wake_up+0xb8/0x150 [ 44.615695][ C1] do_notify_parent+0x167/0xce0 [ 44.622306][ C1] do_exit+0x12c5/0x1f80 [ 44.628269][ C1] call_usermodehelper_exec_async+0x47c/0x480 [ 44.636052][ C1] ret_from_fork+0x24/0x30 [ 44.642178][ C1] } [ 44.644763][ C1] ... key at: [] alloc_pid.__key+0x0/0x10 [ 44.652633][ C1] ... acquired at: [ 44.656625][ C1] lock_acquire+0x169/0x480 [ 44.661290][ C1] _raw_spin_lock+0x2a/0x40 [ 44.665980][ C1] io_submit_one+0x10f5/0x1a80 [ 44.670893][ C1] __se_sys_io_submit+0x117/0x220 [ 44.676080][ C1] do_syscall_64+0xf3/0x1b0 [ 44.680739][ C1] entry_SYSCALL_64_after_hwframe+0x49/0xb3 [ 44.686788][ C1] [ 44.689107][ C1] -> (&ctx->ctx_lock){..-.}-{2:2} { [ 44.694291][ C1] IN-SOFTIRQ-W at: [ 44.698252][ C1] lock_acquire+0x169/0x480 [ 44.704391][ C1] _raw_spin_lock_irq+0x67/0x80 [ 44.710883][ C1] free_ioctx_users+0x30/0x1c0 [ 44.717277][ C1] percpu_ref_put+0x18d/0x1a0 [ 44.723599][ C1] rcu_core+0x816/0x1120 [ 44.729467][ C1] __do_softirq+0x268/0x80c [ 44.735596][ C1] irq_exit+0x223/0x230 [ 44.741378][ C1] smp_apic_timer_interrupt+0x113/0x280 [ 44.752990][ C1] apic_timer_interrupt+0xf/0x20 [ 44.759571][ C1] native_safe_halt+0xe/0x10 [ 44.765800][ C1] default_idle+0x4c/0x70 [ 44.771787][ C1] do_idle+0x1ee/0x650 [ 44.777492][ C1] cpu_startup_entry+0x15/0x20 [ 44.783956][ C1] start_secondary+0x386/0x410 [ 44.790348][ C1] secondary_startup_64+0xa4/0xb0 [ 44.796999][ C1] INITIAL USE at: [ 44.800892][ C1] lock_acquire+0x169/0x480 [ 44.806937][ C1] _raw_spin_lock_irq+0x67/0x80 [ 44.813329][ C1] io_submit_one+0x10cb/0x1a80 [ 44.819631][ C1] __se_sys_io_submit+0x117/0x220 [ 44.826214][ C1] do_syscall_64+0xf3/0x1b0 [ 44.832273][ C1] entry_SYSCALL_64_after_hwframe+0x49/0xb3 [ 44.839714][ C1] } [ 44.842208][ C1] ... key at: [] ioctx_alloc.__key+0x0/0x10 [ 44.850168][ C1] ... acquired at: [ 44.853981][ C1] mark_lock+0x529/0x1b00 [ 44.858485][ C1] __lock_acquire+0xaa7/0x2b90 [ 44.863399][ C1] lock_acquire+0x169/0x480 [ 44.868075][ C1] _raw_spin_lock_irq+0x67/0x80 [ 44.873082][ C1] free_ioctx_users+0x30/0x1c0 [ 44.878033][ C1] percpu_ref_put+0x18d/0x1a0 [ 44.882861][ C1] rcu_core+0x816/0x1120 [ 44.887249][ C1] __do_softirq+0x268/0x80c [ 44.891919][ C1] irq_exit+0x223/0x230 [ 44.896746][ C1] smp_apic_timer_interrupt+0x113/0x280 [ 44.902456][ C1] apic_timer_interrupt+0xf/0x20 [ 44.907566][ C1] native_safe_halt+0xe/0x10 [ 44.912311][ C1] default_idle+0x4c/0x70 [ 44.916801][ C1] do_idle+0x1ee/0x650 [ 44.921023][ C1] cpu_startup_entry+0x15/0x20 [ 44.925936][ C1] start_secondary+0x386/0x410 [ 44.930859][ C1] secondary_startup_64+0xa4/0xb0 [ 44.936051][ C1] [ 44.938374][ C1] [ 44.938374][ C1] stack backtrace: [ 44.944249][ C1] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.6.0-syzkaller #0 [ 44.952468][ C1] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 44.962515][ C1] Call Trace: [ 44.965894][ C1] [ 44.968730][ C1] dump_stack+0x1e9/0x30e [ 44.973037][ C1] print_irq_inversion_bug+0xb67/0xe90 [ 44.979441][ C1] ? arch_stack_walk+0xb4/0xe0 [ 44.984181][ C1] ? secondary_startup_64+0xa4/0xb0 [ 44.989359][ C1] check_usage_forwards+0x13f/0x240 [ 44.994533][ C1] ? save_trace+0x49/0xb60 [ 44.998923][ C1] mark_lock+0x529/0x1b00 [ 45.003258][ C1] ? check_usage_backwards+0x240/0x240 [ 45.008741][ C1] ? mark_lock+0x102/0x1b00 [ 45.013234][ C1] ? __lock_acquire+0x116c/0x2b90 [ 45.018368][ C1] __lock_acquire+0xaa7/0x2b90 [ 45.023115][ C1] ? pcpu_block_update+0x564/0x890 [ 45.028218][ C1] lock_acquire+0x169/0x480 [ 45.032704][ C1] ? free_ioctx_users+0x30/0x1c0 [ 45.037625][ C1] ? rcu_lock_acquire+0x5/0x30 [ 45.042376][ C1] ? trace_irq_disable_rcuidle+0x1f/0x1d0 [ 45.048090][ C1] ? percpu_ref_noop_confirm_switch+0x10/0x10 [ 45.054284][ C1] _raw_spin_lock_irq+0x67/0x80 [ 45.059151][ C1] ? free_ioctx_users+0x30/0x1c0 [ 45.064095][ C1] free_ioctx_users+0x30/0x1c0 [ 45.068851][ C1] ? percpu_ref_noop_confirm_switch+0x10/0x10 [ 45.074903][ C1] ? percpu_ref_noop_confirm_switch+0x10/0x10 [ 45.080952][ C1] percpu_ref_put+0x18d/0x1a0 [ 45.085765][ C1] rcu_core+0x816/0x1120 [ 45.090023][ C1] __do_softirq+0x268/0x80c [ 45.094512][ C1] ? irq_exit+0x223/0x230 [ 45.098813][ C1] irq_exit+0x223/0x230 [ 45.102945][ C1] smp_apic_timer_interrupt+0x113/0x280 [ 45.108471][ C1] apic_timer_interrupt+0xf/0x20 [ 45.113387][ C1] [ 45.116319][ C1] RIP: 0010:native_safe_halt+0xe/0x10 [ 45.121716][ C1] Code: 80 e1 07 80 c1 03 38 c1 7c bc 48 89 df e8 8a fc ab f9 eb b2 cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d d6 a2 5c 00 fb f4 90 e9 07 00 00 00 0f 00 2d c6 a2 5c 00 f4 c3 cc cc 41 56 53 65 [ 45.142263][ C1] RSP: 0018:ffffc90000d3fe60 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff13 [ 45.150665][ C1] RAX: 1ffffffff12573b1 RBX: ffff8880a9a3c340 RCX: dffffc0000000000 [ 45.158628][ C1] RDX: dffffc0000000000 RSI: 0000000000000000 RDI: ffff8880a9a3cba4 [ 45.166584][ C1] RBP: ffffffff896b61e0 R08: ffffffff817a6f90 R09: ffffed1015347869 [ 45.174557][ C1] R10: ffffed1015347869 R11: 0000000000000000 R12: 1ffff11015347868 [ 45.182529][ C1] R13: dffffc0000000000 R14: 1ffffffff12573af R15: 0000000000000001 [ 45.190502][ C1] ? trace_hardirqs_on+0x30/0x70 [ 45.195442][ C1] default_idle+0x4c/0x70 [ 45.199752][ C1] do_idle+0x1ee/0x650 [ 45.203822][ C1] cpu_startup_entry+0x15/0x20 [ 45.208566][ C1] start_secondary+0x386/0x410 [ 45.213342][ C1] secondary_startup_64+0xa4/0xb0