================================================================== BUG: KASAN: slab-use-after-free in scr_memcpyw include/linux/vt_buffer.h:38 [inline] BUG: KASAN: slab-use-after-free in fbcon_prepare_logo+0xa03/0xc70 drivers/video/fbdev/core/fbcon.c:646 Read of size 256 at addr ffff888077c3a3c0 by task syz.0.4029/24685 CPU: 1 UID: 0 PID: 24685 Comm: syz.0.4029 Tainted: G U L syzkaller #0 PREEMPT(full) Tainted: [U]=USER, [L]=SOFTLOCKUP Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/25/2025 Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xcd/0x630 mm/kasan/report.c:482 kasan_report+0xe0/0x110 mm/kasan/report.c:595 check_region_inline mm/kasan/generic.c:194 [inline] kasan_check_range+0x100/0x1b0 mm/kasan/generic.c:200 __asan_memcpy+0x23/0x60 mm/kasan/shadow.c:105 scr_memcpyw include/linux/vt_buffer.h:38 [inline] fbcon_prepare_logo+0xa03/0xc70 drivers/video/fbdev/core/fbcon.c:646 fbcon_init+0xda0/0x1930 drivers/video/fbdev/core/fbcon.c:1179 visual_init+0x320/0x620 drivers/tty/vt/vt.c:1020 do_bind_con_driver.isra.0+0x57a/0xbf0 drivers/tty/vt/vt.c:3960 vt_bind drivers/tty/vt/vt.c:4116 [inline] store_bind+0x61d/0x760 drivers/tty/vt/vt.c:4188 dev_attr_store+0x58/0x80 drivers/base/core.c:2437 sysfs_kf_write+0xf2/0x150 fs/sysfs/file.c:142 kernfs_fop_write_iter+0x3af/0x570 fs/kernfs/file.c:352 iter_file_splice_write+0xa24/0x12b0 fs/splice.c:738 do_splice_from fs/splice.c:938 [inline] direct_splice_actor+0x192/0x6c0 fs/splice.c:1161 splice_direct_to_actor+0x345/0xa30 fs/splice.c:1105 do_splice_direct_actor fs/splice.c:1204 [inline] do_splice_direct+0x174/0x240 fs/splice.c:1230 do_sendfile+0xb06/0xe50 fs/read_write.c:1370 __do_sys_sendfile64 fs/read_write.c:1431 [inline] __se_sys_sendfile64 fs/read_write.c:1417 [inline] __x64_sys_sendfile64+0x1d8/0x220 fs/read_write.c:1417 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f7c5398f7c9 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:00007f7c5487f038 EFLAGS: 00000246 ORIG_RAX: 0000000000000028 RAX: ffffffffffffffda RBX: 00007f7c53be6090 RCX: 00007f7c5398f7c9 RDX: 0000000000000000 RSI: 0000000000000007 RDI: 0000000000000004 RBP: 00007f7c53a13f91 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f7c53be6128 R14: 00007f7c53be6090 R15: 00007fff314826d8 Allocated by task 15890: kasan_save_stack+0x33/0x60 mm/kasan/common.c:56 kasan_save_track+0x14/0x30 mm/kasan/common.c:77 unpoison_slab_object mm/kasan/common.c:342 [inline] __kasan_slab_alloc+0x89/0x90 mm/kasan/common.c:368 kasan_slab_alloc include/linux/kasan.h:252 [inline] slab_post_alloc_hook mm/slub.c:4948 [inline] slab_alloc_node mm/slub.c:5258 [inline] kmem_cache_alloc_noprof+0x250/0x760 mm/slub.c:5265 anon_vma_alloc mm/rmap.c:93 [inline] anon_vma_fork+0xe6/0x620 mm/rmap.c:359 dup_mmap+0x151f/0x2250 mm/mmap.c:1797 dup_mm kernel/fork.c:1486 [inline] copy_mm kernel/fork.c:1538 [inline] copy_process+0x6476/0x74e0 kernel/fork.c:2178 kernel_clone+0xfc/0x910 kernel/fork.c:2608 __do_sys_clone+0xce/0x120 kernel/fork.c:2749 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 15890: kasan_save_stack+0x33/0x60 mm/kasan/common.c:56 kasan_save_track+0x14/0x30 mm/kasan/common.c:77 __kasan_save_free_info+0x3b/0x60 mm/kasan/generic.c:587 kasan_save_free_info mm/kasan/kasan.h:406 [inline] poison_slab_object mm/kasan/common.c:252 [inline] __kasan_slab_free+0x5f/0x80 mm/kasan/common.c:284 kasan_slab_free include/linux/kasan.h:234 [inline] slab_free_hook mm/slub.c:2540 [inline] slab_free_after_rcu_debug+0x10c/0x300 mm/slub.c:6722 rcu_do_batch kernel/rcu/tree.c:2605 [inline] rcu_core+0x79c/0x1500 kernel/rcu/tree.c:2857 handle_softirqs+0x219/0x8b0 kernel/softirq.c:622 __do_softirq kernel/softirq.c:656 [inline] invoke_softirq kernel/softirq.c:496 [inline] __irq_exit_rcu+0x109/0x170 kernel/softirq.c:723 irq_exit_rcu+0x9/0x30 kernel/softirq.c:739 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1056 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 Last potentially related work creation: kasan_save_stack+0x33/0x60 mm/kasan/common.c:56 kasan_record_aux_stack+0xa7/0xc0 mm/kasan/generic.c:559 slab_free_hook mm/slub.c:2501 [inline] slab_free mm/slub.c:6663 [inline] kmem_cache_free+0x15e/0x770 mm/slub.c:6774 anon_vma_free mm/rmap.c:136 [inline] __put_anon_vma+0x114/0x3a0 mm/rmap.c:2777 put_anon_vma include/linux/rmap.h:117 [inline] unlink_anon_vmas+0x58a/0x820 mm/rmap.c:443 free_pgtables+0x1d7/0xc00 mm/memory.c:399 exit_mmap+0x3f4/0xb60 mm/mmap.c:1291 __mmput+0x12a/0x410 kernel/fork.c:1130 mmput+0x62/0x70 kernel/fork.c:1153 exit_mm kernel/exit.c:583 [inline] do_exit+0x7d7/0x2bd0 kernel/exit.c:961 do_group_exit+0xd3/0x2a0 kernel/exit.c:1114 get_signal+0x2671/0x26d0 kernel/signal.c:3034 arch_do_signal_or_restart+0x8f/0x7a0 arch/x86/kernel/signal.c:337 __exit_to_user_mode_loop kernel/entry/common.c:41 [inline] exit_to_user_mode_loop+0x8c/0x540 kernel/entry/common.c:75 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:159 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:194 [inline] do_syscall_64+0x4ee/0xf80 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f The buggy address belongs to the object at ffff888077c3a330 which belongs to the cache anon_vma of size 208 The buggy address is located 144 bytes inside of freed 208-byte region [ffff888077c3a330, ffff888077c3a400) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x77c3a memcg:ffff888065ae3201 flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) page_type: f5(slab) raw: 00fff00000000000 ffff888140407140 ffffea0001deee80 dead000000000002 raw: 0000000000000000 00000000000f000f 00000000f5000000 ffff888065ae3201 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x52cc0(GFP_KERNEL|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP), pid 19750, tgid 19750 (modprobe), ts 1051959459925, free_ts 1051948602811 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x1af/0x220 mm/page_alloc.c:1845 prep_new_page mm/page_alloc.c:1853 [inline] get_page_from_freelist+0xd0b/0x31a0 mm/page_alloc.c:3879 __alloc_frozen_pages_noprof+0x25f/0x2440 mm/page_alloc.c:5183 alloc_pages_mpol+0x1fb/0x550 mm/mempolicy.c:2416 alloc_slab_page mm/slub.c:3075 [inline] allocate_slab mm/slub.c:3248 [inline] new_slab+0x2c3/0x430 mm/slub.c:3302 ___slab_alloc+0xe18/0x1c90 mm/slub.c:4651 __slab_alloc.constprop.0+0x63/0x110 mm/slub.c:4774 __slab_alloc_node mm/slub.c:4850 [inline] slab_alloc_node mm/slub.c:5246 [inline] kmem_cache_alloc_noprof+0x43f/0x760 mm/slub.c:5265 anon_vma_alloc mm/rmap.c:93 [inline] __anon_vma_prepare+0x344/0x5e0 mm/rmap.c:201 __vmf_anon_prepare+0x11c/0x240 mm/memory.c:3634 vmf_anon_prepare mm/internal.h:432 [inline] do_cow_fault mm/memory.c:5736 [inline] do_fault mm/memory.c:5852 [inline] do_pte_missing+0x8be/0x4000 mm/memory.c:4362 handle_pte_fault mm/memory.c:6234 [inline] __handle_mm_fault+0x154b/0x2ad0 mm/memory.c:6366 handle_mm_fault+0x3fe/0xad0 mm/memory.c:6535 do_user_addr_fault+0x423/0xda0 arch/x86/mm/fault.c:1336 handle_page_fault arch/x86/mm/fault.c:1476 [inline] exc_page_fault+0x64/0xc0 arch/x86/mm/fault.c:1532 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:618 page last free pid 19689 tgid 19689 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] free_pages_prepare mm/page_alloc.c:1394 [inline] __free_frozen_pages+0x7df/0x1160 mm/page_alloc.c:2901 vfree+0x1fd/0xb50 mm/vmalloc.c:3440 snd_dma_free_pages+0x54/0x70 sound/core/memalloc.c:132 do_free_pages sound/core/pcm_memory.c:88 [inline] do_free_pages sound/core/pcm_memory.c:83 [inline] snd_pcm_lib_free_pages+0x172/0x390 sound/core/pcm_memory.c:495 do_hw_free sound/core/pcm_native.c:911 [inline] snd_pcm_release_substream.part.0+0x2a8/0x340 sound/core/pcm_native.c:2735 snd_pcm_release_substream+0x5b/0x70 sound/core/pcm_native.c:2729 snd_pcm_oss_release_file sound/core/oss/pcm_oss.c:2396 [inline] snd_pcm_oss_release_file sound/core/oss/pcm_oss.c:2388 [inline] snd_pcm_oss_release+0x16f/0x310 sound/core/oss/pcm_oss.c:2575 __fput+0x402/0xb70 fs/file_table.c:468 task_work_run+0x150/0x240 kernel/task_work.c:233 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] __exit_to_user_mode_loop kernel/entry/common.c:44 [inline] exit_to_user_mode_loop+0xfb/0x540 kernel/entry/common.c:75 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:159 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:194 [inline] do_syscall_64+0x4ee/0xf80 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f Memory state around the buggy address: ffff888077c3a280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc ffff888077c3a300: fc fc fc fc fc fc fa fb fb fb fb fb fb fb fb fb >ffff888077c3a380: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888077c3a400: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb ffff888077c3a480: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================