syzbot


KASAN: global-out-of-bounds Read in vga16fb_imageblit

Status: upstream: reported C repro on 2019/12/02 21:13
Reported-by: syzbot+cc2cb1ddc69b3336427b@syzkaller.appspotmail.com
First crash: 1815d, last: 1527d
Fix bisection: failed (error log, bisect log)
  
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: global-out-of-bounds Read in vga16fb_imageblit C done 1071 1530d 1814d 15/28 fixed on 2020/10/10 01:52
linux-4.14 KASAN: global-out-of-bounds Read in vga16fb_imageblit C done 723 1492d 1815d 1/1 fixed on 2020/11/20 16:27

Sample crash report:
audit: type=1400 audit(1598996730.446:8): avc:  denied  { execmem } for  pid=6462 comm="syz-executor938" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=process permissive=1
==================================================================
BUG: KASAN: global-out-of-bounds in vga_8planes_imageblit drivers/video/fbdev/vga16fb.c:1140 [inline]
BUG: KASAN: global-out-of-bounds in vga_imageblit_expand drivers/video/fbdev/vga16fb.c:1203 [inline]
BUG: KASAN: global-out-of-bounds in vga16fb_imageblit+0x1d01/0x2260 drivers/video/fbdev/vga16fb.c:1260
Read of size 2 at addr ffffffff87cfe17e by task syz-executor938/6462

CPU: 0 PID: 6462 Comm: syz-executor938 Not tainted 4.19.142-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1fc/0x2fe lib/dump_stack.c:118
 print_address_description.cold+0x5/0x219 mm/kasan/report.c:256
 kasan_report_error.cold+0x8a/0x1c7 mm/kasan/report.c:354
 kasan_report mm/kasan/report.c:412 [inline]
 __asan_report_load2_noabort+0x88/0x90 mm/kasan/report.c:431
 vga_8planes_imageblit drivers/video/fbdev/vga16fb.c:1140 [inline]
 vga_imageblit_expand drivers/video/fbdev/vga16fb.c:1203 [inline]
 vga16fb_imageblit+0x1d01/0x2260 drivers/video/fbdev/vga16fb.c:1260
 soft_cursor+0x514/0xa30 drivers/video/fbdev/core/softcursor.c:74
 bit_cursor+0x1239/0x1820 drivers/video/fbdev/core/bitblit.c:386
 fbcon_cursor+0x555/0x760 drivers/video/fbdev/core/fbcon.c:1372
 set_cursor drivers/tty/vt/vt.c:915 [inline]
 set_cursor+0x1dd/0x230 drivers/tty/vt/vt.c:906
 redraw_screen+0x5ee/0x870 drivers/tty/vt/vt.c:1033
 fbcon_modechanged+0x6e9/0x9f0 drivers/video/fbdev/core/fbcon.c:2972
 fbcon_event_notify+0x197/0x1d80 drivers/video/fbdev/core/fbcon.c:3347
 notifier_call_chain+0xc0/0x230 kernel/notifier.c:93
 __blocking_notifier_call_chain kernel/notifier.c:317 [inline]
 __blocking_notifier_call_chain kernel/notifier.c:304 [inline]
 blocking_notifier_call_chain kernel/notifier.c:328 [inline]
 blocking_notifier_call_chain+0x85/0xa0 kernel/notifier.c:325
 fb_set_var+0xc51/0xe20 drivers/video/fbdev/core/fbmem.c:1042
 do_fb_ioctl+0x3cf/0xb50 drivers/video/fbdev/core/fbmem.c:1115
 fb_ioctl+0xdd/0x130 drivers/video/fbdev/core/fbmem.c:1230
 vfs_ioctl fs/ioctl.c:46 [inline]
 file_ioctl fs/ioctl.c:501 [inline]
 do_vfs_ioctl+0xcdb/0x12e0 fs/ioctl.c:688
 ksys_ioctl+0x9b/0xc0 fs/ioctl.c:705
 __do_sys_ioctl fs/ioctl.c:712 [inline]
 __se_sys_ioctl fs/ioctl.c:710 [inline]
 __x64_sys_ioctl+0x6f/0xb0 fs/ioctl.c:710
 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x4403d9
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 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 0f 83 7b 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffcb72f6508 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 00000000004403d9
RDX: 00000000200001c0 RSI: 0000000000004601 RDI: 0000000000000003
RBP: 00000000006ca018 R08: 0000000000000000 R09: 00000000004002c8
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000401be0
R13: 0000000000401c70 R14: 0000000000000000 R15: 0000000000000000

