------------[ cut here ]------------
======================================================
WARNING: possible circular locking dependency detected
6.0.0-rc7-next-20220928 #1 Not tainted
------------------------------------------------------
syz-executor.1/6560 is trying to acquire lock:
ffffffff853faab8 ((console_sem).lock){....}-{2:2}, at: down_trylock+0xe/0x70
but task is already holding lock:
ffff8880374d3820 (&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+0x4c6/0x4eb
secondary_startup_64_no_verify+0xe0/0xeb
-> #1 (&p->pi_lock){-.-.}-{2:2}:
_raw_spin_lock_irqsave+0x39/0x60
try_to_wake_up+0xab/0x1930
up+0x75/0xb0
__up_console_sem+0x6e/0x80
console_unlock+0x46a/0x590
vprintk_emit+0x1bd/0x560
vprintk+0x84/0xa0
_printk+0xba/0xf1
kauditd_hold_skb.cold+0x3f/0x4e
kauditd_send_queue+0x233/0x290
kauditd_thread+0x5da/0x9a0
kthread+0x2ed/0x3a0
ret_from_fork+0x22/0x30
-> #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/6560:
#0: ffff88806cf37d18 (&rq->__lock){-.-.}-{2:2}, at: __schedule+0x1cf/0x2470
#1: ffff8880374d3820 (&ctx->lock){....}-{2:2}, at: __perf_event_task_sched_out+0x53b/0x18d0
stack backtrace:
CPU: 1 PID: 6560 Comm: syz-executor.1 Not tainted 6.0.0-rc7-next-20220928 #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 cb a9 ef ff e8 c6 a9 ef ff 65 8b 1d db 12 ac 7e 31 ff 89 de e8 66 a6 ef ff 85 db 0f 84 8a 00 00 00 e8 a9 a9 ef ff <0f> 0b e9 a5 fe ff ff e8 9d a9 ef ff 48 8d 7d 10 48 b8 00 00 00 00
RSP: 0018:ffff88803f6c7c48 EFLAGS: 00010006
RAX: 0000000040000002 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff88803f5b8000 RSI: ffffffff815662f7 RDI: 0000000000000005
RBP: ffff88803f6d8000 R08: 0000000000000005 R09: 0000000000000001
R10: 0000000000000000 R11: ffffffff865b405b R12: ffff8880374d3800
R13: ffff88806cf3d140 R14: ffffffff8547cf00 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:0x7f6fa538bb19
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:00007f6fa2901218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: 0000000000000001 RBX: 00007f6fa549ef68 RCX: 00007f6fa538bb19
RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f6fa549ef6c
RBP: 00007f6fa549ef60 R08: 000000000000000e R09: 0000000000000000
R10: 0000000000000004 R11: 0000000000000246 R12: 00007f6fa549ef6c
R13: 00007ffea2293bef R14: 00007f6fa2901300 R15: 0000000000022000
WARNING: CPU: 1 PID: 6560 at kernel/events/core.c:2309 group_sched_out.part.0+0x2c7/0x460
Modules linked in:
CPU: 1 PID: 6560 Comm: syz-executor.1 Not tainted 6.0.0-rc7-next-20220928 #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 cb a9 ef ff e8 c6 a9 ef ff 65 8b 1d db 12 ac 7e 31 ff 89 de e8 66 a6 ef ff 85 db 0f 84 8a 00 00 00 e8 a9 a9 ef ff <0f> 0b e9 a5 fe ff ff e8 9d a9 ef ff 48 8d 7d 10 48 b8 00 00 00 00
RSP: 0018:ffff88803f6c7c48 EFLAGS: 00010006
RAX: 0000000040000002 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff88803f5b8000 RSI: ffffffff815662f7 RDI: 0000000000000005
RBP: ffff88803f6d8000 R08: 0000000000000005 R09: 0000000000000001
R10: 0000000000000000 R11: ffffffff865b405b R12: ffff8880374d3800
R13: ffff88806cf3d140 R14: ffffffff8547cf00 R15: 0000000000000002
FS: 00007f6fa2901700(0000) GS:ffff88806cf00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb49000d000 CR3: 000000003b7ce000 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:0x7f6fa538bb19
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:00007f6fa2901218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: 0000000000000001 RBX: 00007f6fa549ef68 RCX: 00007f6fa538bb19
RDX: 00000000000f4240 RSI: 0000000000000081 RDI: 00007f6fa549ef6c
RBP: 00007f6fa549ef60 R08: 000000000000000e R09: 0000000000000000
R10: 0000000000000004 R11: 0000000000000246 R12: 00007f6fa549ef6c
R13: 00007ffea2293bef R14: 00007f6fa2901300 R15: 0000000000022000
irq event stamp: 2338
hardirqs last enabled at (2337): [] exit_to_user_mode_prepare+0x109/0x1a0
hardirqs last disabled at (2338): [] __schedule+0x1225/0x2470
softirqs last enabled at (2326): [] __irq_exit_rcu+0x11b/0x180
softirqs last disabled at (2317): [] __irq_exit_rcu+0x11b/0x180
---[ end trace 0000000000000000 ]---
hrtimer: interrupt took 19096 ns
syz-executor.1: attempt to access beyond end of device
loop1: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop1, logical block 31, lost async page write
syz-executor.1: attempt to access beyond end of device
loop1: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop1, logical block 31, lost async page write
syz-executor.1 (6560) used greatest stack depth: 24472 bytes left
loop1: detected capacity change from 0 to 40
loop3: detected capacity change from 0 to 40
loop7: detected capacity change from 0 to 40
syz-executor.7: attempt to access beyond end of device
loop7: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop7, logical block 31, lost async page write
syz-executor.1: attempt to access beyond end of device
loop1: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop1, logical block 31, lost async page write
syz-executor.3: attempt to access beyond end of device
loop3: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop3, logical block 31, lost async page write
loop1: detected capacity change from 0 to 40
loop7: detected capacity change from 0 to 40
syz-executor.1: attempt to access beyond end of device
loop1: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop1, logical block 31, lost async page write
loop3: detected capacity change from 0 to 40
syz-executor.7: attempt to access beyond end of device
loop7: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop7, logical block 31, lost async page write
loop1: detected capacity change from 0 to 40
Bluetooth: hci2: command 0x0406 tx timeout
audit: type=1400 audit(1664422690.425:9): avc: denied { create } for pid=6616 comm="syz-executor.5" name="file0" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:object_r:autofs_device_t:s0 tclass=lnk_file permissive=1
audit: type=1400 audit(1664422690.425:10): avc: denied { associate } for pid=6616 comm="syz-executor.5" name="file0" scontext=system_u:object_r:autofs_device_t:s0 tcontext=system_u:object_r:hugetlbfs_t:s0 tclass=filesystem permissive=1
loop7: detected capacity change from 0 to 40
syz-executor.1: attempt to access beyond end of device
loop1: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop1, logical block 31, lost async page write
syz-executor.3: attempt to access beyond end of device
loop3: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop3, logical block 31, lost async page write
syz-executor.7: attempt to access beyond end of device
loop7: rw=2049, sector=124, nr_sectors = 4 limit=40
Buffer I/O error on dev loop7, logical block 31, lost async page write
loop3: detected capacity change from 0 to 40
loop7: detected capacity change from 0 to 1
loop7: detected capacity change from 0 to 1
=======================================================
WARNING: The mand mount option has been deprecated and
and is ignored by this kernel. Remove the mand
option from the mount to silence this warning.
=======================================================
ext2: Unknown parameter 'euid>00000000000000000000'
loop2: detected capacity change from 0 to 4
ext2: Unknown parameter 'euid>00000000000000000000'
EXT4-fs (loop2): Can't read superblock on 2nd try
loop2: detected capacity change from 0 to 4
ext2: Unknown parameter 'euid>00000000000000000000'
EXT4-fs (loop2): Can't read superblock on 2nd try
ext2: Unknown parameter 'euid>00000000000000000000'
ext2: Unknown parameter 'euid>00000000000000000000'
loop2: detected capacity change from 0 to 4
EXT4-fs (loop2): Can't read superblock on 2nd try
loop2: detected capacity change from 0 to 4
loop0: detected capacity change from 0 to 40
EXT4-fs (loop2): Can't read superblock on 2nd try
SELinux: Context is not valid (left unmapped).
loop0: detected capacity change from 0 to 40
loop6: detected capacity change from 0 to 40
loop5: detected capacity change from 0 to 40
loop1: detected capacity change from 0 to 40
loop2: detected capacity change from 0 to 40
bio_check_eod: 2 callbacks suppressed
syz-executor.0: attempt to access beyond end of device
loop0: rw=2049, sector=40, nr_sectors = 4 limit=40
buffer_io_error: 2 callbacks suppressed
Buffer I/O error on dev loop0, logical block 10, lost async page write
syz-executor.2: attempt to access beyond end of device
loop2: rw=2049, sector=40, nr_sectors = 4 limit=40
Buffer I/O error on dev loop2, logical block 10, lost async page write
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
autofs4:pid:6806:check_dev_ioctl_version: ioctl control interface version mismatch: kernel(1.1), user(2.1), cmd(0xc0189373)
autofs4:pid:6806:validate_dev_ioctl: invalid device control module version supplied for cmd(0xc0189373)
loop0: detected capacity change from 0 to 40
syz-executor.4 (6780) used greatest stack depth: 22808 bytes left
loop2: detected capacity change from 0 to 40
loop6: detected capacity change from 0 to 40
loop5: detected capacity change from 0 to 40
loop1: detected capacity change from 0 to 40
loop0: detected capacity change from 0 to 40
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
loop6: detected capacity change from 0 to 40
loop2: detected capacity change from 0 to 40
loop1: detected capacity change from 0 to 40
loop5: detected capacity change from 0 to 40
syz-executor.6: attempt to access beyond end of device
loop6: rw=2049, sector=40, nr_sectors = 4 limit=40
Buffer I/O error on dev loop6, logical block 10, lost async page write
syz-executor.2: attempt to access beyond end of device
loop2: rw=2049, sector=40, nr_sectors = 4 limit=40
Buffer I/O error on dev loop2, logical block 10, lost async page write
syz-executor.1: attempt to access beyond end of device
loop1: rw=2049, sector=40, nr_sectors = 4 limit=40
Buffer I/O error on dev loop1, logical block 10, lost async page write
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
syz-executor.5: attempt to access beyond end of device
loop5: rw=2049, sector=40, nr_sectors = 4 limit=40
Buffer I/O error on dev loop5, logical block 10, lost async page write
loop1: detected capacity change from 0 to 764
ISO 9660 Extensions: Microsoft Joliet Level 3
ISO 9660 Extensions: RRIP_1991A
Process accounting resumed
Process accounting resumed
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
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