syzbot


KASAN: vmalloc-out-of-bounds Write in imageblit (3)

Status: auto-obsoleted due to no activity on 2023/10/23 10:50
Subsystems: fbdev
[Documentation on labels]
Reported-by: syzbot+3d3864c27a5e770e7654@syzkaller.appspotmail.com
First crash: 281d, last: 281d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: vmalloc-out-of-bounds Write in imageblit fbdev C 104 918d 1211d 20/26 fixed on 2021/11/10 00:50
upstream KASAN: vmalloc-out-of-bounds Write in imageblit (2) fbdev C done 701 606d 894d 22/26 fixed on 2023/02/24 13:50

Sample crash report:
==================================================================
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

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/07/25 10:50 upstream 0b5547c51827 3b91ad04 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: vmalloc-out-of-bounds Write in imageblit
2023/07/25 10:12 upstream 0b5547c51827 3b91ad04 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream-386 KASAN: vmalloc-out-of-bounds Write in imageblit
* Struck through repros no longer work on HEAD.