[ OK ] Started Serial Getty on ttyS0. [ OK ] Started Getty on tty1. [ OK ] Started System Logging Service. [ OK ] Started OpenBSD Secure Shell server. [ OK ] Started getty on tty2-tty6 if dbus and logind are not available. Debian GNU/Linux 9 syzkaller ttyS0 Warning: Permanently added '10.128.0.249' (ECDSA) to the list of known hosts. executing program syzkaller login: [ 58.509005][ C0] [ 58.511369][ C0] ======================================================== [ 58.518540][ C0] WARNING: possible irq lock inversion dependency detected [ 58.525729][ C0] 5.6.0-syzkaller #0 Not tainted [ 58.530738][ C0] -------------------------------------------------------- [ 58.537921][ C0] swapper/0/0 just changed the state of lock: [ 58.543976][ C0] ffff88808b767cd8 (&ctx->ctx_lock){..-.}-{2:2}, at: free_ioctx_users+0x2b/0x450 [ 58.553096][ C0] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 58.560607][ C0] (&pid->wait_pidfd){+.+.}-{2:2} [ 58.560619][ C0] [ 58.560619][ C0] [ 58.560619][ C0] and interrupts could create inverse lock ordering between them. [ 58.560619][ C0] [ 58.579904][ C0] [ 58.579904][ C0] other info that might help us debug this: [ 58.587950][ C0] Possible interrupt unsafe locking scenario: [ 58.587950][ C0] [ 58.596249][ C0] CPU0 CPU1 [ 58.601593][ C0] ---- ---- [ 58.607563][ C0] lock(&pid->wait_pidfd); [ 58.612043][ C0] local_irq_disable(); [ 58.618790][ C0] lock(&ctx->ctx_lock); [ 58.625606][ C0] lock(&pid->wait_pidfd); [ 58.632607][ C0] [ 58.636084][ C0] lock(&ctx->ctx_lock); [ 58.640564][ C0] [ 58.640564][ C0] *** DEADLOCK *** [ 58.640564][ C0] [ 58.648816][ C0] 2 locks held by swapper/0/0: [ 58.653551][ C0] #0: ffffffff899bbaa0 (rcu_callback){....}-{0:0}, at: rcu_core+0x520/0x1370 [ 58.662562][ C0] #1: ffffffff899bbbc0 (rcu_read_lock){....}-{1:2}, at: percpu_ref_switch_to_atomic_rcu+0x209/0x540 [ 58.673397][ C0] [ 58.673397][ C0] the shortest dependencies between 2nd lock and 1st lock: [ 58.682854][ C0] -> (&pid->wait_pidfd){+.+.}-{2:2} { [ 58.688297][ C0] HARDIRQ-ON-W at: [ 58.692359][ C0] lock_acquire+0x1f2/0x8f0 [ 58.698730][ C0] _raw_spin_lock+0x2a/0x40 [ 58.705054][ C0] proc_pid_make_inode+0x1f9/0x3c0 [ 58.711977][ C0] proc_pid_instantiate+0x51/0x150 [ 58.718903][ C0] proc_pid_lookup+0x1da/0x340 [ 58.725482][ C0] proc_root_lookup+0x20/0x60 [ 58.731973][ C0] __lookup_slow+0x256/0x490 [ 58.738737][ C0] walk_component+0x418/0x6a0 [ 58.745232][ C0] link_path_walk.part.0+0x4f1/0xb50 [ 58.752321][ C0] path_openat+0x25a/0x27d0 [ 58.758641][ C0] do_filp_open+0x192/0x260 [ 58.765049][ C0] do_sys_openat2+0x585/0x7d0 [ 58.771537][ C0] do_sys_open+0xc3/0x140 [ 58.777897][ C0] do_syscall_64+0xf6/0x7d0 [ 58.784307][ C0] entry_SYSCALL_64_after_hwframe+0x49/0xb3 [ 58.791996][ C0] SOFTIRQ-ON-W at: [ 58.796077][ C0] lock_acquire+0x1f2/0x8f0 [ 58.802514][ C0] _raw_spin_lock+0x2a/0x40 [ 58.808851][ C0] proc_pid_make_inode+0x1f9/0x3c0 [ 58.816313][ C0] proc_pid_instantiate+0x51/0x150 [ 58.823233][ C0] proc_pid_lookup+0x1da/0x340 [ 58.829807][ C0] proc_root_lookup+0x20/0x60 [ 58.836304][ C0] __lookup_slow+0x256/0x490 [ 58.842700][ C0] walk_component+0x418/0x6a0 [ 58.849177][ C0] link_path_walk.part.0+0x4f1/0xb50 [ 58.856262][ C0] path_openat+0x25a/0x27d0 [ 58.862572][ C0] do_filp_open+0x192/0x260 [ 58.868890][ C0] do_sys_openat2+0x585/0x7d0 [ 58.875379][ C0] do_sys_open+0xc3/0x140 [ 58.881558][ C0] do_syscall_64+0xf6/0x7d0 [ 58.887867][ C0] entry_SYSCALL_64_after_hwframe+0x49/0xb3 [ 58.895569][ C0] INITIAL USE at: [ 58.899633][ C0] lock_acquire+0x1f2/0x8f0 [ 58.905892][ C0] _raw_spin_lock_irqsave+0x8c/0xbf [ 58.912809][ C0] __wake_up_common_lock+0xb4/0x130 [ 58.919722][ C0] do_notify_parent+0x19e/0xe60 [ 58.926289][ C0] do_exit+0x238f/0x2dd0 [ 58.932262][ C0] call_usermodehelper_exec_async+0x507/0x710 [ 58.940398][ C0] ret_from_fork+0x24/0x30 [ 58.946518][ C0] } [ 58.949153][ C0] ... key at: [] __key.53827+0x0/0x40 [ 58.956686][ C0] ... acquired at: [ 58.960575][ C0] _raw_spin_lock+0x2a/0x40 [ 58.965270][ C0] io_submit_one+0xc1b/0x2ec0 [ 58.970098][ C0] __ia32_compat_sys_io_submit+0x1bf/0x530 [ 58.976082][ C0] do_fast_syscall_32+0x270/0xe90 [ 58.981560][ C0] entry_SYSENTER_compat+0x70/0x7f [ 58.986974][ C0] [ 58.989275][ C0] -> (&ctx->ctx_lock){..-.}-{2:2} { [ 58.994448][ C0] IN-SOFTIRQ-W at: [ 58.998410][ C0] lock_acquire+0x1f2/0x8f0 [ 59.004822][ C0] _raw_spin_lock_irq+0x5b/0x80 [ 59.011307][ C0] free_ioctx_users+0x2b/0x450 [ 59.017712][ C0] percpu_ref_switch_to_atomic_rcu+0x494/0x540 [ 59.025497][ C0] rcu_core+0x59f/0x1370 [ 59.031370][ C0] __do_softirq+0x26c/0x9f7 [ 59.037505][ C0] irq_exit+0x192/0x1d0 [ 59.043286][ C0] smp_apic_timer_interrupt+0x19e/0x600 [ 59.050453][ C0] apic_timer_interrupt+0xf/0x20 [ 59.057102][ C0] native_safe_halt+0xe/0x10 [ 59.063317][ C0] default_idle+0x49/0x350 [ 59.069373][ C0] do_idle+0x393/0x690 [ 59.075208][ C0] cpu_startup_entry+0x14/0x20 [ 59.081746][ C0] start_kernel+0x867/0x8a1 [ 59.087882][ C0] secondary_startup_64+0xa4/0xb0 [ 59.094765][ C0] INITIAL USE at: [ 59.098659][ C0] lock_acquire+0x1f2/0x8f0 [ 59.104808][ C0] _raw_spin_lock_irq+0x5b/0x80 [ 59.111306][ C0] io_submit_one+0xbd6/0x2ec0 [ 59.117531][ C0] __ia32_compat_sys_io_submit+0x1bf/0x530 [ 59.124945][ C0] do_fast_syscall_32+0x270/0xe90 [ 59.131544][ C0] entry_SYSENTER_compat+0x70/0x7f [ 59.138287][ C0] } [ 59.140966][ C0] ... key at: [] __key.55303+0x0/0x40 [ 59.148404][ C0] ... acquired at: [ 59.152302][ C0] mark_lock+0x624/0xf10 [ 59.156711][ C0] __lock_acquire+0x1d28/0x4e00 [ 59.161717][ C0] lock_acquire+0x1f2/0x8f0 [ 59.166378][ C0] _raw_spin_lock_irq+0x5b/0x80 [ 59.171376][ C0] free_ioctx_users+0x2b/0x450 [ 59.176287][ C0] percpu_ref_switch_to_atomic_rcu+0x494/0x540 [ 59.182588][ C0] rcu_core+0x59f/0x1370 [ 59.186976][ C0] __do_softirq+0x26c/0x9f7 [ 59.191867][ C0] irq_exit+0x192/0x1d0 [ 59.196202][ C0] smp_apic_timer_interrupt+0x19e/0x600 [ 59.201906][ C0] apic_timer_interrupt+0xf/0x20 [ 59.206995][ C0] native_safe_halt+0xe/0x10 [ 59.211747][ C0] default_idle+0x49/0x350 [ 59.216311][ C0] do_idle+0x393/0x690 [ 59.220527][ C0] cpu_startup_entry+0x14/0x20 [ 59.225448][ C0] start_kernel+0x867/0x8a1 [ 59.230123][ C0] secondary_startup_64+0xa4/0xb0 [ 59.235305][ C0] [ 59.237782][ C0] [ 59.237782][ C0] stack backtrace: [ 59.243667][ C0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.6.0-syzkaller #0 [ 59.251191][ C0] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 59.261223][ C0] Call Trace: [ 59.264482][ C0] [ 59.267329][ C0] dump_stack+0x188/0x20d [ 59.271638][ C0] check_usage_forwards.cold+0x20/0x29 [ 59.277077][ C0] ? check_usage_backwards+0x4e0/0x4e0 [ 59.282528][ C0] ? stack_trace_consume_entry+0x160/0x160 [ 59.288316][ C0] ? __read_once_size_nocheck.constprop.0+0x10/0x10 [ 59.294897][ C0] ? save_trace+0x42/0x9f0 [ 59.299312][ C0] mark_lock+0x624/0xf10 [ 59.303539][ C0] ? check_usage_backwards+0x4e0/0x4e0 [ 59.308988][ C0] ? print_usage_bug+0x240/0x240 [ 59.313901][ C0] ? print_usage_bug+0x240/0x240 [ 59.318837][ C0] ? mark_lock+0x12b/0xf10 [ 59.323236][ C0] __lock_acquire+0x1d28/0x4e00 [ 59.328070][ C0] ? mark_held_locks+0xe0/0xe0 [ 59.332819][ C0] ? __wake_up_common_lock+0xde/0x130 [ 59.338164][ C0] lock_acquire+0x1f2/0x8f0 [ 59.342653][ C0] ? free_ioctx_users+0x2b/0x450 [ 59.347565][ C0] ? lock_release+0x800/0x800 [ 59.352214][ C0] ? lock_acquire+0x1f2/0x8f0 [ 59.356869][ C0] ? percpu_ref_switch_to_atomic_rcu+0x209/0x540 [ 59.363716][ C0] ? lock_release+0x800/0x800 [ 59.368380][ C0] ? _raw_spin_unlock_irqrestore+0x62/0xe0 [ 59.374162][ C0] _raw_spin_lock_irq+0x5b/0x80 [ 59.378992][ C0] ? free_ioctx_users+0x2b/0x450 [ 59.383912][ C0] free_ioctx_users+0x2b/0x450 [ 59.388663][ C0] percpu_ref_switch_to_atomic_rcu+0x494/0x540 [ 59.394791][ C0] rcu_core+0x59f/0x1370 [ 59.399008][ C0] ? __rcu_read_unlock+0x700/0x700 [ 59.404094][ C0] ? rcu_read_lock_sched_held+0x9c/0xd0 [ 59.409693][ C0] ? rcu_read_lock_any_held.part.0+0x50/0x50 [ 59.415673][ C0] ? run_rebalance_domains+0x202/0x2c0 [ 59.421127][ C0] __do_softirq+0x26c/0x9f7 [ 59.425614][ C0] irq_exit+0x192/0x1d0 [ 59.429779][ C0] smp_apic_timer_interrupt+0x19e/0x600 [ 59.435301][ C0] apic_timer_interrupt+0xf/0x20 [ 59.440225][ C0] [ 59.443230][ C0] RIP: 0010:native_safe_halt+0xe/0x10 [ 59.448765][ C0] Code: cc cc cc cc cc cc cc cc cc cc cc cc e9 07 00 00 00 0f 00 2d d4 f2 59 00 f4 c3 66 90 e9 07 00 00 00 0f 00 2d c4 f2 59 00 fb f4 cc 41 56 41 55 41 54 55 53 e8 33 77 92 f9 e8 3e b3 ca fb 0f 1f [ 59.468851][ C0] RSP: 0018:ffffffff89807d98 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff13 [ 59.477350][ C0] RAX: 1ffffffff132925f RBX: ffffffff898864c0 RCX: 0000000000000000 [ 59.485459][ C0] RDX: dffffc0000000000 RSI: 0000000000000006 RDI: ffffffff89886d84 [ 59.493853][ C0] RBP: dffffc0000000000 R08: ffffffff898864c0 R09: 0000000000000000 [ 59.501898][ C0] R10: 0000000000000000 R11: 0000000000000000 R12: fffffbfff1310c98 [ 59.509942][ C0] R13: 0000000000000000 R14: ffffffff8a88e980 R15: 0000000000000000 [ 59.518096][ C0] default_idle+0x49/0x350 [ 59.522506][ C0] do_idle+0x393/0x690 [ 59.526559][ C0] ? rcu_read_lock_held+0x9c/0xb0 [ 59.531572][ C0] ? arch_cpu_idle_exit+0x70/0x70 [ 59.536570][ C0] ? schedule+0xe7/0x2a0 [ 59.540790][ C0] ? trace_init_perf_perm_irq_work_exit+0xe/0xe [ 59.547004][ C0] cpu_startup_entry+0x14/0x20 [ 59.551742][ C0] start_kernel+0x867/0x8a1 [ 59.556239][ C0] ? mem_encrypt_init+0x5/0x5 [ 59.560893][ C0] ? x86_