================================================================== BUG: KASAN: use-after-free in string_nocheck lib/vsprintf.c:642 [inline] BUG: KASAN: use-after-free in string+0x20f/0x2a0 lib/vsprintf.c:724 Read of size 1 at addr ffff8881057d23c0 by task syz.1.101/767 CPU: 0 PID: 767 Comm: syz.1.101 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Call Trace: __dump_stack+0x21/0x30 lib/dump_stack.c:88 dump_stack_lvl+0x110/0x170 lib/dump_stack.c:106 print_address_description+0x7f/0x2c0 mm/kasan/report.c:248 __kasan_report mm/kasan/report.c:427 [inline] kasan_report+0x10f/0x150 mm/kasan/report.c:444 __asan_report_load1_noabort+0x14/0x20 mm/kasan/report_generic.c:306 string_nocheck lib/vsprintf.c:642 [inline] string+0x20f/0x2a0 lib/vsprintf.c:724 vsnprintf+0xec5/0x1990 lib/vsprintf.c:2811 seq_vprintf fs/seq_file.c:407 [inline] seq_printf+0x185/0x280 fs/seq_file.c:422 show_interrupts+0x91d/0xa90 kernel/irq/proc.c:527 traverse+0x1f2/0x590 fs/seq_file.c:111 seq_read_iter+0xbcd/0xce0 fs/seq_file.c:195 proc_reg_read_iter+0x1be/0x290 fs/proc/inode.c:300 do_iter_readv_writev+0x477/0x5f0 fs/read_write.c:-1 do_iter_read+0x1fa/0x780 fs/read_write.c:790 vfs_readv fs/read_write.c:910 [inline] do_preadv+0x233/0x390 fs/read_write.c:1002 __do_sys_preadv fs/read_write.c:1052 [inline] __se_sys_preadv fs/read_write.c:1047 [inline] __x64_sys_preadv+0x9e/0xb0 fs/read_write.c:1047 x64_sys_call+0x4f8/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:296 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 RIP: 0033:0x7f35a84d11d9 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:00007f35a6f2a028 EFLAGS: 00000246 ORIG_RAX: 0000000000000127 RAX: ffffffffffffffda RBX: 00007f35a8758fa0 RCX: 00007f35a84d11d9 RDX: 0000000000000001 RSI: 0000200000000140 RDI: 000000000000000c RBP: 00007f35a8568888 R08: 0000000000000004 R09: 0000000000000000 R10: 000000000000ffff R11: 0000000000000246 R12: 0000000000000000 R13: 00007f35a8759038 R14: 00007f35a8758fa0 R15: 00007ffd5f984028 Allocated by task 1: kasan_save_stack mm/kasan/common.c:38 [inline] kasan_set_track mm/kasan/common.c:45 [inline] set_alloc_info mm/kasan/common.c:433 [inline] ____kasan_kmalloc mm/kasan/common.c:512 [inline] __kasan_kmalloc+0xd4/0x100 mm/kasan/common.c:521 kasan_kmalloc include/linux/kasan.h:227 [inline] __kmalloc_track_caller+0x13c/0x2c0 mm/slub.c:4959 kvasprintf+0xe3/0x1a0 lib/kasprintf.c:25 kasprintf+0xdf/0x130 lib/kasprintf.c:59 uart_add_one_port+0x3aa/0x1b60 drivers/tty/serial/serial_core.c:2962 serial8250_register_8250_port+0x1302/0x1a90 drivers/tty/serial/8250/8250_core.c:1087 serial_pnp_probe+0x522/0x710 drivers/tty/serial/8250/8250_pnp.c:482 pnp_device_probe+0x2d0/0x4b0 drivers/pnp/driver.c:111 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x27d/0x970 drivers/base/dd.c:595 __driver_probe_device+0x193/0x270 drivers/base/dd.c:755 driver_probe_device+0x54/0x3e0 drivers/base/dd.c:785 __driver_attach+0x40e/0x550 drivers/base/dd.c:1164 bus_for_each_dev+0x17b/0x1f0 drivers/base/bus.c:303 driver_attach+0x42/0x50 drivers/base/dd.c:1181 bus_add_driver+0x322/0x560 drivers/base/bus.c:620 driver_register+0x335/0x440 drivers/base/driver.c:240 pnp_register_driver+0x7d/0x90 drivers/pnp/driver.c:273 serial8250_pnp_init+0x15/0x20 drivers/tty/serial/8250/8250_pnp.c:537 serial8250_init+0xa0/0x170 drivers/tty/serial/8250/8250_core.c:1183 do_one_initcall+0x1fc/0x5a0 init/main.c:1279 do_initcall_level+0x174/0x2e0 init/main.c:1352 do_initcalls+0x50/0xa0 init/main.c:1368 do_basic_setup+0x81/0x90 init/main.c:1387 kernel_init_freeable+0x298/0x3d0 init/main.c:1592 kernel_init+0x1d/0x1b0 init/main.c:1483 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287 Freed by task 765: kasan_save_stack mm/kasan/common.c:38 [inline] kasan_set_track+0x4a/0x70 mm/kasan/common.c:45 kasan_set_free_info+0x23/0x40 mm/kasan/generic.c:370 ____kasan_slab_free+0x125/0x160 mm/kasan/common.c:365 __kasan_slab_free+0x11/0x20 mm/kasan/common.c:373 kasan_slab_free include/linux/kasan.h:193 [inline] slab_free_hook mm/slub.c:1728 [inline] slab_free_freelist_hook+0xc2/0x190 mm/slub.c:1754 slab_free mm/slub.c:3526 [inline] kfree+0xc4/0x270 mm/slub.c:4588 uart_remove_one_port+0x39d/0x760 drivers/tty/serial/serial_core.c:3085 serial8250_unregister_port+0xad/0x260 drivers/tty/serial/8250/8250_core.c:1146 serial_pnp_remove+0x6b/0x90 drivers/tty/serial/8250/8250_pnp.c:500 pnp_device_remove+0x75/0x250 drivers/pnp/driver.c:133 __device_release_driver drivers/base/dd.c:1227 [inline] device_release_driver_internal+0x4e8/0x7c0 drivers/base/dd.c:1262 device_driver_detach+0x3b/0x40 drivers/base/dd.c:1298 unbind_store+0x2e5/0x300 drivers/base/bus.c:193 drv_attr_store+0x79/0xa0 drivers/base/bus.c:77 sysfs_kf_write+0x129/0x150 fs/sysfs/file.c:143 kernfs_fop_write_iter+0x2bd/0x400 fs/kernfs/file.c:296 call_write_iter include/linux/fs.h:2218 [inline] new_sync_write fs/read_write.c:507 [inline] vfs_write+0x831/0xfd0 fs/read_write.c:594 ksys_write+0x14a/0x260 fs/read_write.c:647 __do_sys_write fs/read_write.c:659 [inline] __se_sys_write fs/read_write.c:656 [inline] __x64_sys_write+0x7b/0x90 fs/read_write.c:656 x64_sys_call+0x8ef/0x9a0 arch/x86/include/generated/asm/syscalls_64.h:2 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 The buggy address belongs to the object at ffff8881057d23c0 which belongs to the cache kmalloc-8 of size 8 The buggy address is located 0 bytes inside of 8-byte region [ffff8881057d23c0, ffff8881057d23c8) The buggy address belongs to the page: page:ffffea000415f480 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1057d2 flags: 0x4000000000000200(slab|zone=1) raw: 4000000000000200 0000000000000000 0000000100000001 ffff888100042300 raw: 0000000000000000 0000000000660066 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x12cc0(GFP_KERNEL|__GFP_NOWARN|__GFP_NORETRY), pid 1, ts 1652746635, free_ts 0 set_page_owner include/linux/page_owner.h:33 [inline] post_alloc_hook+0x192/0x1b0 mm/page_alloc.c:2607 prep_new_page+0x1c/0x110 mm/page_alloc.c:2613 get_page_from_freelist+0x2c3a/0x2cd0 mm/page_alloc.c:4487 __alloc_pages+0x1a2/0x460 mm/page_alloc.c:5824 alloc_slab_page mm/slub.c:-1 [inline] allocate_slab mm/slub.c:1937 [inline] new_slab+0xa0/0x4d0 mm/slub.c:2000 ___slab_alloc+0x3ac/0x840 mm/slub.c:3033 __slab_alloc+0x49/0x90 mm/slub.c:3120 slab_alloc_node mm/slub.c:3211 [inline] slab_alloc mm/slub.c:3255 [inline] __kmalloc_track_caller+0x169/0x2c0 mm/slub.c:4954 kstrdup mm/util.c:64 [inline] kstrdup_const+0x55/0x90 mm/util.c:87 __kernfs_new_node+0xa6/0x670 fs/kernfs/dir.c:589 kernfs_new_node+0x150/0x260 fs/kernfs/dir.c:669 kernfs_create_dir_ns+0x47/0x130 fs/kernfs/dir.c:1017 sysfs_create_dir_ns+0x128/0x290 fs/sysfs/dir.c:59 create_dir lib/kobject.c:89 [inline] kobject_add_internal+0x774/0xde0 lib/kobject.c:263 kobject_add_varg lib/kobject.c:398 [inline] kobject_add+0x165/0x230 lib/kobject.c:450 device_add+0x398/0xe90 drivers/base/core.c:3357 page_owner free stack trace missing Memory state around the buggy address: ffff8881057d2280: 06 fc fc fc fc 06 fc fc fc fc 07 fc fc fc fc 05 ffff8881057d2300: fc fc fc fc 05 fc fc fc fc 05 fc fc fc fc 05 fc >ffff8881057d2380: fc fc fc 05 fc fc fc fc fa fc fc fc fc 00 fc fc ^ ffff8881057d2400: fc fc 05 fc fc fc fc 05 fc fc fc fc 05 fc fc fc ffff8881057d2480: fc 06 fc fc fc fc 04 fc fc fc fc 05 fc fc fc fc ==================================================================