syzbot


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

Status: fixed on 2020/11/28 11:57
Reported-by: syzbot+fec1bdfeaaacb3730f1c@syzkaller.appspotmail.com
Fix commit: 6612b754ac0c vt: Disable KD_FONT_OP_COPY
First crash: 1594d, last: 1268d
Fix bisection: fixed by (bisect log) :
commit 6612b754ac0c85ca8b1181b5d3ea4461a8c1bbcb
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Sun Nov 8 15:38:06 2020 +0000

  vt: Disable KD_FONT_OP_COPY

  
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.14 KASAN: global-out-of-bounds Read in fb_pad_aligned_buffer C inconclusive 6 1319d 1594d 0/1 upstream: reported C repro on 2019/12/07 22:52
upstream KASAN: global-out-of-bounds Read in fb_pad_aligned_buffer fbdev C done error 12 1286d 1594d 0/26 auto-obsoleted due to no activity on 2022/09/25 23:58
Fix bisection attempts (10)
Created Duration User Patch Repo Result
2020/11/27 15:18 3h43m bisect fix linux-4.19.y job log (1)
2020/10/28 14:20 23m bisect fix linux-4.19.y job log (0) log
2020/09/28 13:46 24m bisect fix linux-4.19.y job log (0) log
2020/08/29 10:38 26m bisect fix linux-4.19.y job log (0) log
2020/07/29 13:14 26m bisect fix linux-4.19.y job log (0) log
2020/06/29 12:51 23m bisect fix linux-4.19.y job log (0) log
2020/05/30 10:19 24m bisect fix linux-4.19.y job log (0) log
2020/04/30 09:52 27m bisect fix linux-4.19.y job log (0) log
2020/02/05 22:37 26m bisect fix linux-4.19.y job log (0) log
2020/01/06 22:11 25m bisect fix linux-4.19.y job log (0) log

Sample crash report:
audit: type=1400 audit(1575756543.617:36): avc:  denied  { map } for  pid=7604 comm="syz-executor052" path="/root/syz-executor052727936" dev="sda1" ino=16483 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file permissive=1
==================================================================
BUG: KASAN: global-out-of-bounds in __fb_pad_aligned_buffer include/linux/fb.h:674 [inline]
BUG: KASAN: global-out-of-bounds in fb_pad_aligned_buffer+0x138/0x160 drivers/video/fbdev/core/fbmem.c:122
Read of size 1 at addr ffffffff87ecb836 by task syz-executor052/7604

CPU: 1 PID: 7604 Comm: syz-executor052 Not tainted 4.19.88-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+0x197/0x210 lib/dump_stack.c:118
 print_address_description.cold+0x5/0x20d mm/kasan/report.c:256
 kasan_report_error mm/kasan/report.c:354 [inline]
 kasan_report mm/kasan/report.c:412 [inline]
 kasan_report.cold+0x8c/0x2ba mm/kasan/report.c:396
 __asan_report_load1_noabort+0x14/0x20 mm/kasan/report.c:430
 __fb_pad_aligned_buffer include/linux/fb.h:674 [inline]
 fb_pad_aligned_buffer+0x138/0x160 drivers/video/fbdev/core/fbmem.c:122
 bit_putcs_aligned drivers/video/fbdev/core/bitblit.c:99 [inline]
 bit_putcs+0xd14/0xf10 drivers/video/fbdev/core/bitblit.c:185
 fbcon_putcs+0x42b/0x4f0 drivers/video/fbdev/core/fbcon.c:1320
 do_update_region+0x42b/0x6f0 drivers/tty/vt/vt.c:677
 redraw_screen+0x602/0x8e0 drivers/tty/vt/vt.c:1013
 fbcon_do_set_font+0x73a/0xa40 drivers/video/fbdev/core/fbcon.c:2583
 fbcon_copy_font+0x12c/0x190 drivers/video/fbdev/core/fbcon.c:2598
 con_font_copy drivers/tty/vt/vt.c:4548 [inline]
 con_font_op+0x69a/0x1250 drivers/tty/vt/vt.c:4563
 vt_ioctl+0x1784/0x2530 drivers/tty/vt/vt_ioctl.c:965
 tty_ioctl+0x7f3/0x1510 drivers/tty/tty_io.c:2669
 vfs_ioctl fs/ioctl.c:46 [inline]
 file_ioctl fs/ioctl.c:501 [inline]
 do_vfs_ioctl+0xd5f/0x1380 fs/ioctl.c:688
 ksys_ioctl+0xab/0xd0 fs/ioctl.c:705
 __do_sys_ioctl fs/ioctl.c:712 [inline]
 __se_sys_ioctl fs/ioctl.c:710 [inline]
 __x64_sys_ioctl+0x73/0xb0 fs/ioctl.c:710
 do_syscall_64+0xfd/0x620 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x440269
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 5b 14 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffc34d461a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 0000000000440269
RDX: 0000000020000000 RSI: 0000000000004b72 RDI: 0000000000000004
RBP: 00000000006cb018 R08: 000000000000000d R09: 00000000004002c8
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000401b50
R13: 0000000000401be0 R14: 0000000000000000 R15: 0000000000000000

The buggy address belongs to the variable:
 oid_index+0x76/0xa60

Memory state around the buggy address:
 ffffffff87ecb700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffffffff87ecb780: 00 00 00 05 fa fa fa fa 00 00 00 00 00 00 00 00
>ffffffff87ecb800: 00 00 00 00 00 00 06 fa fa fa fa fa 00 02 fa fa
                                     ^
 ffffffff87ecb880: fa fa fa fa 00 01 fa fa fa fa fa fa 00 00 02 fa
 ffffffff87ecb900: fa fa fa fa 00 03 fa fa fa fa fa fa 00 06 fa fa
==================================================================

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/12/07 22:11 linux-4.19.y fb683b5e3f53 1508f453 .config console log report syz C ci2-linux-4-19
2020/03/22 11:34 linux-4.19.y 14cfdbd39e31 78267cec .config console log report syz ci2-linux-4-19
2020/03/31 09:30 linux-4.19.y 54b4fa6d3955 c8d1cc20 .config console log report ci2-linux-4-19
2020/03/13 10:42 linux-4.19.y 569209711609 fd69032d .config console log report ci2-linux-4-19
2020/03/04 11:40 linux-4.19.y a083db76118d 712198ac .config console log report ci2-linux-4-19
* Struck through repros no longer work on HEAD.