KASAN: slab-out-of-bounds Read in fbcon_prepare_logo

Status: upstream: reported on 2026/07/31 22:44
Reported-by: syzbot+d4e0b928d29b879239ae@syzkaller.appspotmail.com
First crash: 72d, last: 21h31m
▶ ▼ Similar bugs (3)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 KASAN: slab-out-of-bounds Read in fbcon_prepare_logo 17 syz, C 7 5d03h 72d 0/3 upstream: reported C repro on 2026/07/31 21:36
upstream KASAN: slab-out-of-bounds Read in fbcon_prepare_logo prio:high fbdev 19 syz, C 1873 31d 594d 27/29 upstream: reported C repro on 2025/02/25 07:06
linux-6.1 KASAN: slab-out-of-bounds Read in fbcon_prepare_logo 17 2 46d 46d 0/3 upstream: reported on 2026/08/26 21:27

Sample crash report:
Console: switching to colour VGA+ 80x25
mode:   vkmsdrmfb
visual: 2
res:    1024x10-32
==================================================================
BUG: KASAN: slab-out-of-bounds in scr_memcpyw include/linux/vt_buffer.h:49 [inline]
BUG: KASAN: slab-out-of-bounds in fbcon_prepare_logo+0x4e2/0xa70 drivers/video/fbdev/core/fbcon.c:602
Read of size 256 at addr ffff8880632af860 by task syz.0.800/9080

CPU: 1 PID: 9080 Comm: syz.0.800 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/16/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:364 [inline]
 print_report+0xa8/0x210 mm/kasan/report.c:468
 kasan_report+0x117/0x150 mm/kasan/report.c:581
 check_region_inline mm/kasan/generic.c:-1 [inline]
 kasan_check_range+0x241/0x290 mm/kasan/generic.c:187
 __asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105
 scr_memcpyw include/linux/vt_buffer.h:49 [inline]
 fbcon_prepare_logo+0x4e2/0xa70 drivers/video/fbdev/core/fbcon.c:602
 fbcon_init+0x1380/0x2460 drivers/video/fbdev/core/fbcon.c:1137
 visual_init+0x2dd/0x650 drivers/tty/vt/vt.c:1023
 do_bind_con_driver+0x859/0x1030 drivers/tty/vt/vt.c:3645
 vt_bind drivers/tty/vt/vt.c:3801 [inline]
 store_bind+0x798/0xa20 drivers/tty/vt/vt.c:3873
 kernfs_fop_write_iter+0x3a4/0x520 fs/kernfs/file.c:352
 call_write_iter include/linux/fs.h:2018 [inline]
 new_sync_write fs/read_write.c:491 [inline]
 vfs_write+0x474/0x9a0 fs/read_write.c:584
 ksys_write+0x151/0x260 fs/read_write.c:637
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f455c99e1d9
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 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 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f455d858028 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f455cc25fa0 RCX: 00007f455c99e1d9
RDX: 0000000000000001 RSI: 0000200000000280 RDI: 0000000000000003
RBP: 00007f455ca35888 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f455cc26038 R14: 00007f455cc25fa0 R15: 00007ffc0a7c7738
 </TASK>

