================================================================== BUG: KASAN: use-after-free in fbcon_cursor+0x4e0/0x650 drivers/video/fbdev/core/fbcon.c:1386 Read of size 2 at addr ffff888218c6d274 by task syz-executor.5/26450 CPU: 1 PID: 26450 Comm: syz-executor.5 Not tainted 5.6.0-rc3-next-20200228-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:374 __kasan_report.cold+0x1a/0x32 mm/kasan/report.c:506 kasan_report+0xe/0x20 mm/kasan/common.c:618 fbcon_cursor+0x4e0/0x650 drivers/video/fbdev/core/fbcon.c:1386 fbcon_scrolldelta+0x663/0x11f0 drivers/video/fbdev/core/fbcon.c:2883 fbcon_set_origin+0x3c/0x50 drivers/video/fbdev/core/fbcon.c:2934 set_origin+0xe7/0x3e0 drivers/tty/vt/vt.c:920 vc_do_resize+0x9df/0x1340 drivers/tty/vt/vt.c:1276 vt_resize+0xa3/0xe0 drivers/tty/vt/vt.c:1337 tiocswinsz drivers/tty/tty_io.c:2281 [inline] tty_ioctl+0x750/0x1440 drivers/tty/tty_io.c:2580 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/0x790 arch/x86/entry/common.c:295 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45c679 Code: ad b6 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 7b b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007fe892cfcc78 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fe892cfd6d4 RCX: 000000000045c679 RDX: 0000000020000100 RSI: 0000000000005414 RDI: 0000000000000004 RBP: 000000000076bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 000000000000058d R14: 00000000004c8058 R15: 000000000076bf0c 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:492 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:465 __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:1199 fbcon_init+0x1221/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:3545 do_take_over_console+0x453/0x5b0 drivers/tty/vt/vt.c:4125 do_fbcon_takeover+0x10b/0x210 drivers/video/fbdev/core/fbcon.c:588 fbcon_fb_registered+0x26b/0x340 drivers/video/fbdev/core/fbcon.c:3258 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:727 really_probe+0x281/0x6d0 drivers/base/dd.c:551 driver_probe_device+0x104/0x210 drivers/base/dd.c:724 __device_attach_driver+0x1c2/0x220 drivers/base/dd.c:831 bus_for_each_drv+0x162/0x1e0 drivers/base/bus.c:431 __device_attach+0x217/0x360 drivers/base/dd.c:897 bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491 device_add+0x141e/0x1bc0 drivers/base/core.c:2487 platform_device_add+0x348/0x6c0 drivers/base/platform.c:564 vga16fb_init+0x152/0x1c8 drivers/video/fbdev/vga16fb.c:1431 do_one_initcall+0x10a/0x7d0 init/main.c:1155 do_initcall_level init/main.c:1228 [inline] do_initcalls init/main.c:1244 [inline] do_basic_setup init/main.c:1264 [inline] kernel_init_freeable+0x501/0x5ae init/main.c:1449 kernel_init+0xd/0x1bb init/main.c:1355 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 Freed by task 26450: 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:314 [inline] __kasan_slab_free+0xf7/0x140 mm/kasan/common.c:453 __cache_free mm/slab.c:3426 [inline] kfree+0x109/0x2b0 mm/slab.c:3757 vc_do_resize+0x97f/0x1340 drivers/tty/vt/vt.c:1273 vt_resize+0xa3/0xe0 drivers/tty/vt/vt.c:1337 tiocswinsz drivers/tty/tty_io.c:2281 [inline] tty_ioctl+0x750/0x1440 drivers/tty/tty_io.c:2580 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/0x790 arch/x86/entry/common.c:295 entry_SYSCALL_64_after_hwframe+0x49/0xbe The buggy address belongs to the object at ffff888218c6c000 which belongs to the cache kmalloc-8k of size 8192 The buggy address is located 4724 bytes inside of 8192-byte region [ffff888218c6c000, ffff888218c6e000) The buggy address belongs to the page: page:ffffea0008631b00 refcount:1 mapcount:0 mapping:00000000d477f0dd index:0x0 head:ffffea0008631b00 order:2 compound_mapcount:0 compound_pincount:0 flags: 0x57ffe0000010200(slab|head) raw: 057ffe0000010200 ffffea0008630908 ffffea0008625108 ffff8880aa0021c0 raw: 0000000000000000 ffff888218c6c000 0000000100000001 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888218c6d100: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888218c6d180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888218c6d200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888218c6d280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888218c6d300: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================