The buggy address belongs to the variable:
 transl_h+0x3e/0x40

Memory state around the buggy address:
 ffffffff87cfe000: fa fa fa fa 00 00 00 00 fa fa fa fa 00 00 00 00
 ffffffff87cfe080: fa fa fa fa 00 00 00 00 00 fa fa fa fa fa fa fa
>ffffffff87cfe100: 04 fa fa fa fa fa fa fa 00 00 00 00 fa fa fa fa
                                                                ^
 ffffffff87cfe180: 00 00 00 00 fa fa fa fa 00 01 fa fa fa fa fa fa
 ffffffff87cfe200: 00 00 00 04 fa fa fa fa 00 00 04 fa fa fa fa fa
==================================================================

Crashes (331):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/09/01 21:47 linux-4.19.y f6d5cb9e2c06 abf9ba4f .config console log report syz C ci2-linux-4-19
2020/08/30 15:42 linux-4.19.y f6d5cb9e2c06 d5a3ae1f .config console log report syz C ci2-linux-4-19
2019/12/16 15:21 linux-4.19.y 312017a460d5 0ae38e44 .config console log report syz C ci2-linux-4-19
2019/12/03 04:54 linux-4.19.y 174651bdf802 ab342da3 .config console log report syz C ci2-linux-4-19
2019/12/03 01:47 linux-4.19.y 174651bdf802 ab342da3 .config console log report syz C ci2-linux-4-19
2019/12/02 20:12 linux-4.19.y 174651bdf802 ab342da3 .config console log report syz C ci2-linux-4-19
2020/07/04 18:52 linux-4.19.y 399849e4654e 4f739670 .config console log report syz ci2-linux-4-19
2020/09/16 17:00 linux-4.19.y a87f96283793 77507d02 .config console log report info ci2-linux-4-19
2020/09/11 05:51 linux-4.19.y 67957f12548c ac7ca78e .config console log report ci2-linux-4-19
2020/09/11 04:31 linux-4.19.y 67957f12548c ac7ca78e .config console log report ci2-linux-4-19
2020/09/11 00:17 linux-4.19.y 67957f12548c ac7ca78e .config console log report ci2-linux-4-19
2020/09/10 11:26 linux-4.19.y 67957f12548c ac7ca78e .config console log report ci2-linux-4-19
2020/09/09 22:41 linux-4.19.y 67957f12548c ac7ca78e .config console log report ci2-linux-4-19
2020/09/09 14:59 linux-4.19.y c37da90efff5 0ea7a887 .config console log report ci2-linux-4-19
2020/09/09 10:16 linux-4.19.y c37da90efff5 0ea7a887 .config console log report ci2-linux-4-19
2020/09/09 07:02 linux-4.19.y c37da90efff5 0ea7a887 .config console log report ci2-linux-4-19
2020/09/09 05:09 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/09 03:11 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/09 02:07 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/09 01:04 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 23:28 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 19:06 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 16:22 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 16:21 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 14:10 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 12:55 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 10:51 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 09:06 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 07:10 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 05:10 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 03:16 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/08 02:13 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/07 23:39 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/07 19:59 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/07 15:43 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/07 12:36 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/07 09:14 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/07 07:34 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/07 05:12 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/07 03:23 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/06 22:05 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/06 16:19 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/06 09:50 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/05 01:29 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/04 17:24 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/04 08:58 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/04 03:26 linux-4.19.y c37da90efff5 abf9ba4f .config console log report ci2-linux-4-19
2020/09/03 08:16 linux-4.19.y f6d5cb9e2c06 abf9ba4f .config console log report ci2-linux-4-19
* Struck through repros no longer work on HEAD.