memory leak in try_get_usb_function_instance

Status: upstream: reported C repro on 2026/07/30 12:26
Subsystems: usb
Labels: prio:low
[Documentation on labels]
Reported-by: syzbot+eaa106d192c9daf37f95@syzkaller.appspotmail.com
First crash: 4d02h, last: 4d02h
✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision Error
9087164f patching 🏃 memory leak in try_get_usb_function_instance 2026/07/30 14:12 2026/07/30 14:12 c87b8ba9

			
		
3e90f771 assessment-security DenialOfService: ✅ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ memory leak in try_get_usb_function_instance 2026/07/27 00:34 2026/07/27 00:34 2026/07/27 00:42 492bab15

			
		
Discussions (2)
Title Replies (including bot) Last reply
[PATCH] usb: gadget: midi2: remove default configfs groups on teardown 1 (1) 2026/07/30 13:58
[syzbot] [usb?] memory leak in try_get_usb_function_instance 0 (3) 2026/07/30 12:59
Last patch testing requests (2)
Created Duration User Patch Repo Result
2026/07/30 12:59 31m joshua.crofts1@gmail.com patch upstream OK log
2026/07/30 12:42 14m joshua.crofts1@gmail.com patch upstream error

Sample crash report:
2026/07/26 12:12:48 executed programs: 5
BUG: memory leak
unreferenced object 0xffff888112a69c00 (size 512):
  comm "syz.0.19", pid 5954, jiffies 4294946869
  hex dump (first 32 bytes):
    08 9c a6 12 81 88 ff ff 65 70 2e 30 00 00 00 00  ........ep.0....
    00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00  ................
  backtrace (crc 56e62c00):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4597 [inline]
    slab_alloc_node mm/slub.c:4917 [inline]
    __kmalloc_cache_noprof+0x356/0x440 mm/slub.c:5485
    _kmalloc_noprof include/linux/slab.h:988 [inline]
    _kzalloc_noprof include/linux/slab.h:1309 [inline]
    f_midi2_ep_opts_create drivers/usb/gadget/function/f_midi2.c:2504 [inline]
    f_midi2_alloc_inst+0xa0/0x250 drivers/usb/gadget/function/f_midi2.c:2666
    try_get_usb_function_instance+0xb8/0x100 drivers/usb/gadget/functions.c:28
    usb_get_function_instance+0x16/0x70 drivers/usb/gadget/functions.c:44
    function_make+0xf5/0x240 drivers/usb/gadget/configfs.c:626
    configfs_mkdir+0x2e9/0x6f0 fs/configfs/dir.c:1360
    vfs_mkdir+0x16c/0x3a0 fs/namei.c:5276
    filename_mkdirat+0x27c/0x300 fs/namei.c:5309
    __do_sys_mkdirat fs/namei.c:5330 [inline]
    __se_sys_mkdirat fs/namei.c:5327 [inline]
    __x64_sys_mkdirat+0x39/0x60 fs/namei.c:5327
    do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
    do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94
    entry_SYSCALL_64_after_hwframe+0x77/0x7f

BUG: memory leak
unreferenced object 0xffff8881105a3f00 (size 256):
  comm "syz.0.19", pid 5954, jiffies 4294946869
  hex dump (first 32 bytes):
    08 3f 5a 10 81 88 ff ff 62 6c 6f 63 6b 2e 30 00  .?Z.....block.0.
    00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00  ................
  backtrace (crc f7f284e3):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4597 [inline]
    slab_alloc_node mm/slub.c:4917 [inline]
    __kmalloc_cache_noprof+0x356/0x440 mm/slub.c:5485
    _kmalloc_noprof include/linux/slab.h:988 [inline]
    _kzalloc_noprof include/linux/slab.h:1309 [inline]
    f_midi2_block_opts_create+0x82/0x120 drivers/usb/gadget/function/f_midi2.c:2342
    f_midi2_alloc_inst+0xe9/0x250 drivers/usb/gadget/function/f_midi2.c:2673
    try_get_usb_function_instance+0xb8/0x100 drivers/usb/gadget/functions.c:28
    usb_get_function_instance+0x16/0x70 drivers/usb/gadget/functions.c:44
    function_make+0xf5/0x240 drivers/usb/gadget/configfs.c:626
    configfs_mkdir+0x2e9/0x6f0 fs/configfs/dir.c:1360
    vfs_mkdir+0x16c/0x3a0 fs/namei.c:5276
    filename_mkdirat+0x27c/0x300 fs/namei.c:5309
    __do_sys_mkdirat fs/namei.c:5330 [inline]
    __se_sys_mkdirat fs/namei.c:5327 [inline]
    __x64_sys_mkdirat+0x39/0x60 fs/namei.c:5327
    do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
    do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94
    entry_SYSCALL_64_after_hwframe+0x77/0x7f

connection error: failed to recv *flatrpc.ExecutorMessageRawT: EOF

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/07/26 12:13 upstream 3dab139d4795 492bab15 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-gce-leak memory leak in try_get_usb_function_instance
* Struck through repros no longer work on HEAD.