Warning: Permanently added '10.128.10.35' (ECDSA) to the list of known hosts. executing program syzkaller login: [ 61.260446] kauditd_printk_skb: 5 callbacks suppressed [ 61.260462] audit: type=1400 audit(1561146492.680:36): avc: denied { map } for pid=7815 comm="syz-executor672" path="/root/syz-executor672817080" dev="sda1" ino=16483 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file permissive=1 [ 66.338591] [ 66.340244] ======================================================== [ 66.346712] WARNING: possible irq lock inversion dependency detected [ 66.353188] 4.19.53+ #25 Not tainted [ 66.356879] -------------------------------------------------------- [ 66.363348] syz-executor672/7816 just changed the state of lock: [ 66.369533] 0000000087978b0b (&ctx->fault_pending_wqh){+.+.}, at: userfaultfd_release+0x4d6/0x720 [ 66.378552] but this lock was taken by another, SOFTIRQ-safe lock in the past: [ 66.385885] (&(&ctx->ctx_lock)->rlock){..-.} [ 66.385894] [ 66.385894] [ 66.385894] and interrupts could create inverse lock ordering between them. [ 66.385894] [ 66.401869] [ 66.401869] other info that might help us debug this: [ 66.408519] Chain exists of: [ 66.408519] &(&ctx->ctx_lock)->rlock --> &ctx->fd_wqh --> &ctx->fault_pending_wqh [ 66.408519] [ 66.420648] Possible interrupt unsafe locking scenario: [ 66.420648] [ 66.427550] CPU0 CPU1 [ 66.432195] ---- ---- [ 66.436834] lock(&ctx->fault_pending_wqh); [ 66.441222] local_irq_disable(); [ 66.447260] lock(&(&ctx->ctx_lock)->rlock); [ 66.454266] lock(&ctx->fd_wqh); [ 66.460281] [ 66.463019] lock(&(&ctx->ctx_lock)->rlock); [ 66.467670] [ 66.467670] *** DEADLOCK *** [ 66.467670] [ 66.473710] no locks held by syz-executor672/7816. [ 66.478616] [ 66.478616] the shortest dependencies between 2nd lock and 1st lock: [ 66.486564] -> (&(&ctx->ctx_lock)->rlock){..-.} ops: 2 { [ 66.492172] IN-SOFTIRQ-W at: [ 66.495675] lock_acquire+0x16f/0x3f0 [ 66.501460] _raw_spin_lock_irq+0x60/0x80 [ 66.507590] free_ioctx_users+0x2d/0x490 [ 66.513632] percpu_ref_switch_to_atomic_rcu+0x407/0x540 [ 66.521162] rcu_process_callbacks+0xba0/0x1a30 [ 66.527813] __do_softirq+0x25c/0x921 [ 66.533594] irq_exit+0x180/0x1d0 [ 66.539024] smp_apic_timer_interrupt+0x13b/0x550 [ 66.545845] apic_timer_interrupt+0xf/0x20 [ 66.552067] native_safe_halt+0xe/0x10 [ 66.557941] arch_cpu_idle+0xa/0x10 [ 66.563548] default_idle_call+0x36/0x90 [ 66.569589] do_idle+0x377/0x560 [ 66.574933] cpu_startup_entry+0xc8/0xe0 [ 66.580971] start_secondary+0x3e8/0x5b0 [ 66.587089] secondary_startup_64+0xa4/0xb0 [ 66.593403] INITIAL USE at: [ 66.596755] lock_acquire+0x16f/0x3f0 [ 66.602446] _raw_spin_lock_irq+0x60/0x80 [ 66.608484] io_submit_one+0xead/0x2eb0 [ 66.614347] __x64_sys_io_submit+0x1aa/0x520 [ 66.620646] do_syscall_64+0xfd/0x620 [ 66.626333] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 66.633405] } [ 66.635362] ... key at: [] __key.50193+0x0/0x40 [ 66.642262] ... acquired at: [ 66.645518] _raw_spin_lock+0x2f/0x40 [ 66.649496] io_submit_one+0xef2/0x2eb0 [ 66.653620] __x64_sys_io_submit+0x1aa/0x520 [ 66.658183] do_syscall_64+0xfd/0x620 [ 66.662142] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 66.667485] [ 66.669090] -> (&ctx->fd_wqh){....} ops: 4 { [ 66.673567] INITIAL USE at: [ 66.676831] lock_acquire+0x16f/0x3f0 [ 66.682426] _raw_spin_lock_irqsave+0x95/0xcd [ 66.688662] add_wait_queue+0x4c/0x170 [ 66.694270] aio_poll_queue_proc+0x9e/0x110 [ 66.700318] userfaultfd_poll+0x91/0x210 [ 66.706098] io_submit_one+0xe4b/0x2eb0 [ 66.711791] __x64_sys_io_submit+0x1aa/0x520 [ 66.717920] do_syscall_64+0xfd/0x620 [ 66.723442] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 66.730347] } [ 66.732219] ... key at: [] __key.43730+0x0/0x40 [ 66.739031] ... acquired at: [ 66.742201] _raw_spin_lock+0x2f/0x40 [ 66.746152] userfaultfd_read+0x394/0x18c0 [ 66.750542] __vfs_read+0x114/0x800 [ 66.754320] vfs_read+0x194/0x3d0 [ 66.757925] ksys_read+0x14f/0x2d0 [ 66.761623] __x64_sys_read+0x73/0xb0 [ 66.765578] do_syscall_64+0xfd/0x620 [ 66.769533] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 66.774867] [ 66.776469] -> (&ctx->fault_pending_wqh){+.+.} ops: 3 { [ 66.781817] HARDIRQ-ON-W at: [ 66.785081] lock_acquire+0x16f/0x3f0 [ 66.790512] _raw_spin_lock+0x2f/0x40 [ 66.795942] userfaultfd_release+0x4d6/0x720 [ 66.801983] __fput+0x2dd/0x8b0 [ 66.806890] ____fput+0x16/0x20 [ 66.811847] task_work_run+0x145/0x1c0 [ 66.817372] do_exit+0x933/0x2fa0 [ 66.822452] do_group_exit+0x135/0x370 [ 66.827967] get_signal+0x3ec/0x1fc0 [ 66.833305] do_signal+0x95/0x1960 [ 66.838474] exit_to_usermode_loop+0x244/0x2c0 [ 66.844730] do_syscall_64+0x53d/0x620 [ 66.850259] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 66.857084] SOFTIRQ-ON-W at: [ 66.860361] lock_acquire+0x16f/0x3f0 [ 66.865790] _raw_spin_lock+0x2f/0x40 [ 66.871221] userfaultfd_release+0x4d6/0x720 [ 66.877264] __fput+0x2dd/0x8b0 [ 66.882187] ____fput+0x16/0x20 [ 66.887130] task_work_run+0x145/0x1c0 [ 66.892663] do_exit+0x933/0x2fa0 [ 66.897745] do_group_exit+0x135/0x370 [ 66.903259] get_signal+0x3ec/0x1fc0 [ 66.908605] do_signal+0x95/0x1960 [ 66.913773] exit_to_usermode_loop+0x244/0x2c0 [ 66.919988] do_syscall_64+0x53d/0x620 [ 66.925517] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 66.932340] INITIAL USE at: [ 66.935515] lock_acquire+0x16f/0x3f0 [ 66.940857] _raw_spin_lock+0x2f/0x40 [ 66.946202] userfaultfd_read+0x394/0x18c0 [ 66.951978] __vfs_read+0x114/0x800 [ 66.957145] vfs_read+0x194/0x3d0 [ 66.962138] ksys_read+0x14f/0x2d0 [ 66.967287] __x64_sys_read+0x73/0xb0 [ 66.972648] do_syscall_64+0xfd/0x620 [ 66.977995] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 66.984727] } [ 66.986514] ... key at: [] __key.43727+0x0/0x40 [ 66.993244] ... acquired at: [ 66.996343] mark_lock+0x420/0x1370 [ 67.000169] __lock_acquire+0x6b5/0x48f0 [ 67.004389] lock_acquire+0x16f/0x3f0 [ 67.008347] _raw_spin_lock+0x2f/0x40 [ 67.012310] userfaultfd_release+0x4d6/0x720 [ 67.016922] __fput+0x2dd/0x8b0 [ 67.020362] ____fput+0x16/0x20 [ 67.023800] task_work_run+0x145/0x1c0 [ 67.027844] do_exit+0x933/0x2fa0 [ 67.031451] do_group_exit+0x135/0x370 [ 67.035494] get_signal+0x3ec/0x1fc0 [ 67.039373] do_signal+0x95/0x1960 [ 67.043075] exit_to_usermode_loop+0x244/0x2c0 [ 67.047860] do_syscall_64+0x53d/0x620 [ 67.051906] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 67.057245] [ 67.058846] [ 67.058846] stack backtrace: [ 67.063382] CPU: 0 PID: 7816 Comm: syz-executor672 Not tainted 4.19.53+ #25 [ 67.070463] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 67.079854] Call Trace: [ 67.082447] dump_stack+0x172/0x1f0 [ 67.086058] print_irq_inversion_bug.part.0+0x2c0/0x2cd [ 67.091404] check_usage_backwards.cold+0x1d/0x26 [ 67.096236] ? print_shortest_lock_dependencies+0x90/0x90 [ 67.101760] ? save_stack_trace+0x1a/0x20 [ 67.105895] ? save_trace+0xe0/0x290 [ 67.109670] mark_lock+0x420/0x1370 [ 67.113290] ? print_shortest_lock_dependencies+0x90/0x90 [ 67.118811] __lock_acquire+0x6b5/0x48f0 [ 67.122856] ? is_bpf_text_address+0xd3/0x170 [ 67.127337] ? kernel_text_address+0x73/0xf0 [ 67.131730] ? mark_held_locks+0x100/0x100 [ 67.136008] ? __lock_acquire+0x6eb/0x48f0 [ 67.140229] ? __lock_acquire+0x6eb/0x48f0 [ 67.144451] ? free_fs_struct+0x4f/0x70 [ 67.148405] ? do_exit+0x902/0x2fa0 [ 67.152010] lock_acquire+0x16f/0x3f0 [ 67.155790] ? userfaultfd_release+0x4d6/0x720 [ 67.160355] _raw_spin_lock+0x2f/0x40 [ 67.164137] ? userfaultfd_release+0x4d6/0x720 [ 67.168699] userfaultfd_release+0x4d6/0x720 [ 67.173087] ? userfaultfd_ctx_get+0x1a0/0x1a0 [ 67.177657] ? ___might_sleep+0x163/0x280 [ 67.181789] ? __sanitizer_cov_trace_const_cmp2+0x18/0x20 [ 67.187313] ? ima_file_free+0xc9/0x4a0 [ 67.191273] ? userfaultfd_ctx_get+0x1a0/0x1a0 [ 67.195836] __fput+0x2dd/0x8b0 [ 67.199104] ____fput+0x16/0x20 [ 67.202370] task_work_run+0x145/0x1c0 [ 67.206235] do_exit+0x933/0x2fa0 [ 67.209671] ? get_signal+0x384/0x1fc0 [ 67.213538] ? mm_update_next_owner+0x660/0x660 [ 67.218194] ? _raw_spin_unlock_irq+0x28/0x90 [ 67.222672] ? get_signal+0x384/0x1fc0 [ 67.226538] ? _raw_spin_unlock_irq+0x28/0x90 [ 67.231015] do_group_exit+0x135/0x370 [ 67.234891] get_signal+0x3ec/0x1fc0 [ 67.238594] ? file_has_perm+0x26d/0x390 [ 67.242640] ? userfaultfd_release+0x720/0x720 [ 67.247210] do_signal+0x95/0x1960 [ 67.250735] ? setup_sigcontext+0x7d0/0x7d0 [ 67.255037] ? security_file_permission+0x89/0x230 [ 67.259947] ? rw_verify_area+0x118/0x360 [ 67.264080] ? __sanitizer_cov_trace_const_cmp8+0x18/0x20 [ 67.269600] ? vfs_read+0x15d/0x3d0 [ 67.273214] ? __sanitizer_cov_trace_const_cmp4+0x16/0x20 [ 67.278848] ? ksys_read+0x1f1/0x2d0 [ 67.282547] ? exit_to_usermode_loop+0x43/0x2c0 [ 67.287258] ? do_syscall_64+0x53d/0x620 [ 67.291307] ? exit_to_usermode_loop+0x43/0x2c0 [ 67.295965] ? lockdep_hardirqs_on+0x415/0x5d0 [ 67.300534] ? trace_hardirqs_on+0x67/0x220 [ 67.304883] exit_to_usermode_loop+0x244/0x2c0 [ 67.309457] do_syscall_64+0x53d/0x620 [ 67.313329] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 67.318500] RIP: 0033:0x441299 [ 67.321673] Code: e8 fc ab 02 00 48 83 c4 18 c3 0f 1f 80 00 00 00 00 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 9b 09 fc ff c3 66 2e 0f 1f 84 00 00 00 00 executing program [ 67.340555] RSP: 002b:00007ffd9b9f89c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000000 [ 67.348250] RAX: fffffffffffffe00 RBX: 0000000000000000 RCX: 0000000000441299 [ 67.355500] RDX: 0000000000000080 RSI: 00000000200000c0 RDI: 0000000000000005 [ 67.362749] RBP: 00000000006cb018 R08: 00000000004002c8 R09: 00000000004002c8 [ 67.370003] R10: 00000000004002c8 R11: 0000000000000246 R12: 00000000004020c0 [ 67.377261] R13: 0000000000402150 R14: 0000000000000000 R15: 0000000000000000 executing program