=============================
[ BUG: Invalid wait context ]
6.12.0-syzkaller-12113-gbcc8eda6d349 #0 Not tainted
-----------------------------
syz.0.0/5315 is trying to lock:
ffff88801fc3aab0 (batched_entropy_u8.lock){..-.}-{3:3}, at: local_lock_acquire include/linux/local_lock_internal.h:29 [inline]
ffff88801fc3aab0 (batched_entropy_u8.lock){..-.}-{3:3}, at: get_random_u8+0x1a0/0xaa0 drivers/char/random.c:551
other info that might help us debug this:
context-{2:2}
4 locks held by syz.0.0/5315:
#0: ffff888035b15988 (&mdev->req_queue_mutex){+.+.}-{4:4}, at: v4l2_release+0x1b5/0x3b0 drivers/media/v4l2-core/v4l2-dev.c:457
#1: ffff888035b14760 (&dev_instance->mutex){+.+.}-{4:4}, at: vicodec_release+0x6f/0x110 drivers/media/test-drivers/vicodec/vicodec-core.c:1947
#2: ffff8880525e2138 (&q->mmap_lock){+.+.}-{4:4}, at: vb2_core_queue_release+0x40/0x150 drivers/media/common/videobuf2/videobuf2-core.c:2694
#3: ffff88801fc3e8d8 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x2a/0x140 kernel/sched/core.c:598
stack backtrace:
CPU: 0 UID: 0 PID: 5315 Comm: syz.0.0 Not tainted 6.12.0-syzkaller-12113-gbcc8eda6d349 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Call Trace:
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
print_lock_invalid_wait_context kernel/locking/lockdep.c:4826 [inline]
check_wait_context kernel/locking/lockdep.c:4898 [inline]
__lock_acquire+0x15a8/0x2100 kernel/locking/lockdep.c:5176
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5849
local_lock_acquire include/linux/local_lock_internal.h:29 [inline]
get_random_u8+0x1bd/0xaa0 drivers/char/random.c:551
get_random_u32_below include/linux/random.h:78 [inline]
kfence_guarded_alloc+0x9c/0xcd0 mm/kfence/core.c:421
__kfence_alloc+0x344/0x370 mm/kfence/core.c:1136
kfence_alloc include/linux/kfence.h:129 [inline]
slab_alloc_node mm/slub.c:4137 [inline]
__kmalloc_cache_noprof+0x2dd/0x390 mm/slub.c:4309
kmalloc_noprof include/linux/slab.h:901 [inline]
add_stack_record_to_list mm/page_owner.c:172 [inline]
inc_stack_record_count mm/page_owner.c:214 [inline]
__set_page_owner+0x55f/0x800 mm/page_owner.c:329
set_page_owner include/linux/page_owner.h:32 [inline]
post_alloc_hook+0x1f3/0x230 mm/page_alloc.c:1556
prep_new_page mm/page_alloc.c:1564 [inline]
get_page_from_freelist+0x365c/0x37a0 mm/page_alloc.c:3474
__alloc_pages_noprof+0x292/0x710 mm/page_alloc.c:4751
alloc_pages_mpol_noprof+0x3e8/0x680 mm/mempolicy.c:2265
stack_depot_save_flags+0x666/0x830 lib/stackdepot.c:627
kasan_save_stack+0x4f/0x60 mm/kasan/common.c:48
__kasan_record_aux_stack+0xac/0xc0 mm/kasan/generic.c:544
task_work_add+0xd9/0x490 kernel/task_work.c:77
task_tick_numa kernel/sched/fair.c:3607 [inline]
task_tick_fair+0x58c/0x7b0 kernel/sched/fair.c:13054
sched_tick+0x21e/0x660 kernel/sched/core.c:5652
update_process_times+0x276/0x2f0 kernel/time/timer.c:2524
tick_sched_handle kernel/time/tick-sched.c:276 [inline]
tick_nohz_handler+0x37c/0x500 kernel/time/tick-sched.c:297
__run_hrtimer kernel/time/hrtimer.c:1739 [inline]
__hrtimer_run_queues+0x551/0xd30 kernel/time/hrtimer.c:1803
hrtimer_interrupt+0x403/0xa40 kernel/time/hrtimer.c:1865
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1038 [inline]
__sysvec_apic_timer_interrupt+0x110/0x420 arch/x86/kernel/apic/apic.c:1055
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1049
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:memset_orig+0x4e/0xb0 arch/x86/lib/memset_64.S:74
Code: d1 48 c1 e9 06 74 35 0f 1f 44 00 00 48 ff c9 48 89 07 48 89 47 08 48 89 47 10 48 89 47 18 48 89 47 20 48 89 47 28 48 89 47 30 <48> 89 47 38 48 8d 7f 40 75 d8 0f 1f 84 00 00 00 00 00 89 d1 83 e1
RSP: 0018:ffffc9000d47fad8 EFLAGS: 00000202
RAX: f8f8f8f8f8f8f8f8 RBX: 1ffff11002303c32 RCX: 0000000000000fdc
RDX: 0000000000054800 RSI: 00000000000000f8 RDI: fffff520048162c0
RBP: 0000000000000000 R08: ffffffff81f84d6b R09: 0000000000000000
R10: fffff52004801200 R11: fffffbfff2857123 R12: 1ffff11002303c33
R13: ffff88801181e190 R14: ffff88801181e180 R15: ffff88803e763d00
kasan_poison_vmalloc include/linux/kasan.h:607 [inline]
remove_vm_area+0x25e/0x300 mm/vmalloc.c:3243
vfree+0x7c/0x2e0 mm/vmalloc.c:3364
vb2_vmalloc_put+0x68/0xb0 drivers/media/common/videobuf2/videobuf2-vmalloc.c:68
__vb2_buf_mem_free+0xfa/0x2a0 drivers/media/common/videobuf2/videobuf2-core.c:275
__vb2_free_mem drivers/media/common/videobuf2/videobuf2-core.c:571 [inline]
__vb2_queue_free+0x452/0xb70 drivers/media/common/videobuf2/videobuf2-core.c:599
vb2_core_queue_release+0x6c/0x150 drivers/media/common/videobuf2/videobuf2-core.c:2695
v4l2_m2m_ctx_release+0x1e/0x40 drivers/media/v4l2-core/v4l2-mem2mem.c:1276
vicodec_release+0x94/0x110 drivers/media/test-drivers/vicodec/vicodec-core.c:1948
v4l2_release+0x1f5/0x3b0 drivers/media/v4l2-core/v4l2-dev.c:458
__fput+0x23c/0xa50 fs/file_table.c:450
task_work_run+0x24f/0x310 kernel/task_work.c:239
resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline]
__syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
syscall_exit_to_user_mode+0x13f/0x340 kernel/entry/common.c:218
do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fb39b580849
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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffcda4ab928 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4
RAX: 0000000000000000 RBX: 00007fb39b747ba0 RCX: 00007fb39b580849
RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003
RBP: 00007fb39b747ba0 R08: 0000000000021f3c R09: 00007ffcda4abc0f
R10: 00007fb39b747ac0 R11: 0000000000000246 R12: 000000000000e57b
R13: 00007fb39b746240 R14: 0000000000000032 R15: ffffffffffffffff
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 48 c1 e9 06 shr $0x6,%rcx
4: 74 35 je 0x3b
6: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
b: 48 ff c9 dec %rcx
e: 48 89 07 mov %rax,(%rdi)
11: 48 89 47 08 mov %rax,0x8(%rdi)
15: 48 89 47 10 mov %rax,0x10(%rdi)
19: 48 89 47 18 mov %rax,0x18(%rdi)
1d: 48 89 47 20 mov %rax,0x20(%rdi)
21: 48 89 47 28 mov %rax,0x28(%rdi)
25: 48 89 47 30 mov %rax,0x30(%rdi)
* 29: 48 89 47 38 mov %rax,0x38(%rdi) <-- trapping instruction
2d: 48 8d 7f 40 lea 0x40(%rdi),%rdi
31: 75 d8 jne 0xb
33: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
3a: 00
3b: 89 d1 mov %edx,%ecx
3d: 83 .byte 0x83
3e: e1 .byte 0xe1