================================================================== 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+0x20bb/0x21d0 drivers/video/fbdev/core/sysimgblt.c:326 Write of size 4 at addr ffffc90004c11098 by task syz.1.5327/26546 CPU: 3 UID: 0 PID: 26546 Comm: syz.1.5327 Not tainted 6.14.0-syzkaller-00624-g2f2d52945852 #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+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xc3/0x670 mm/kasan/report.c:521 kasan_report+0xd9/0x110 mm/kasan/report.c:634 fast_imageblit drivers/video/fbdev/core/sysimgblt.c:257 [inline] sys_imageblit+0x20bb/0x21d0 drivers/video/fbdev/core/sysimgblt.c:326 drm_fbdev_shmem_defio_imageblit+0x20/0x130 drivers/gpu/drm/drm_fbdev_shmem.c:37 bit_putcs_unaligned drivers/video/fbdev/core/bitblit.c:139 [inline] bit_putcs+0x90e/0xdf0 drivers/video/fbdev/core/bitblit.c:188 fbcon_putcs+0x364/0x480 drivers/video/fbdev/core/fbcon.c:1308 con_putc+0x143/0x170 drivers/tty/vt/vt.c:302 complement_pos+0x2d5/0x4f0 drivers/tty/vt/vt.c:757 highlight_pointer drivers/tty/vt/selection.c:63 [inline] clear_selection+0x1b/0x70 drivers/tty/vt/selection.c:85 vc_do_resize+0xda1/0x10f0 drivers/tty/vt/vt.c:1187 vc_resize include/linux/vt_kern.h:49 [inline] fbcon_set_disp+0x7a5/0xe00 drivers/video/fbdev/core/fbcon.c:1409 con2fb_init_display drivers/video/fbdev/core/fbcon.c:812 [inline] set_con2fb_map+0x6fd/0x1060 drivers/video/fbdev/core/fbcon.c:885 fbcon_set_con2fb_map_ioctl+0x16d/0x220 drivers/video/fbdev/core/fbcon.c:3112 do_fb_ioctl+0x32a/0x7d0 drivers/video/fbdev/core/fb_chrdev.c:138 fb_compat_ioctl+0x55f/0x670 drivers/video/fbdev/core/fb_chrdev.c:293 __do_compat_sys_ioctl+0x1cb/0x2c0 fs/ioctl.c:1004 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0x73/0x120 arch/x86/entry/common.c:387 do_fast_syscall_32+0x32/0x80 arch/x86/entry/common.c:412 entry_SYSENTER_compat_after_hwframe+0x84/0x8e RIP: 0023:0xf7fd1579 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:00000000f50f655c EFLAGS: 00000296 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 0000000000000004 RCX: 0000000000004610 RDX: 00000000800000c0 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000296 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 The buggy address ffffc90004c11098 belongs to a vmalloc virtual mapping Memory state around the buggy address: ffffc90004c10f80: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ffffc90004c11000: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 >ffffc90004c11080: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ^ ffffc90004c11100: f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 f8 ffffc90004c11180: 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