================================================================== BUG: KASAN: use-after-free in fbcon_cursor+0x4e0/0x650 drivers/video/fbdev/core/fbcon.c:1389 Read of size 2 at addr ffff888218f8d222 by task syz-executor.3/17468 CPU: 0 PID: 17468 Comm: syz-executor.3 Not tainted 5.7.0-rc2-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+0x188/0x20d lib/dump_stack.c:118 print_address_description.constprop.0.cold+0xd3/0x315 mm/kasan/report.c:382 __kasan_report.cold+0x35/0x4d mm/kasan/report.c:511 kasan_report+0x33/0x50 mm/kasan/common.c:625 fbcon_cursor+0x4e0/0x650 drivers/video/fbdev/core/fbcon.c:1389 fbcon_scrolldelta+0x669/0x11f0 drivers/video/fbdev/core/fbcon.c:2886 fbcon_set_origin+0x3c/0x50 drivers/video/fbdev/core/fbcon.c:2937 set_origin+0xe7/0x3e0 drivers/tty/vt/vt.c:920 vc_do_resize+0x9df/0x1340 drivers/tty/vt/vt.c:1288 vt_ioctl+0x10d6/0x26b0 drivers/tty/vt/vt_ioctl.c:850 tty_ioctl+0xedc/0x1440 drivers/tty/tty_io.c:2656 vfs_ioctl fs/ioctl.c:47 [inline] ksys_ioctl+0x11a/0x180 fs/ioctl.c:763 __do_sys_ioctl fs/ioctl.c:772 [inline] __se_sys_ioctl fs/ioctl.c:770 [inline] __x64_sys_ioctl+0x6f/0xb0 fs/ioctl.c:770 do_syscall_64+0xf6/0x7d0 arch/x86/entry/common.c:295 entry_SYSCALL_64_after_hwframe+0x49/0xb3 RIP: 0033:0x45c829 Code: 0d b7 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 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 0f 83 db b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007fc0d4c5fc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00000000004e9280 RCX: 000000000045c829 RDX: 00000000200000c0 RSI: 0000000000005609 RDI: 0000000000000004 RBP: 000000000078bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 000000000000041f R14: 00000000004c6bf3 R15: 00007fc0d4c606d4 Allocated by task 1: save_stack+0x1b/0x40 mm/kasan/common.c:49 set_track mm/kasan/common.c:57 [inline] __kasan_kmalloc mm/kasan/common.c:495 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:468 __do_kmalloc mm/slab.c:3656 [inline] __kmalloc+0x161/0x7a0 mm/slab.c:3665 kmalloc include/linux/slab.h:560 [inline] kzalloc include/linux/slab.h:669 [inline] vc_do_resize+0x245/0x1340 drivers/tty/vt/vt.c:1211 fbcon_init+0x1227/0x1ab0 drivers/video/fbdev/core/fbcon.c:1218 visual_init+0x305/0x5c0 drivers/tty/vt/vt.c:1063 do_bind_con_driver+0x536/0x890 drivers/tty/vt/vt.c:3560 do_take_over_console+0x453/0x5b0 drivers/tty/vt/vt.c:4140 do_fbcon_takeover+0x10b/0x210 drivers/video/fbdev/core/fbcon.c:588 fbcon_fb_registered+0x26b/0x340 drivers/video/fbdev/core/fbcon.c:3261 do_register_framebuffer drivers/video/fbdev/core/fbmem.c:1664 [inline] register_framebuffer+0x56e/0x980 drivers/video/fbdev/core/fbmem.c:1832 vga16fb_probe+0x6da/0x7ea drivers/video/fbdev/vga16fb.c:1373 platform_drv_probe+0x87/0x140 drivers/base/platform.c:733 really_probe+0x281/0x6d0 drivers/base/dd.c:527 driver_probe_device+0x104/0x210 drivers/base/dd.c:701 __device_attach_driver+0x1c2/0x220 drivers/base/dd.c:808 bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431 __device_attach+0x21a/0x360 drivers/base/dd.c:874 bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491 device_add+0x132d/0x1bf0 drivers/base/core.c:2533 platform_device_add+0x348/0x6c0 drivers/base/platform.c:583 vga16fb_init+0x152/0x1c8 drivers/video/fbdev/vga16fb.c:1431 do_one_initcall+0x10a/0x7d0 init/main.c:1157 do_initcall_level init/main.c:1230 [inline] do_initcalls init/main.c:1246 [inline] do_basic_setup init/main.c:1266 [inline] kernel_init_freeable+0x501/0x5ae init/main.c:1450 kernel_init+0xd/0x1bb init/main.c:1357 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 Freed by task 17468: save_stack+0x1b/0x40 mm/kasan/common.c:49 set_track mm/kasan/common.c:57 [inline] kasan_set_free_info mm/kasan/common.c:317 [inline] __kasan_slab_free+0xf7/0x140 mm/kasan/common.c:456 __cache_free mm/slab.c:3426 [inline] kfree+0x109/0x2b0 mm/slab.c:3757 vc_do_resize+0x97f/0x1340 drivers/tty/vt/vt.c:1285 vt_ioctl+0x10d6/0x26b0 drivers/tty/vt/vt_ioctl.c:850 tty_ioctl+0xedc/0x1440 drivers/tty/tty_io.c:2656 vfs_ioctl fs/ioctl.c:47 [inline] ksys_ioctl+0x11a/0x180 fs/ioctl.c:763 __do_sys_ioctl fs/ioctl.c:772 [inline] __se_sys_ioctl fs/ioctl.c:770 [inline] __x64_sys_ioctl+0x6f/0xb0 fs/ioctl.c:770 do_syscall_64+0xf6/0x7d0 arch/x86/entry/common.c:295 entry_SYSCALL_64_after_hwframe+0x49/0xb3 The buggy address belongs to the object at ffff888218f8c000 which belongs to the cache kmalloc-8k of size 8192 The buggy address is located 4642 bytes inside of 8192-byte region [ffff888218f8c000, ffff888218f8e000) The buggy address belongs to the page: page:ffffea000863e300 refcount:1 mapcount:0 mapping:00000000a52d0153 index:0x0 head:ffffea000863e300 order:2 compound_mapcount:0 compound_pincount:0 flags: 0x57ffe0000010200(slab|head) raw: 057ffe0000010200 ffffea000863df08 ffffea00085faf08 ffff8880aa0021c0 raw: 0000000000000000 ffff888218f8c000 0000000100000001 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888218f8d100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888218f8d180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888218f8d200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888218f8d280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888218f8d300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================