audit: type=1400 audit(1663327074.774:9): avc: denied { kernel } for pid=3973 comm="syz-executor.7" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=perf_event permissive=1
------------[ cut here ]------------
======================================================
WARNING: possible circular locking dependency detected
6.0.0-rc5-next-20220916 #1 Not tainted
------------------------------------------------------
syz-executor.7/3974 is trying to acquire lock:
ffffffff853fa878 ((console_sem).lock){....}-{2:2}, at: down_trylock+0xe/0x70
but task is already holding lock:
ffff88800d0f9420 (&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
futex_wait_queue+0xf5/0x1e0
futex_wait+0x28e/0x690
do_futex+0x2ff/0x380
__x64_sys_futex+0x1c6/0x4d0
do_syscall_64+0x3b/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
do_con_write+0xc05/0x1d50
con_write+0x21/0x40
n_tty_write+0x4d4/0xfe0
file_tty_write.constprop.0+0x49c/0x8f0
vfs_write+0x9c3/0xd90
ksys_write+0x127/0x250
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
futex_wait_queue+0xf5/0x1e0
futex_wait+0x28e/0x690
do_futex+0x2ff/0x380
__x64_sys_futex+0x1c6/0x4d0
do_syscall_64+0x3b/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/3974:
#0: ffff88806cf37cd8 (&rq->__lock){-.-.}-{2:2}, at: __schedule+0x1cf/0x2470
#1: ffff88800d0f9420 (&ctx->lock){....}-{2:2}, at: __perf_event_task_sched_out+0x53b/0x18d0
stack backtrace:
CPU: 1 PID: 3974 Comm: syz-executor.7 Not tainted 6.0.0-rc5-next-20220916 #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:ffff88800fb1f8f8 EFLAGS: 00010006
RAX: 0000000040000002 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff888018a1d040 RSI: ffffffff81566027 RDI: 0000000000000005
RBP: ffff88801f618000 R08: 0000000000000005 R09: 0000000000000001
R10: 0000000000000000 R11: ffffffff865ac05b R12: ffff88800d0f9400
R13: ffff88806cf3d100 R14: ffffffff8547c660 R15: 0000000000000002
ctx_sched_out+0x8f1/0xc10
__perf_event_task_sched_out+0x6d0/0x18d0
__schedule+0xedd/0x2470
schedule+0xda/0x1b0
futex_wait_queue+0xf5/0x1e0
futex_wait+0x28e/0x690
do_futex+0x2ff/0x380
__x64_sys_futex+0x1c6/0x4d0
do_syscall_64+0x3b/0x90
entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7fc91eab7b19
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:00007fc91c02d218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: ffffffffffffffda RBX: 00007fc91ebcaf68 RCX: 00007fc91eab7b19
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fc91ebcaf68
RBP: 00007fc91ebcaf60 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fc91ebcaf6c
R13: 00007fff37b1c55f R14: 00007fc91c02d300 R15: 0000000000022000
WARNING: CPU: 1 PID: 3974 at kernel/events/core.c:2309 group_sched_out.part.0+0x2c7/0x460
Modules linked in:
CPU: 1 PID: 3974 Comm: syz-executor.7 Not tainted 6.0.0-rc5-next-20220916 #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:ffff88800fb1f8f8 EFLAGS: 00010006
RAX: 0000000040000002 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffff888018a1d040 RSI: ffffffff81566027 RDI: 0000000000000005
RBP: ffff88801f618000 R08: 0000000000000005 R09: 0000000000000001
R10: 0000000000000000 R11: ffffffff865ac05b R12: ffff88800d0f9400
R13: ffff88806cf3d100 R14: ffffffff8547c660 R15: 0000000000000002
FS: 00007fc91c02d700(0000) GS:ffff88806cf00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f545c036008 CR3: 000000001d1d2000 CR4: 0000000000350ee0
Call Trace:
ctx_sched_out+0x8f1/0xc10
__perf_event_task_sched_out+0x6d0/0x18d0
__schedule+0xedd/0x2470
schedule+0xda/0x1b0
futex_wait_queue+0xf5/0x1e0
futex_wait+0x28e/0x690
do_futex+0x2ff/0x380
__x64_sys_futex+0x1c6/0x4d0
do_syscall_64+0x3b/0x90
entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7fc91eab7b19
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:00007fc91c02d218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: ffffffffffffffda RBX: 00007fc91ebcaf68 RCX: 00007fc91eab7b19
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fc91ebcaf68
RBP: 00007fc91ebcaf60 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fc91ebcaf6c
R13: 00007fff37b1c55f R14: 00007fc91c02d300 R15: 0000000000022000
irq event stamp: 748
hardirqs last enabled at (747): [] syscall_enter_from_user_mode+0x1d/0x50
hardirqs last disabled at (748): [] __schedule+0x1225/0x2470
softirqs last enabled at (500): [] __irq_exit_rcu+0x11b/0x180
softirqs last disabled at (437): [] __irq_exit_rcu+0x11b/0x180
---[ end trace 0000000000000000 ]---
9pnet_virtio: no channels available for device 127.0.0.1
9pnet_virtio: no channels available for device 127.0.0.1
device lo entered promiscuous mode
hrtimer: interrupt took 17042 ns
device lo left promiscuous mode
device lo entered promiscuous mode
9pnet_virtio: no channels available for device 127.0.0.1
device lo left promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
9pnet_virtio: no channels available for device 127.0.0.1
device lo left promiscuous mode
device lo left promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
device lo left promiscuous mode
device lo left promiscuous mode
device lo left promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
device lo left promiscuous mode
device lo entered promiscuous mode
device lo left promiscuous mode
9pnet_virtio: no channels available for device 127.0.0.1
device lo entered promiscuous mode
9pnet_virtio: no channels available for device 127.0.0.1
device lo left promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
device lo left promiscuous mode
9pnet_virtio: no channels available for device 127.0.0.1
device lo entered promiscuous mode
device lo left promiscuous mode
device lo left promiscuous mode
device lo left promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
device lo entered promiscuous mode
9pnet_virtio: no channels available for device 127.0.0.1
netlink: 'syz-executor.6': attribute type 1 has an invalid length.
netlink: 'syz-executor.6': attribute type 1 has an invalid length.
device lo left promiscuous mode
netlink: 'syz-executor.6': attribute type 1 has an invalid length.
loop0: detected capacity change from 0 to 2048
device lo entered promiscuous mode
EXT4-fs (loop0): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir762026517/syzkaller.L4nFSx/10/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop0): unmounting filesystem.
netlink: 'syz-executor.6': attribute type 1 has an invalid length.
netlink: 'syz-executor.6': attribute type 1 has an invalid length.
loop0: detected capacity change from 0 to 2048
EXT4-fs (loop0): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir762026517/syzkaller.L4nFSx/11/file0 supports timestamps until 2038 (0x7fffffff)
loop4: detected capacity change from 0 to 2048
EXT4-fs (loop0): unmounting filesystem.
EXT4-fs (loop4): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir547594903/syzkaller.KeW8BR/20/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop4): unmounting filesystem.
loop5: detected capacity change from 0 to 2048
EXT4-fs (loop5): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir584523945/syzkaller.z6wm96/7/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop5): unmounting filesystem.
loop5: detected capacity change from 0 to 2048
loop4: detected capacity change from 0 to 2048
loop0: detected capacity change from 0 to 2048
EXT4-fs (loop5): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir584523945/syzkaller.z6wm96/8/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop5): unmounting filesystem.
EXT4-fs (loop4): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir547594903/syzkaller.KeW8BR/21/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop0): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir762026517/syzkaller.L4nFSx/12/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop4): unmounting filesystem.
EXT4-fs (loop0): unmounting filesystem.
loop4: detected capacity change from 0 to 2048
loop0: detected capacity change from 0 to 2048
EXT4-fs (loop4): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir547594903/syzkaller.KeW8BR/22/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop4): unmounting filesystem.
EXT4-fs (loop0): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir762026517/syzkaller.L4nFSx/13/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop0): unmounting filesystem.
syz-executor.6 (4448) used greatest stack depth: 24728 bytes left
loop6: detected capacity change from 0 to 512
EXT4-fs (loop6): mounted filesystem without journal. Quota mode: none.
EXT4-fs (loop6): unmounting filesystem.
blktrace: Concurrent blktraces are not allowed on sg0
blktrace: Concurrent blktraces are not allowed on sg0
blktrace: Concurrent blktraces are not allowed on sg0
blktrace: Concurrent blktraces are not allowed on sg0
blktrace: Concurrent blktraces are not allowed on sg0
blktrace: Concurrent blktraces are not allowed on sg0
loop7: detected capacity change from 0 to 242
loop7: detected capacity change from 0 to 242
loop7: detected capacity change from 0 to 242
loop5: detected capacity change from 0 to 242
loop3: detected capacity change from 0 to 242
loop7: detected capacity change from 0 to 242
loop2: detected capacity change from 0 to 242
loop5: detected capacity change from 0 to 242
loop3: detected capacity change from 0 to 242
loop2: detected capacity change from 0 to 242
loop7: detected capacity change from 0 to 242
loop4: detected capacity change from 0 to 242
loop5: detected capacity change from 0 to 242
loop3: detected capacity change from 0 to 242
loop2: detected capacity change from 0 to 242
loop4: detected capacity change from 0 to 242
loop4: detected capacity change from 0 to 242
loop5: detected capacity change from 0 to 2560
EXT4-fs (loop5): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir584523945/syzkaller.z6wm96/37/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop5): unmounting filesystem.
loop5: detected capacity change from 0 to 2560
EXT4-fs (loop5): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir584523945/syzkaller.z6wm96/38/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop5): unmounting filesystem.
loop5: detected capacity change from 0 to 2560
EXT4-fs (loop5): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir584523945/syzkaller.z6wm96/39/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop5): unmounting filesystem.
loop5: detected capacity change from 0 to 2560
EXT4-fs (loop5): mounted filesystem without journal. Quota mode: none.
ext4 filesystem being mounted at /syzkaller-testdir584523945/syzkaller.z6wm96/40/file0 supports timestamps until 2038 (0x7fffffff)
EXT4-fs (loop5): unmounting filesystem.