------------[ cut here ]------------ ====================================================== WARNING: possible circular locking dependency detected 6.0.0-rc5-next-20220913 #1 Not tainted ------------------------------------------------------ syz-executor.7/4027 is trying to acquire lock: ffffffff853fa878 ((console_sem).lock){....}-{2:2}, at: down_trylock+0xe/0x70 but task is already holding lock: ffff8880408ebc20 (&ctx->lock){....}-{2:2}, at: __perf_event_task_sched_out+0x53b/0x18d0 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+0x53b/0x18d0 __schedule+0xedd/0x2470 schedule+0xda/0x1b0 exit_to_user_mode_prepare+0x114/0x1a0 syscall_exit_to_user_mode+0x19/0x40 do_syscall_64+0x48/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd -> #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+0x3d0/0x540 copy_process+0x3f9e/0x6df0 kernel_clone+0xe7/0x890 user_mode_thread+0xad/0xf0 rest_init+0x24/0x250 arch_call_rest_init+0xf/0x14 start_kernel+0x4c1/0x4e6 secondary_startup_64_no_verify+0xe0/0xeb -> #1 (&p->pi_lock){-.-.}-{2:2}: _raw_spin_lock_irqsave+0x39/0x60 try_to_wake_up+0xab/0x1920 up+0x75/0xb0 __up_console_sem+0x6e/0x80 console_unlock+0x46a/0x590 release_tty+0xce/0x890 tty_release_struct+0xb4/0xe0 tty_release+0xbfd/0xe90 __fput+0x263/0xa40 task_work_run+0x170/0x280 exit_to_user_mode_prepare+0x199/0x1a0 syscall_exit_to_user_mode+0x19/0x40 do_syscall_64+0x48/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd -> #0 ((console_sem).lock){....}-{2:2}: __lock_acquire+0x2a02/0x5e70 lock_acquire+0x1a2/0x530 _raw_spin_lock_irqsave+0x39/0x60 down_trylock+0xe/0x70 __down_trylock_console_sem+0x3b/0xd0 vprintk_emit+0x16b/0x560 vprintk+0x84/0xa0 _printk+0xba/0xf1 report_bug.cold+0x72/0xab handle_bug+0x3c/0x70 exc_invalid_op+0x14/0x50 asm_exc_invalid_op+0x16/0x20 group_sched_out.part.0+0x2c7/0x460 ctx_sched_out+0x8f1/0xc10 __perf_event_task_sched_out+0x6d0/0x18d0 __schedule+0xedd/0x2470 schedule+0xda/0x1b0 exit_to_user_mode_prepare+0x114/0x1a0 syscall_exit_to_user_mode+0x19/0x40 do_syscall_64+0x48/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd 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 *** 2 locks held by syz-executor.7/4027: #0: ffff88806cf37cd8 (&rq->__lock){-.-.}-{2:2}, at: __schedule+0x1cf/0x2470 #1: ffff8880408ebc20 (&ctx->lock){....}-{2:2}, at: __perf_event_task_sched_out+0x53b/0x18d0 stack backtrace: CPU: 1 PID: 4027 Comm: syz-executor.7 Not tainted 6.0.0-rc5-next-20220913 #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+0x263/0x2e0 __lock_acquire+0x2a02/0x5e70 lock_acquire+0x1a2/0x530 _raw_spin_lock_irqsave+0x39/0x60 down_trylock+0xe/0x70 __down_trylock_console_sem+0x3b/0xd0 vprintk_emit+0x16b/0x560 vprintk+0x84/0xa0 _printk+0xba/0xf1 report_bug.cold+0x72/0xab handle_bug+0x3c/0x70 exc_invalid_op+0x14/0x50 asm_exc_invalid_op+0x16/0x20 RIP: 0010:group_sched_out.part.0+0x2c7/0x460 Code: 5e 41 5f e9 3b b7 ef ff e8 36 b7 ef ff 65 8b 1d ab 15 ac 7e 31 ff 89 de e8 d6 b3 ef ff 85 db 0f 84 8a 00 00 00 e8 19 b7 ef ff <0f> 0b e9 a5 fe ff ff e8 0d b7 ef ff 48 8d 7d 10 48 b8 00 00 00 00 RSP: 0018:ffff888041387c48 EFLAGS: 00010006 RAX: 0000000040000002 RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff8880412c3580 RSI: ffffffff81566027 RDI: 0000000000000005 RBP: ffff888041388000 R08: 0000000000000005 R09: 0000000000000001 R10: 0000000000000000 R11: ffffffff865aa05b R12: ffff8880408ebc00 R13: ffff88806cf3d100 R14: ffffffff8547c660 R15: 0000000000000002 ctx_sched_out+0x8f1/0xc10 __perf_event_task_sched_out+0x6d0/0x18d0 __schedule+0xedd/0x2470 schedule+0xda/0x1b0 exit_to_user_mode_prepare+0x114/0x1a0 syscall_exit_to_user_mode+0x19/0x40 do_syscall_64+0x48/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7f094414eb19 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:00007f09416c4218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: 0000000000000001 RBX: 00007f0944261f68 RCX: 00007f094414eb19 RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f0944261f6c RBP: 00007f0944261f60 R08: 000000000000000e R09: 0000000000000000 R10: 0000000000000003 R11: 0000000000000246 R12: 00007f0944261f6c R13: 00007ffcfb1055ff R14: 00007f09416c4300 R15: 0000000000022000 WARNING: CPU: 1 PID: 4027 at kernel/events/core.c:2309 group_sched_out.part.0+0x2c7/0x460 Modules linked in: CPU: 1 PID: 4027 Comm: syz-executor.7 Not tainted 6.0.0-rc5-next-20220913 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 RIP: 0010:group_sched_out.part.0+0x2c7/0x460 Code: 5e 41 5f e9 3b b7 ef ff e8 36 b7 ef ff 65 8b 1d ab 15 ac 7e 31 ff 89 de e8 d6 b3 ef ff 85 db 0f 84 8a 00 00 00 e8 19 b7 ef ff <0f> 0b e9 a5 fe ff ff e8 0d b7 ef ff 48 8d 7d 10 48 b8 00 00 00 00 RSP: 0018:ffff888041387c48 EFLAGS: 00010006 RAX: 0000000040000002 RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff8880412c3580 RSI: ffffffff81566027 RDI: 0000000000000005 RBP: ffff888041388000 R08: 0000000000000005 R09: 0000000000000001 R10: 0000000000000000 R11: ffffffff865aa05b R12: ffff8880408ebc00 R13: ffff88806cf3d100 R14: ffffffff8547c660 R15: 0000000000000002 FS: 00007f09416c4700(0000) GS:ffff88806cf00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fab6a457018 CR3: 000000000f7f0000 CR4: 0000000000350ee0 Call Trace: ctx_sched_out+0x8f1/0xc10 __perf_event_task_sched_out+0x6d0/0x18d0 __schedule+0xedd/0x2470 schedule+0xda/0x1b0 exit_to_user_mode_prepare+0x114/0x1a0 syscall_exit_to_user_mode+0x19/0x40 do_syscall_64+0x48/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7f094414eb19 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:00007f09416c4218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: 0000000000000001 RBX: 00007f0944261f68 RCX: 00007f094414eb19 RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f0944261f6c RBP: 00007f0944261f60 R08: 000000000000000e R09: 0000000000000000 R10: 0000000000000003 R11: 0000000000000246 R12: 00007f0944261f6c R13: 00007ffcfb1055ff R14: 00007f09416c4300 R15: 0000000000022000 irq event stamp: 2144 hardirqs last enabled at (2143): [] exit_to_user_mode_prepare+0x109/0x1a0 hardirqs last disabled at (2144): [] __schedule+0x1225/0x2470 softirqs last enabled at (1894): [] __irq_exit_rcu+0x11b/0x180 softirqs last disabled at (1835): [] __irq_exit_rcu+0x11b/0x180 ---[ end trace 0000000000000000 ]--- hrtimer: interrupt took 16120 ns loop4: detected capacity change from 0 to 192 loop5: detected capacity change from 0 to 192 loop2: detected capacity change from 0 to 512 loop4: detected capacity change from 0 to 192 EXT4-fs (loop2): mounted filesystem without journal. Quota mode: none. EXT4-fs (loop2): unmounting filesystem. loop5: detected capacity change from 0 to 192 loop4: detected capacity change from 0 to 192 loop5: detected capacity change from 0 to 192 loop4: detected capacity change from 0 to 192 audit: type=1400 audit(1663079875.958:9): avc: denied { write } for pid=4378 comm="syz-executor.3" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=perf_event permissive=1 loop3: detected capacity change from 0 to 2048 EXT4-fs (loop3): mounted filesystem without journal. Quota mode: none. ext4 filesystem being mounted at /syzkaller-testdir897821678/syzkaller.zzWBm6/22/file0 supports timestamps until 2038 (0x7fffffff) EXT4-fs (loop3): unmounting filesystem. loop3: detected capacity change from 0 to 2048 EXT4-fs (loop3): mounted filesystem without journal. Quota mode: none. ext4 filesystem being mounted at /syzkaller-testdir897821678/syzkaller.zzWBm6/23/file0 supports timestamps until 2038 (0x7fffffff) EXT4-fs (loop3): unmounting filesystem. loop3: detected capacity change from 0 to 2048 EXT4-fs (loop3): mounted filesystem without journal. Quota mode: none. ext4 filesystem being mounted at /syzkaller-testdir897821678/syzkaller.zzWBm6/24/file0 supports timestamps until 2038 (0x7fffffff) EXT4-fs (loop3): unmounting filesystem. loop3: detected capacity change from 0 to 2048 EXT4-fs (loop3): mounted filesystem without journal. Quota mode: none. ext4 filesystem being mounted at /syzkaller-testdir897821678/syzkaller.zzWBm6/25/file0 supports timestamps until 2038 (0x7fffffff) EXT4-fs (loop3): unmounting filesystem. sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 6 prio class 2 Buffer I/O error on dev sr0, logical block 0, lost async page write Buffer I/O error on dev sr0, logical block 1, lost async page write Buffer I/O error on dev sr0, logical block 2, lost async page write Buffer I/O error on dev sr0, logical block 3, lost async page write Buffer I/O error on dev sr0, logical block 4, lost async page write Buffer I/O error on dev sr0, logical block 5, lost async page write sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 6 prio class 2 Buffer I/O error on dev sr0, logical block 0, lost async page write Buffer I/O error on dev sr0, logical block 1, lost async page write Buffer I/O error on dev sr0, logical block 2, lost async page write Buffer I/O error on dev sr0, logical block 3, lost async page write Process accounting resumed Process accounting resumed sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 6 prio class 2 sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 6 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 2 sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2 sr 1:0:0:0: [sr0] tag#0 unaligned transfer I/O error, dev sr0, sector 0 op 0x1:(WRITE) flags 0x800 phys_seg 6 prio class 2 sr 1:0:0:0: [sr0] tag#0 unaligned transfer sr 1:0:0:0: [sr0] tag#0 unaligned transfer Process accounting resumed sr 1:0:0:0: [sr0] tag#0 unaligned transfer sr 1:0:0:0: [sr0] tag#0 unaligned transfer sr 1:0:0:0: [sr0] tag#0 unaligned transfer sr 1:0:0:0: [sr0] tag#0 unaligned transfer Process accounting resumed Process accounting resumed Process accounting resumed Process accounting resumed Process accounting resumed Process accounting resumed Process accounting resumed Process accounting resumed Process accounting resumed Process accounting resumed Process accounting resumed