------------[ cut here ]------------
======================================================
WARNING: possible circular locking dependency detected
6.0.0-rc6-next-20220919 #1 Not tainted
------------------------------------------------------
syz-executor.1/4095 is trying to acquire lock:
ffffffff853fa838 ((console_sem).lock){....}-{2:2}, at: down_trylock+0xe/0x70

but task is already holding lock:
ffff88800ec77c20 (&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+0x4183/0x6e20
       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
       vt_ioctl+0x2822/0x2ca0
       tty_ioctl+0x7c4/0x1700
       __x64_sys_ioctl+0x19a/0x210
       do_syscall_64+0x3b/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.1/4095:
 #0: ffff88806ce37d18 (&rq->__lock){-.-.}-{2:2}, at: __schedule+0x1cf/0x2470
 #1: ffff88800ec77c20 (&ctx->lock){....}-{2:2}, at: __perf_event_task_sched_out+0x53b/0x18d0

stack backtrace:
CPU: 0 PID: 4095 Comm: syz-executor.1 Not tainted 6.0.0-rc6-next-20220919 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
Call Trace:
 <TASK>
 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 5b 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:ffff88803f71fc48 EFLAGS: 00010006
RAX: 0000000040000002 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff88801aebb580 RSI: ffffffff81566077 RDI: 0000000000000005
RBP: ffff8880086622b0 R08: 0000000000000005 R09: 0000000000000001
R10: 0000000000000000 R11: ffffffff865ac01b R12: ffff88800ec77c00
R13: ffff88806ce3d140 R14: ffffffff8547c620 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:0x7f2d5bce8b19
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:00007f2d5925e218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: 0000000000000001 RBX: 00007f2d5bdfbf68 RCX: 00007f2d5bce8b19
RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f2d5bdfbf6c
RBP: 00007f2d5bdfbf60 R08: 000000000000000e R09: 0000000000000000
R10: 0000000000000003 R11: 0000000000000246 R12: 00007f2d5bdfbf6c
R13: 00007ffc864193cf R14: 00007f2d5925e300 R15: 0000000000022000
 </TASK>
netlink: 'syz-executor.0': attribute type 4 has an invalid length.
WARNING: CPU: 0 PID: 4095 at kernel/events/core.c:2309 group_sched_out.part.0+0x2c7/0x460
Modules linked in:
CPU: 0 PID: 4095 Comm: syz-executor.1 Not tainted 6.0.0-rc6-next-20220919 #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 5b 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:ffff88803f71fc48 EFLAGS: 00010006
RAX: 0000000040000002 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff88801aebb580 RSI: ffffffff81566077 RDI: 0000000000000005
RBP: ffff8880086622b0 R08: 0000000000000005 R09: 0000000000000001
R10: 0000000000000000 R11: ffffffff865ac01b R12: ffff88800ec77c00
R13: ffff88806ce3d140 R14: ffffffff8547c620 R15: 0000000000000002
FS:  00007f2d5925e700(0000) GS:ffff88806ce00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fa34f3588e0 CR3: 000000003edae000 CR4: 0000000000350ef0
Call Trace:
 <TASK>
 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:0x7f2d5bce8b19
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:00007f2d5925e218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: 0000000000000001 RBX: 00007f2d5bdfbf68 RCX: 00007f2d5bce8b19
RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f2d5bdfbf6c
RBP: 00007f2d5bdfbf60 R08: 000000000000000e R09: 0000000000000000
R10: 0000000000000003 R11: 0000000000000246 R12: 00007f2d5bdfbf6c
R13: 00007ffc864193cf R14: 00007f2d5925e300 R15: 0000000000022000
 </TASK>
irq event stamp: 1002
hardirqs last  enabled at (1001): [<ffffffff81340019>] exit_to_user_mode_prepare+0x109/0x1a0
hardirqs last disabled at (1002): [<ffffffff8424d995>] __schedule+0x1225/0x2470
softirqs last  enabled at (848): [<ffffffff8117063b>] __irq_exit_rcu+0x11b/0x180
softirqs last disabled at (839): [<ffffffff8117063b>] __irq_exit_rcu+0x11b/0x180
---[ end trace 0000000000000000 ]---
ISOFS: Unable to identify CD-ROM format.
loop7: detected capacity change from 0 to 9
FAT-fs (loop7): Unrecognized mount option "uid=00000000000000060928" or missing value
audit: type=1400 audit(1663599739.361:9): avc:  denied  { write } for  pid=4094 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
loop7: detected capacity change from 0 to 9
FAT-fs (loop7): Unrecognized mount option "uid=00000000000000060928" or missing value
loop7: detected capacity change from 0 to 9
FAT-fs (loop7): Unrecognized mount option "uid=00000000000000060928" or missing value
tmpfs: Bad value for 'mpol'
tmpfs: Bad value for 'mpol'
tmpfs: Bad value for 'mpol'
mmap: syz-executor.4 (4241) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst.
tmpfs: Bad value for 'mpol'
tmpfs: Bad value for 'mpol'
hrtimer: interrupt took 18054 ns
loop4: detected capacity change from 0 to 40
loop4: detected capacity change from 0 to 40
loop4: detected capacity change from 0 to 40
loop4: detected capacity change from 0 to 40
random: crng reseeded on system resumption
random: crng reseeded on system resumption
random: crng reseeded on system resumption
random: crng reseeded on system resumption
process 'syz-executor.5' launched '/dev/fd/-1/./file0' with NULL argv: empty string added
tmpfs: Bad value for 'mpol'
tmpfs: Bad value for 'mpol'
random: crng reseeded on system resumption
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
Process accounting resumed
Process accounting resumed
Process accounting resumed
Process accounting resumed
Process accounting resumed
Process accounting resumed
syz-executor.1 uses obsolete (PF_INET,SOCK_PACKET)
loop6: detected capacity change from 0 to 256
UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy
misc raw-gadget: fail, usb_gadget_register_driver returned -16
UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy
misc raw-gadget: fail, usb_gadget_register_driver returned -16
ieee80211 phy2: Selected rate control algorithm 'minstrel_ht'
loop7: detected capacity change from 0 to 264192
ieee80211 phy3: Selected rate control algorithm 'minstrel_ht'
syz-executor.0 (4780) used greatest stack depth: 24736 bytes left
Bluetooth: hci0: HCI_REQ-0x0401
ieee80211 phy4: Selected rate control algorithm 'minstrel_ht'
loop7: detected capacity change from 0 to 264192
ieee80211 phy5: Selected rate control algorithm 'minstrel_ht'
loop7: detected capacity change from 0 to 264192
ieee80211 phy6: Selected rate control algorithm 'minstrel_ht'
Bluetooth: hci0: HCI_REQ-0x0401
syz-executor.3 (4816) used greatest stack depth: 24304 bytes left
loop7: detected capacity change from 0 to 264192
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pid=4868 comm=syz-executor.4
Bluetooth: hci0: HCI_REQ-0x0401
UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy
misc raw-gadget: fail, usb_gadget_register_driver returned -16
Bluetooth: hci0: command 0x0401 tx timeout
UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy
misc raw-gadget: fail, usb_gadget_register_driver returned -16