kthread+0x2f2/0x3b0 ret_from_fork+0x22/0x30 Call Trace: ====================================================== WARNING: possible circular locking dependency detected 5.18.0-rc2-next-20220414 #1 Not tainted ------------------------------------------------------ syz-executor.1/6208 is trying to acquire lock: ffffffff851f6c58 ((console_sem).lock){-.-.}-{2:2}, at: down_trylock+0xe/0x60 but task is already holding lock: ffff888041dd8020 (&ctx->lock){-.-.}-{2:2}, at: __perf_install_in_context+0x12d/0xa40 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&ctx->lock){-.-.}-{2:2}: _raw_spin_lock+0x2a/0x40 __perf_event_task_sched_out+0x537/0x1970 __schedule+0xec4/0x2450 schedule+0xd2/0x1f0 futex_wait_queue+0x144/0x3b0 futex_wait+0x2c9/0x660 do_futex+0x2fb/0x380 __x64_sys_futex+0x1c6/0x4c0 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae -> #2 (&rq->__lock){-.-.}-{2:2}: _raw_spin_lock_nested+0x30/0x40 raw_spin_rq_lock_nested+0x1e/0x30 task_fork_fair+0x63/0x4d0 sched_cgroup_fork+0x343/0x490 copy_process+0x4082/0x6db0 kernel_clone+0xe7/0xa60 kernel_thread+0xb5/0xf0 rest_init+0x24/0x3d0 start_kernel+0x4cd/0x4ee secondary_startup_64_no_verify+0xe0/0xeb -> #1 (&p->pi_lock){-.-.}-{2:2}: _raw_spin_lock_irqsave+0x39/0x50 try_to_wake_up+0xa5/0x1060 up+0x75/0xb0 __up_console_sem+0x6e/0x80 console_unlock+0x603/0xd40 do_con_write+0xc01/0x1d40 con_write+0x21/0x40 n_tty_write+0x416/0xfd0 file_tty_write.constprop.0+0x523/0x900 new_sync_write+0x390/0x560 vfs_write+0x7b9/0xac0 ksys_write+0x127/0x250 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae -> #0 ((console_sem).lock){-.-.}-{2:2}: __lock_acquire+0x2c2f/0x6120 lock_acquire+0x1a2/0x530 _raw_spin_lock_irqsave+0x39/0x50 down_trylock+0xe/0x60 __down_trylock_console_sem+0x3b/0xd0 vprintk_emit+0x162/0x550 vprintk+0x80/0x90 _printk+0xba/0xed show_trace_log_lvl+0x57/0x2bb ex_handler_msr+0x311/0x3a0 fixup_exception+0x307/0xff0 gp_try_fixup_and_notify.constprop.0+0x1e/0x120 exc_general_protection+0xe4/0x210 asm_exc_general_protection+0x1e/0x30 x86_pmu_enable_event+0x264/0x2f0 amd_pmu_enable_all+0x12c/0x1a0 x86_pmu_enable+0x580/0xd90 ctx_resched+0x2b0/0x390 __perf_install_in_context+0x285/0xa40 remote_function+0x125/0x1b0 generic_exec_single+0x203/0x300 smp_call_function_single+0x189/0x460 task_function_call+0xe5/0x170 perf_install_in_context+0x2cb/0x590 __do_sys_perf_event_open+0x1bf0/0x3040 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae other info that might help us debug this: Chain exists of: (console_sem).lock --> &rq->__lock --> &ctx->lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&ctx->lock); lock(&rq->__lock); lock(&ctx->lock); lock((console_sem).lock); *** DEADLOCK *** 4 locks held by syz-executor.1/6208: #0: ffff88800fe74960 (&sig->exec_update_lock){++++}-{3:3}, at: __do_sys_perf_event_open+0x1023/0x3040 #1: ffff888041dd80b0 (&ctx->mutex){+.+.}-{3:3}, at: __do_sys_perf_event_open+0x17cd/0x3040 #2: ffff88806ce3f220 (&cpuctx_lock){-.-.}-{2:2}, at: __perf_install_in_context+0xeb/0xa40 #3: ffff888041dd8020 (&ctx->lock){-.-.}-{2:2}, at: __perf_install_in_context+0x12d/0xa40 stack backtrace: CPU: 0 PID: 6208 Comm: syz-executor.1 Not tainted 5.18.0-rc2-next-20220414 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 Call Trace: dump_stack_lvl+0x8b/0xb3 check_noncircular+0x25f/0x2e0 __lock_acquire+0x2c2f/0x6120 lock_acquire+0x1a2/0x530 _raw_spin_lock_irqsave+0x39/0x50 down_trylock+0xe/0x60 __down_trylock_console_sem+0x3b/0xd0 vprintk_emit+0x162/0x550 vprintk+0x80/0x90 _printk+0xba/0xed show_trace_log_lvl+0x57/0x2bb ex_handler_msr+0x311/0x3a0 fixup_exception+0x307/0xff0 gp_try_fixup_and_notify.constprop.0+0x1e/0x120 exc_general_protection+0xe4/0x210 asm_exc_general_protection+0x1e/0x30 RIP: 0010:x86_pmu_enable_event+0x264/0x2f0 Code: 74 78 e8 7f 22 43 00 89 ef be 01 00 00 00 e8 f3 35 3f 03 89 c5 e8 6c 22 43 00 41 01 ec 4c 89 f2 44 89 f0 48 c1 ea 20 44 89 e1 <0f> 30 66 90 e8 53 22 43 00 e9 7d fe ff ff e8 49 22 43 00 31 d2 4c RSP: 0018:ffff88804241f940 EFLAGS: 00010016 RAX: 00000000004000ff RBX: ffff888042ee1700 RCX: 00000000c0010202 RDX: 000000000000000f RSI: ffffffff810103f4 RDI: 0000000000000003 RBP: 0000000000000002 R08: 0000000000000000 R09: 0000000000000001 R10: ffffffff81015b1d R11: 0000000000000000 R12: 00000000c0010202 R13: 0000020000000000 R14: 0000000f004000ff R15: ffffffff81015a90 amd_pmu_enable_all+0x12c/0x1a0 x86_pmu_enable+0x580/0xd90 ctx_resched+0x2b0/0x390 __perf_install_in_context+0x285/0xa40 remote_function+0x125/0x1b0 generic_exec_single+0x203/0x300 smp_call_function_single+0x189/0x460 task_function_call+0xe5/0x170 perf_install_in_context+0x2cb/0x590 __do_sys_perf_event_open+0x1bf0/0x3040 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f4915311b19 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4912887188 EFLAGS: 00000246 ORIG_RAX: 000000000000012a RAX: ffffffffffffffda RBX: 00007f4915424f60 RCX: 00007f4915311b19 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000200038c0 RBP: 00007f491536bf6d R08: 0000000000000000 R09: 0000000000000000 R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd9c19a28f R14: 00007f4912887300 R15: 0000000000022000 amd_pmu_enable_all+0x12c/0x1a0 x86_pmu_enable+0x580/0xd90 ctx_resched+0x2b0/0x390 __perf_install_in_context+0x285/0xa40 remote_function+0x125/0x1b0 generic_exec_single+0x203/0x300 smp_call_function_single+0x189/0x460 task_function_call+0xe5/0x170 perf_install_in_context+0x2cb/0x590 __do_sys_perf_event_open+0x1bf0/0x3040 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f4915311b19 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4912887188 EFLAGS: 00000246 ORIG_RAX: 000000000000012a RAX: ffffffffffffffda RBX: 00007f4915424f60 RCX: 00007f4915311b19 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000200038c0 RBP: 00007f491536bf6d R08: 0000000000000000 R09: 0000000000000000 R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd9c19a28f R14: 00007f4912887300 R15: 0000000000022000 Call Trace: amd_pmu_enable_all+0x12c/0x1a0 x86_pmu_enable+0x580/0xd90 __perf_event_task_sched_out+0x782/0x1970 __schedule+0xec4/0x2450 preempt_schedule_common+0x45/0xc0 __cond_resched+0x13/0x20 __mutex_lock+0xa3/0x14c0 __do_sys_perf_event_open+0x1d13/0x3040 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f4915311b19 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4912887188 EFLAGS: 00000246 ORIG_RAX: 000000000000012a RAX: ffffffffffffffda RBX: 00007f4915424f60 RCX: 00007f4915311b19 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000200038c0 RBP: 00007f491536bf6d R08: 0000000000000000 R09: 0000000000000000 R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd9c19a28f R14: 00007f4912887300 R15: 0000000000022000 audit: type=1400 audit(1650125935.029:22): avc: denied { read } for pid=6207 comm="syz-executor.1" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=perf_event permissive=1 Call Trace: amd_pmu_enable_all+0x12c/0x1a0 x86_pmu_enable+0x580/0xd90 ctx_resched+0x2b0/0x390 __perf_install_in_context+0x285/0xa40 remote_function+0x125/0x1b0 flush_smp_call_function_queue+0x1df/0x610 __sysvec_call_function_single+0x92/0x3a0 sysvec_call_function_single+0x3b/0xc0 asm_sysvec_call_function_single+0x12/0x20 RIP: 0033:0x7fc2dc008b03 Code: 85 c0 0f 85 df 00 00 00 48 83 c7 20 83 e1 1f 48 83 e7 e0 eb 36 66 90 83 e1 1f 48 83 e7 e0 c5 fd 74 0f c5 fd d7 c1 d3 f8 85 c0 <74> 1b f3 0f bc c0 48 01 f8 48 01 c8 48 29 d0 c5 f8 77 c3 66 2e 0f RSP: 002b:00007ffc7b7ea168 EFLAGS: 00000246 RAX: 0000000000000000 RBX: 00007ffc7b7eccc0 RCX: 0000000000000010 RDX: 000055cea2cfeb70 RSI: 0000000000000000 RDI: 000055cea2cfeb60 RBP: 00007ffc7b7ea1c0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000009 R11: 0000000000000000 R12: 000055cea2cfeb70 R13: 00007ffc7b7eccc0 R14: 0000000000000000 R15: 00007ffc7b7ea270 ---------------- Code disassembly (best guess): 0: 74 78 je 0x7a 2: e8 7f 22 43 00 callq 0x432286 7: 89 ef mov %ebp,%edi 9: be 01 00 00 00 mov $0x1,%esi e: e8 f3 35 3f 03 callq 0x33f3606 13: 89 c5 mov %eax,%ebp 15: e8 6c 22 43 00 callq 0x432286 1a: 41 01 ec add %ebp,%r12d 1d: 4c 89 f2 mov %r14,%rdx 20: 44 89 f0 mov %r14d,%eax 23: 48 c1 ea 20 shr $0x20,%rdx 27: 44 89 e1 mov %r12d,%ecx * 2a: 0f 30 wrmsr <-- trapping instruction 2c: 66 90 xchg %ax,%ax 2e: e8 53 22 43 00 callq 0x432286 33: e9 7d fe ff ff jmpq 0xfffffeb5 38: e8 49 22 43 00 callq 0x432286 3d: 31 d2 xor %edx,%edx 3f: 4c rex.WR