syzbot


BUG: unable to handle kernel paging request in bitfill_aligned (2)
Status: fixed on 2022/05/13 11:13
Reported-by: syzbot+a4edd73d589b0b7efbeb@syzkaller.appspotmail.com
Fix commit: 0499f419b76f video: vga16fb: Only probe for EGA and VGA 16 color graphic cards
First crash: 561d, last: 149d

Cause bisection: the issue happens on the oldest tested release (bisect log)
Crash: BUG: unable to handle kernel paging request in bitfill_aligned (log)
Repro: C syz .config

Fix bisection: fixed by (bisect log) :
commit 0499f419b76f94ede08304aad5851144813ac55c
Author: Javier Martinez Canillas <javierm@redhat.com>
Date: Mon Jan 10 09:56:25 2022 +0000

  video: vga16fb: Only probe for EGA and VGA 16 color graphic cards

similar bugs (3):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 BUG: unable to handle kernel paging request in bitfill_aligned C error 3 87d 169d 0/1 upstream: reported C repro on 2021/12/10 10:17
upstream BUG: unable to handle kernel paging request in bitfill_aligned 1 748d 746d 0/22 closed as dup on 2020/08/16 15:35
upstream KASAN: vmalloc-out-of-bounds Write in bitfill_aligned C 475 671d 905d 17/22 fixed on 2020/09/21 20:54

