================================================================== BUG: KASAN: slab-use-after-free in string_nocheck+0xd8/0x140 lib/vsprintf.c:648 Read of size 1 at addr ffff0000ca5aaa80 by task syz.0.7/4911 CPU: 0 UID: 0 PID: 4911 Comm: syz.0.7 Not tainted syzkaller #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/07/2026 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:499 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 print_address_description+0xb0/0x238 mm/kasan/report.c:378 print_report+0x68/0x84 mm/kasan/report.c:482 kasan_report+0x8c/0xc4 mm/kasan/report.c:595 __asan_report_load1_noabort+0x20/0x2c mm/kasan/report_generic.c:378 string_nocheck+0xd8/0x140 lib/vsprintf.c:648 string+0x8c/0xc8 lib/vsprintf.c:730 vsnprintf+0x880/0xd10 lib/vsprintf.c:2945 snprintf+0xe0/0x130 lib/vsprintf.c:3043 set_dev_info drivers/base/core.c:4984 [inline] dev_vprintk_emit+0x2c0/0x3b4 drivers/base/core.c:4994 dev_printk_emit+0xe0/0x130 drivers/base/core.c:5007 __dev_printk+0x168/0x198 drivers/base/core.c:5019 _dev_err+0xfc/0x158 drivers/base/core.c:5062 raw_process_ep0_io+0x414/0x7c4 drivers/usb/gadget/legacy/raw_gadget.c:730 raw_ioctl_ep0_read drivers/usb/gadget/legacy/raw_gadget.c:782 [inline] raw_ioctl+0xbe8/0x356c drivers/usb/gadget/legacy/raw_gadget.c:1316 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] __se_sys_ioctl fs/ioctl.c:583 [inline] __arm64_sys_ioctl+0x154/0x1cc fs/ioctl.c:583 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x244 arch/arm64/kernel/syscall.c:49 el0_svc_common+0xec/0x23c arch/arm64/kernel/syscall.c:121 do_el0_svc+0x4c/0x5c arch/arm64/kernel/syscall.c:140 el0_svc+0x64/0x260 arch/arm64/kernel/entry-common.c:758 el0t_64_sync_handler+0x44/0x104 arch/arm64/kernel/entry-common.c:777 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:590 Allocated by task 1: kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:78 kasan_save_alloc_info+0x40/0x50 mm/kasan/generic.c:570 poison_kmalloc_redzone mm/kasan/common.c:398 [inline] __kasan_kmalloc+0x9c/0xb4 mm/kasan/common.c:415 kasan_kmalloc include/linux/kasan.h:263 [inline] __do_kmalloc_node mm/slub.c:5334 [inline] __kmalloc_node_track_caller_noprof+0x434/0x6d4 mm/slub.c:5471 kvasprintf+0x110/0x1e4 lib/kasprintf.c:25 kvasprintf_const+0x154/0x2e4 lib/kasprintf.c:49 kobject_set_name_vargs+0xd8/0x1c0 lib/kobject.c:274 dev_set_name+0xe8/0x13c drivers/base/core.c:3560 usb_add_gadget+0x408/0x640 drivers/usb/gadget/udc/core.c:1459 usb_add_gadget_udc_release+0x3c/0x7c drivers/usb/gadget/udc/core.c:1517 usb_add_gadget_udc+0x2c/0x3c drivers/usb/gadget/udc/core.c:1564 dummy_udc_probe+0x5e8/0x6f0 drivers/usb/gadget/udc/dummy_hcd.c:1121 platform_probe+0x100/0x1a4 drivers/base/platform.c:1439 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x29c/0x800 drivers/base/dd.c:706 __driver_probe_device+0x1e0/0x350 drivers/base/dd.c:868 driver_probe_device+0x6c/0x19c drivers/base/dd.c:898 __device_attach_driver+0x198/0x2f8 drivers/base/dd.c:1026 bus_for_each_drv+0x144/0x1dc drivers/base/bus.c:500 __device_attach+0x248/0x390 drivers/base/dd.c:1098 device_initial_probe+0x90/0xc8 drivers/base/dd.c:1153 bus_probe_device+0x58/0x120 drivers/base/bus.c:620 device_add+0x6cc/0x9e0 drivers/base/core.c:3772 platform_device_add+0x3dc/0x6f0 drivers/base/platform.c:762 dummy_hcd_init+0x858/0xb9c drivers/usb/gadget/udc/dummy_hcd.c:2894 do_one_initcall+0x274/0xc38 init/main.c:1347 do_initcall_level+0x12c/0x1c4 init/main.c:1409 do_initcalls+0x70/0xd0 init/main.c:1425 do_basic_setup+0x7c/0x90 init/main.c:1445 kernel_init_freeable+0x268/0x3a8 init/main.c:1658 kernel_init+0x24/0x1dc init/main.c:1548 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:838 Freed by task 4926: kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:78 kasan_save_free_info+0x54/0x6c mm/kasan/generic.c:584 poison_slab_object mm/kasan/common.c:253 [inline] __kasan_slab_free+0x74/0xa4 mm/kasan/common.c:285 kasan_slab_free include/linux/kasan.h:235 [inline] slab_free_hook mm/slub.c:2677 [inline] slab_free mm/slub.c:6377 [inline] kfree+0x188/0x690 mm/slub.c:6692 kfree_const+0x4c/0x5c mm/util.c:46 kobject_cleanup lib/kobject.c:695 [inline] kobject_release lib/kobject.c:720 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x210/0x4b8 lib/kobject.c:737 put_device+0x28/0x40 drivers/base/core.c:3880 usb_put_gadget include/linux/usb/gadget.h:507 [inline] usb_del_gadget_udc+0x28/0x38 drivers/usb/gadget/udc/core.c:1615 dummy_udc_remove+0x54/0x64 drivers/usb/gadget/udc/dummy_hcd.c:1142 platform_remove+0x6c/0x88 drivers/base/platform.c:1456 device_remove+0xc4/0x134 drivers/base/dd.c:616 __device_release_driver drivers/base/dd.c:1349 [inline] device_release_driver_internal+0x124/0x20c drivers/base/dd.c:1372 device_driver_detach+0x48/0x58 drivers/base/dd.c:1408 unbind_store+0xc0/0xf0 drivers/base/bus.c:244 drv_attr_store+0x80/0xa4 drivers/base/bus.c:125 sysfs_kf_write+0xe0/0x108 fs/sysfs/file.c:145 kernfs_fop_write_iter+0x260/0x3b8 fs/kernfs/file.c:345 new_sync_write fs/read_write.c:595 [inline] vfs_write+0x51c/0xa0c fs/read_write.c:687 ksys_write+0x12c/0x228 fs/read_write.c:739 __do_sys_write fs/read_write.c:750 [inline] __se_sys_write fs/read_write.c:747 [inline] __arm64_sys_write+0x84/0x98 fs/read_write.c:747 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x244 arch/arm64/kernel/syscall.c:49 el0_svc_common+0xec/0x23c arch/arm64/kernel/syscall.c:121 do_el0_svc+0x4c/0x5c arch/arm64/kernel/syscall.c:140 el0_svc+0x64/0x260 arch/arm64/kernel/entry-common.c:758 el0t_64_sync_handler+0x44/0x104 arch/arm64/kernel/entry-common.c:777 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:590 The buggy address belongs to the object at ffff0000ca5aaa80 which belongs to the cache kmalloc-16 of size 16 The buggy address is located 0 bytes inside of freed 16-byte region [ffff0000ca5aaa80, ffff0000ca5aaa90) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff0000ca5aa5e0 pfn:0x10a5aa flags: 0x5ffc00000000200(workingset|node=0|zone=2|lastcpupid=0x7ff) page_type: f5(slab) raw: 05ffc00000000200 ffff0000c0001640 fffffdffc32aed90 fffffdffc3282fd0 raw: ffff0000ca5aa5e0 0000000800800057 00000000f5000000 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff0000ca5aa980: fa fb fc fc fa fb fc fc 00 04 fc fc fa fb fc fc ffff0000ca5aaa00: fa fb fc fc fa fb fc fc 00 01 fc fc 00 01 fc fc >ffff0000ca5aaa80: fa fb fc fc fa fb fc fc 00 04 fc fc 00 04 fc fc ^ ffff0000ca5aab00: fa fb fc fc fa fb fc fc fa fb fc fc 00 04 fc fc ffff0000ca5aab80: 00 04 fc fc 00 04 fc fc fa fb fc fc fa fb fc fc ================================================================== gadget @][ó: fail, usb_ep_queue returned -108