Allocated by task 7611:
 kasan_save_stack mm/kasan/common.c:46 [inline]
 kasan_set_track+0x4e/0x70 mm/kasan/common.c:53
 ____kasan_kmalloc mm/kasan/common.c:375 [inline]
 __kasan_kmalloc+0x8f/0xa0 mm/kasan/common.c:384
 kasan_kmalloc include/linux/kasan.h:198 [inline]
 __do_kmalloc_node mm/slab_common.c:1007 [inline]
 __kmalloc+0xb7/0x240 mm/slab_common.c:1020
 kmalloc include/linux/slab.h:604 [inline]
 kzalloc include/linux/slab.h:721 [inline]
 fib_create_info+0xa8d/0x2390 net/ipv4/fib_semantics.c:1490
 fib_table_insert+0xc6/0x1b00 net/ipv4/fib_trie.c:1217
 fib_magic+0x2ce/0x3b0 net/ipv4/fib_frontend.c:1118
 fib_add_ifaddr+0x3e6/0x5d0 net/ipv4/fib_frontend.c:1162
 fib_netdev_event+0x389/0x490 net/ipv4/fib_frontend.c:1500
 notifier_call_chain+0x18f/0x380 kernel/notifier.c:93
 call_netdevice_notifiers_extack net/core/dev.c:2077 [inline]
 call_netdevice_notifiers net/core/dev.c:2091 [inline]
 __dev_notify_flags+0x1ab/0x310 net/core/dev.c:8786
 dev_change_flags+0xde/0x1a0 net/core/dev.c:8824
 do_setlink+0xb69/0x3f40 net/core/rtnetlink.c:2917
 __rtnl_newlink net/core/rtnetlink.c:3715 [inline]
 rtnl_newlink+0x1848/0x2170 net/core/rtnetlink.c:3762
 rtnetlink_rcv_msg+0x843/0xf90 net/core/rtnetlink.c:6484
 netlink_rcv_skb+0x235/0x4c0 net/netlink/af_netlink.c:2550
 netlink_unicast_kernel net/netlink/af_netlink.c:1320 [inline]
 netlink_unicast+0x7b1/0x930 net/netlink/af_netlink.c:1346
 netlink_sendmsg+0x8d0/0xbf0 net/netlink/af_netlink.c:1899
 sock_sendmsg_nosec net/socket.c:730 [inline]
 __sock_sendmsg net/socket.c:745 [inline]
 __sys_sendto+0x4a9/0x6b0 net/socket.c:2201
 __do_sys_sendto net/socket.c:2213 [inline]
 __se_sys_sendto net/socket.c:2209 [inline]
 __x64_sys_sendto+0xde/0xf0 net/socket.c:2209
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2

The buggy address belongs to the object at ffff8880632af800
 which belongs to the cache kmalloc-256 of size 256
The buggy address is located 96 bytes inside of
 allocated 248-byte region [ffff8880632af800, ffff8880632af8f8)

The buggy address belongs to the physical page:
page:ffffea00018cab80 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x632ae
head:ffffea00018cab80 order:1 entire_mapcount:0 nr_pages_mapped:0 pincount:0
anon flags: 0xfff00000000840(slab|head|node=0|zone=1|lastcpupid=0x7ff)
page_type: 0xffffffff()
raw: 00fff00000000840 ffff888018841b40 0000000000000000 dead000000000001
raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 1, migratetype Unmovable, gfp_mask 0x1d20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC|__GFP_HARDWALL), pid 7611, tgid 7611 (syz-executor), ts 266643240824, free_ts 266214657471
 set_page_owner include/linux/page_owner.h:31 [inline]
 post_alloc_hook+0x1c1/0x200 mm/page_alloc.c:1582
 prep_new_page mm/page_alloc.c:1589 [inline]
 get_page_from_freelist+0x2181/0x22a0 mm/page_alloc.c:3221
 __alloc_pages+0x1f0/0x460 mm/page_alloc.c:4501
 alloc_slab_page+0x5d/0x180 mm/slub.c:1881
 allocate_slab mm/slub.c:2028 [inline]
 new_slab+0x87/0x2d0 mm/slub.c:2081
 ___slab_alloc+0xc5c/0x12f0 mm/slub.c:3253
 __slab_alloc mm/slub.c:3339 [inline]
 __slab_alloc_node mm/slub.c:3392 [inline]
 slab_alloc_node mm/slub.c:3485 [inline]
 __kmem_cache_alloc_node+0x11f/0x250 mm/slub.c:3534
 __do_kmalloc_node mm/slab_common.c:1006 [inline]
 __kmalloc+0xa7/0x240 mm/slab_common.c:1020
 kmalloc include/linux/slab.h:604 [inline]
 kzalloc include/linux/slab.h:721 [inline]
 fib_create_info+0xa8d/0x2390 net/ipv4/fib_semantics.c:1490
 fib_table_insert+0xc6/0x1b00 net/ipv4/fib_trie.c:1217
 fib_magic+0x2ce/0x3b0 net/ipv4/fib_frontend.c:1118
 fib_add_ifaddr+0x139/0x5d0 net/ipv4/fib_frontend.c:1140
 fib_netdev_event+0x389/0x490 net/ipv4/fib_frontend.c:1500
 notifier_call_chain+0x18f/0x380 kernel/notifier.c:93
 call_netdevice_notifiers_extack net/core/dev.c:2077 [inline]
 call_netdevice_notifiers net/core/dev.c:2091 [inline]
 __dev_notify_flags+0x1ab/0x310 net/core/dev.c:8786
 dev_change_flags+0xde/0x1a0 net/core/dev.c:8824
