================================================================== BUG: KASAN: stack-out-of-bounds in fast_imageblit drivers/video/fbdev/core/sysimgblt.c:262 [inline] BUG: KASAN: stack-out-of-bounds in sys_imageblit+0x217b/0x2240 drivers/video/fbdev/core/sysimgblt.c:323 Write of size 4 at addr ffffc90004a9fd40 by task syz-executor.2/24587 CPU: 1 PID: 24587 Comm: syz-executor.2 Not tainted 6.0.0-rc1-syzkaller-00160-g4c2d0b039c5c #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:317 [inline] print_report.cold+0x59/0x719 mm/kasan/report.c:433 kasan_report+0xb1/0x1e0 mm/kasan/report.c:495 fast_imageblit drivers/video/fbdev/core/sysimgblt.c:262 [inline] sys_imageblit+0x217b/0x2240 drivers/video/fbdev/core/sysimgblt.c:323 drm_fb_helper_sys_imageblit drivers/gpu/drm/drm_fb_helper.c:837 [inline] drm_fbdev_fb_imageblit+0x15c/0x350 drivers/gpu/drm/drm_fb_helper.c:2340 bit_putcs_unaligned drivers/video/fbdev/core/bitblit.c:139 [inline] bit_putcs+0x6e1/0xd20 drivers/video/fbdev/core/bitblit.c:188 fbcon_putcs+0x314/0x3e0 drivers/video/fbdev/core/fbcon.c:1287 do_update_region+0x399/0x630 drivers/tty/vt/vt.c:676 invert_screen+0x1d4/0x600 drivers/tty/vt/vt.c:800 highlight drivers/tty/vt/selection.c:57 [inline] clear_selection drivers/tty/vt/selection.c:85 [inline] clear_selection+0x55/0x70 drivers/tty/vt/selection.c:81 vc_do_resize+0xe61/0x1170 drivers/tty/vt/vt.c:1257 fbcon_do_set_font+0x43a/0x6f0 drivers/video/fbdev/core/fbcon.c:2428 fbcon_set_font+0x89d/0xab0 drivers/video/fbdev/core/fbcon.c:2519 con_font_set drivers/tty/vt/vt.c:4666 [inline] con_font_op+0x73a/0xc90 drivers/tty/vt/vt.c:4710 vt_k_ioctl drivers/tty/vt/vt_ioctl.c:474 [inline] vt_ioctl+0x1efa/0x2b20 drivers/tty/vt/vt_ioctl.c:752 tty_ioctl+0xfab/0x15d0 drivers/tty/tty_io.c:2778 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl fs/ioctl.c:856 [inline] __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7fd823a89279 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd824b2a168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fd823b9c050 RCX: 00007fd823a89279 RDX: 0000000020000040 RSI: 0000000000004b72 RDI: 0000000000000007 RBP: 00007fd823ae3189 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffdb9f1ab4f R14: 00007fd824b2a300 R15: 0000000000022000 The buggy address belongs to the virtual mapping at [ffffc90004a98000, ffffc90004aa1000) created by: kernel_clone+0xe7/0xab0 kernel/fork.c:2673 The buggy address belongs to the physical page: page:ffffea0000713640 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1c4d9 flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000000000 0000000000000000 dead000000000122 0000000000000000 raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x2dc2(GFP_KERNEL|__GFP_HIGHMEM|__GFP_NOWARN|__GFP_ZERO), pid 2, tgid 2 (kthreadd), ts 6788487910, free_ts 6244983203 prep_new_page mm/page_alloc.c:2532 [inline] get_page_from_freelist+0x109b/0x2ce0 mm/page_alloc.c:4283 __alloc_pages+0x1c7/0x510 mm/page_alloc.c:5515 alloc_pages+0x1a6/0x270 mm/mempolicy.c:2270 vm_area_alloc_pages mm/vmalloc.c:2958 [inline] __vmalloc_area_node mm/vmalloc.c:3026 [inline] __vmalloc_node_range+0x954/0x13a0 mm/vmalloc.c:3196 alloc_thread_stack_node kernel/fork.c:312 [inline] dup_task_struct kernel/fork.c:977 [inline] copy_process+0x13d3/0x7090 kernel/fork.c:2087 kernel_clone+0xe7/0xab0 kernel/fork.c:2673 kernel_thread+0xb5/0xf0 kernel/fork.c:2726 create_kthread kernel/kthread.c:399 [inline] kthreadd+0x4ea/0x750 kernel/kthread.c:745 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1449 [inline] free_pcp_prepare+0x5e4/0xd20 mm/page_alloc.c:1499 free_unref_page_prepare mm/page_alloc.c:3380 [inline] free_unref_page+0x19/0x4d0 mm/page_alloc.c:3476 __vunmap+0x85d/0xd30 mm/vmalloc.c:2696 free_work+0x58/0x70 mm/vmalloc.c:97 process_one_work+0x991/0x1610 kernel/workqueue.c:2289 worker_thread+0x665/0x1080 kernel/workqueue.c:2436 kthread+0x2e4/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306 Memory state around the buggy address: ffffc90004a9fc00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffc90004a9fc80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffffc90004a9fd00: 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 00 f3 f3 ^ ffffc90004a9fd80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffffc90004a9fe00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ==================================================================