Sample crash report:
BUG: unable to handle page fault for address: ffff888001000030
#PF: supervisor write access in kernel mode
#PF: error_code(0x0003) - permissions violation
PGD 11201067 P4D 11201067 PUD 11202067 PMD 80000000010001e1 
Oops: 0003 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 6524 Comm: syz-executor260 Not tainted 5.16.0-rc4-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__writeq arch/x86/include/asm/io.h:98 [inline]
RIP: 0010:bitfill_aligned+0x1d2/0x270 drivers/video/fbdev/core/cfbfillrect.c:75
Code: 39 1b fd eb 09 e8 3e 39 1b fd 48 83 c3 40 31 ff 89 ee e8 41 3d 1b fd 85 ed 74 2c 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 ff cd <4c> 89 33 85 ed 74 0b 48 83 c3 08 e8 0e 39 1b fd eb ec e8 07 39 1b
RSP: 0018:ffffc90002b4ee38 EFLAGS: 00010202
RAX: 0000000000000000 RBX: ffff888001000030 RCX: ffff888020209d00
RDX: ffff888020209d00 RSI: 0000000000000002 RDI: 0000000000000000
RBP: 0000000000000001 R08: ffffffff84695e4f R09: 0000000000000040
R10: 0000000000000002 R11: ffff888020209d00 R12: ffffffffffffffff
R13: 0000000000000080 R14: 0000000000000000 R15: 0000000000000000
FS:  0000555555c14300(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff888001000030 CR3: 00000000708fb000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 cfb_fillrect+0x5d8/0x800 drivers/video/fbdev/core/cfbfillrect.c:327
 bit_clear_margins+0x2d7/0x6e0 drivers/video/fbdev/core/bitblit.c:209
 fbcon_clear_margins drivers/video/fbdev/core/fbcon.c:1296 [inline]
 fbcon_switch+0x1569/0x21f0 drivers/video/fbdev/core/fbcon.c:1677
 redraw_screen+0x53d/0x1280 drivers/tty/vt/vt.c:1021
 vc_do_resize+0x1361/0x1930 drivers/tty/vt/vt.c:1342
 fbcon_do_set_font+0x9ef/0x10d0 drivers/video/fbdev/core/fbcon.c:1928
 fbcon_set_font+0x9f9/0xc80 drivers/video/fbdev/core/fbcon.c:2014
 con_font_set drivers/tty/vt/vt.c:4666 [inline]
 con_font_op+0xbcd/0x1080 drivers/tty/vt/vt.c:4710
 vt_k_ioctl drivers/tty/vt/vt_ioctl.c:474 [inline]
 vt_ioctl+0x1838/0x3860 drivers/tty/vt/vt_ioctl.c:752
 tty_ioctl+0xfb2/0x17d0 drivers/tty/tty_io.c:2805
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:874 [inline]
 __se_sys_ioctl+0xfb/0x170 fs/ioctl.c:860
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7f44f1232229
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 b1 14 00 00 90 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 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fffb8c823a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f44f1232229
RDX: 0000000020000400 RSI: 0000000000004b72 RDI: 0000000000000004
RBP: 0000000000000000 R08: 000000000000000d R09: 00007fffb8c82548
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f44f11f5820
R13: 431bde82d7b634db R14: 0000000000000000 R15: 0000000000000000
 </TASK>
Modules linked in:
CR2: ffff888001000030
---[ end trace 3cf2fa8eab0f5f7d ]---
RIP: 0010:__writeq arch/x86/include/asm/io.h:98 [inline]
RIP: 0010:bitfill_aligned+0x1d2/0x270 drivers/video/fbdev/core/cfbfillrect.c:75
Code: 39 1b fd eb 09 e8 3e 39 1b fd 48 83 c3 40 31 ff 89 ee e8 41 3d 1b fd 85 ed 74 2c 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 ff cd <4c> 89 33 85 ed 74 0b 48 83 c3 08 e8 0e 39 1b fd eb ec e8 07 39 1b
RSP: 0018:ffffc90002b4ee38 EFLAGS: 00010202
RAX: 0000000000000000 RBX: ffff888001000030 RCX: ffff888020209d00
RDX: ffff888020209d00 RSI: 0000000000000002 RDI: 0000000000000000
RBP: 0000000000000001 R08: ffffffff84695e4f R09: 0000000000000040
R10: 0000000000000002 R11: ffff888020209d00 R12: ffffffffffffffff
R13: 0000000000000080 R14: 0000000000000000 R15: 0000000000000000
FS:  0000555555c14300(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff888001000030 CR3: 00000000708fb000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
   0:	39 1b                	cmp    %ebx,(%rbx)
   2:	fd                   	std
   3:	eb 09                	jmp    0xe
   5:	e8 3e 39 1b fd       	callq  0xfd1b3948
   a:	48 83 c3 40          	add    $0x40,%rbx
   e:	31 ff                	xor    %edi,%edi
  10:	89 ee                	mov    %ebp,%esi
  12:	e8 41 3d 1b fd       	callq  0xfd1b3d58
  17:	85 ed                	test   %ebp,%ebp
  19:	74 2c                	je     0x47
  1b:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  22:	00 00 00
  25:	0f 1f 00             	nopl   (%rax)
  28:	ff cd                	dec    %ebp
* 2a:	4c 89 33             	mov    %r14,(%rbx) <-- trapping instruction
  2d:	85 ed                	test   %ebp,%ebp
  2f:	74 0b                	je     0x3c
  31:	48 83 c3 08          	add    $0x8,%rbx
  35:	e8 0e 39 1b fd       	callq  0xfd1b3948
  3a:	eb ec                	jmp    0x28
  3c:	e8                   	.byte 0xe8
  3d:	07                   	(bad)
  3e:	39 1b                	cmp    %ebx,(%rbx)

Crashes (26):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-smack-root 2021/12/09 18:25 upstream 2a987e65025e b54aa474 .config log report syz C BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-smack-root 2021/12/28 02:44 upstream a8ad9a2434dc 6b3c5e64 .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-smack-root 2021/12/20 09:00 upstream a7904a538933 021b36cb .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-smack-root 2021/12/13 00:50 upstream 90d9fbc16b69 49ca1f59 .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-smack-root 2021/12/10 20:57 upstream b8a98b6bf66a 49ca1f59 .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-smack-root 2021/12/09 13:31 upstream 2a987e65025e b54aa474 .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-selinux-root 2021/11/05 23:51 upstream fe91c4725aee 4c1be0be .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-smack-root 2021/11/03 16:28 upstream dcd68326d29b 4c1be0be .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-selinux-root 2021/10/30 19:48 upstream 119c85055d86 098b5d53 .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-smack-root 2021/09/17 19:14 upstream ddf21bd8ab98 70b76c1d .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce 2021/08/02 04:48 upstream d4affd6b6e81 6c236867 .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-smack-root 2021/06/16 01:37 upstream 94f0b2d4a1d0 990d3cbe .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-kasan-gce-386 2021/12/30 10:20 upstream eec4df26e24e 2e49f10d .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-qemu2-arm32 2021/06/23 00:41 upstream bf152b0b41dc aba2b2fb .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-qemu2-arm32 2021/06/10 18:35 upstream bf152b0b41dc 1ba81399 .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-qemu2-arm32 2021/05/10 07:12 upstream bf152b0b41dc bc5434be .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-qemu2-arm32 2021/04/11 07:57 upstream bf152b0b41dc bfeda1b1 .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-qemu2-arm32 2021/04/01 16:56 upstream bf152b0b41dc 6a81331a .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-qemu2-arm32 2021/03/20 18:46 upstream bf152b0b41dc 878fc870 .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-qemu2-arm32 2021/03/17 09:38 upstream 1a4431a5db2b fdb2bb2c .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-upstream-linux-next-kasan-gce-root 2021/10/09 13:05 linux-next 683f29b781ae 838e7e2c .config log report info BUG: unable to handle kernel paging request in bitfill_aligned
ci-qemu-upstream-386 2021/11/27 13:00 upstream 1bff7d7e8c48 63eeac02 .config log report info KASAN: vmalloc-out-of-bounds Write in bitfill_aligned
ci-qemu-upstream-386 2021/11/21 10:34 upstream 923dcc5eb0c1 4eb20a4e .config log report info KASAN: vmalloc-out-of-bounds Write in bitfill_aligned
ci-upstream-kasan-gce-386 2020/11/28 07:23 upstream 99c710c46dfc 486f93ef .config log report info
ci-upstream-kasan-gce-386 2020/11/16 00:47 upstream 0062442ecfef 1bf9a662 .config log report info
ci-upstream-kasan-gce-386 2020/11/13 18:26 upstream 585e5b17b92d e1140d25 .config log report info