page last free stack trace:
 reset_page_owner include/linux/page_owner.h:24 [inline]
 free_pages_prepare mm/page_alloc.c:1182 [inline]
 free_unref_page_prepare+0x7d7/0x8f0 mm/page_alloc.c:2366
 free_unref_page+0x32/0x2e0 mm/page_alloc.c:2459
 discard_slab mm/slub.c:2127 [inline]
 __unfreeze_partials+0x1cf/0x210 mm/slub.c:2667
 put_cpu_partial+0x17c/0x250 mm/slub.c:2743
 __slab_free+0x319/0x400 mm/slub.c:3700
 qlink_free mm/kasan/quarantine.c:166 [inline]
 qlist_free_all+0x75/0xd0 mm/kasan/quarantine.c:185
 kasan_quarantine_reduce+0x143/0x160 mm/kasan/quarantine.c:292
 __kasan_slab_alloc+0x22/0x80 mm/kasan/common.c:306
 kasan_slab_alloc include/linux/kasan.h:188 [inline]
 slab_post_alloc_hook+0x6a/0x4d0 mm/slab.h:770
 slab_alloc_node mm/slub.c:3495 [inline]
 slab_alloc mm/slub.c:3503 [inline]
 __kmem_cache_alloc_lru mm/slub.c:3510 [inline]
 kmem_cache_alloc_lru+0x175/0x2b0 mm/slub.c:3526
 alloc_inode_sb include/linux/fs.h:2976 [inline]
 sock_alloc_inode+0x28/0xc0 net/socket.c:308
 alloc_inode fs/inode.c:261 [inline]
 new_inode_pseudo+0x63/0x1d0 fs/inode.c:1049
 sock_alloc net/socket.c:634 [inline]
 __sock_create+0x12d/0x940 net/socket.c:1535
 sock_create net/socket.c:1627 [inline]
 __sys_socket_create net/socket.c:1664 [inline]
 __sys_socket+0xd7/0x1b0 net/socket.c:1715
 __do_sys_socket net/socket.c:1729 [inline]
 __se_sys_socket net/socket.c:1727 [inline]
 __x64_sys_socket+0x7a/0x90 net/socket.c:1727
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76

Memory state around the buggy address:
 ffff8880632af780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff8880632af800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff8880632af880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fc
                                                                ^
 ffff8880632af900: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff8880632af980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
==================================================================

Crashes (10):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/10/11 10:38 linux-6.6.y a91a6aa9253c 4f92358f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in fbcon_prepare_logo
2026/10/09 06:58 linux-6.6.y a91a6aa9253c b2734a59 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in fbcon_prepare_logo
2026/10/09 06:37 linux-6.6.y a91a6aa9253c b2734a59 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in fbcon_prepare_logo
2026/10/05 18:17 linux-6.6.y a91a6aa9253c af63e995 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in fbcon_prepare_logo
2026/08/30 19:43 linux-6.6.y a4a971135a2f 2f52988a .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in fbcon_prepare_logo
2026/07/31 22:44 linux-6.6.y a1153c0deb44 7664cf44 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in fbcon_prepare_logo
2026/10/11 10:37 linux-6.6.y a91a6aa9253c 4f92358f .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in fbcon_prepare_logo
2026/10/09 06:37 linux-6.6.y a91a6aa9253c b2734a59 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KFENCE: out-of-bounds read in fbcon_prepare_logo
2026/09/05 16:00 linux-6.6.y 8b73de7da85f 4f7b22a0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in fbcon_prepare_logo
2026/07/31 22:44 linux-6.6.y a1153c0deb44 7664cf44 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in fbcon_prepare_logo
* Struck through repros no longer work on HEAD.