==================================================================
BUG: KASAN: vmalloc-out-of-bounds in fast_imageblit drivers/video/fbdev/core/sysimgblt.c:257 [inline]
BUG: KASAN: vmalloc-out-of-bounds in sys_imageblit+0x1fd4/0x20e0 drivers/video/fbdev/core/sysimgblt.c:323
Write of size 4 at addr ffffc90004869080 by task syz-executor.2/9746
CPU: 0 PID: 9746 Comm: syz-executor.2 Not tainted 6.5.0-rc3-syzkaller-00018-g0b5547c51827 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0xd9/0x1b0 lib/dump_stack.c:106
print_address_description mm/kasan/report.c:364 [inline]
print_report+0xc4/0x620 mm/kasan/report.c:475
kasan_report+0xda/0x110 mm/kasan/report.c:588
fast_imageblit drivers/video/fbdev/core/sysimgblt.c:257 [inline]
sys_imageblit+0x1fd4/0x20e0 drivers/video/fbdev/core/sysimgblt.c:323
drm_fbdev_generic_defio_imageblit+0x20/0x130 drivers/gpu/drm/drm_fbdev_generic.c:37
soft_cursor+0x51d/0xa00 drivers/video/fbdev/core/softcursor.c:74
bit_cursor+0xf07/0x1860 drivers/video/fbdev/core/bitblit.c:380
fbcon_cursor+0x3e0/0x540 drivers/video/fbdev/core/fbcon.c:1324
hide_cursor+0x86/0x280 drivers/tty/vt/vt.c:856
redraw_screen+0x5c7/0x750 drivers/tty/vt/vt.c:961
fbcon_set_disp+0x7ca/0xe00 drivers/video/fbdev/core/fbcon.c:1393
con2fb_init_display drivers/video/fbdev/core/fbcon.c:793 [inline]
set_con2fb_map+0x6fb/0x1050 drivers/video/fbdev/core/fbcon.c:864
fbcon_set_con2fb_map_ioctl+0x16d/0x220 drivers/video/fbdev/core/fbcon.c:3122
do_fb_ioctl+0x326/0x7d0 drivers/video/fbdev/core/fbmem.c:1068
fb_compat_ioctl+0x568/0x670 drivers/video/fbdev/core/fbmem.c:1223
__do_compat_sys_ioctl+0x2bf/0x330 fs/ioctl.c:968
do_syscall_32_irqs_on arch/x86/entry/common.c:112 [inline]
__do_fast_syscall_32+0x61/0xe0 arch/x86/entry/common.c:178
do_fast_syscall_32+0x33/0x70 arch/x86/entry/common.c:203
entry_SYSENTER_compat_after_hwframe+0x70/0x82
RIP: 0023:0xf7fd4579
Code: b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00
RSP: 002b:00000000f7fcf5ac EFLAGS: 00000292 ORIG_RAX: 0000000000000036
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 0000000000004610
RDX: 00000000200001c0 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
</TASK>
Memory state around the buggy address:
ffffc90004868f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
ffffc90004869000: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
>ffffc90004869080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
^
ffffc90004869100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
ffffc90004869180: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8
==================================================================
----------------
Code disassembly (best guess), 2 bytes skipped:
0: 10 06 adc %al,(%rsi)
2: 03 74 b4 01 add 0x1(%rsp,%rsi,4),%esi
6: 10 07 adc %al,(%rdi)
8: 03 74 b0 01 add 0x1(%rax,%rsi,4),%esi
c: 10 08 adc %cl,(%rax)
e: 03 74 d8 01 add 0x1(%rax,%rbx,8),%esi
1e: 00 51 52 add %dl,0x52(%rcx)
21: 55 push %rbp
22: 89 e5 mov %esp,%ebp
24: 0f 34 sysenter
26: cd 80 int $0x80
* 28: 5d pop %rbp <-- trapping instruction
29: 5a pop %rdx
2a: 59 pop %rcx
2b: c3 ret
2c: 90 nop
2d: 90 nop
2e: 90 nop
2f: 90 nop
30: 8d b4 26 00 00 00 00 lea 0x0(%rsi,%riz,1),%esi
37: 8d b4 26 00 00 00 00 lea 0x0(%rsi,%riz,1),%esi