[syzbot] [usb?] memory leak in gadget_bind (2)

1 view
Skip to first unread message

syzbot

unread,
8:03 PM (3 hours ago) 8:03 PM
to gre...@linuxfoundation.org, linux-...@vger.kernel.org, linu...@vger.kernel.org, syzkall...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 06cf61899d64 Merge tag 'x86-urgent-2026-08-08' of git://gi..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=16254079580000
kernel config: https://syzkaller.appspot.com/x/.config?x=6843f8fd2336602d
dashboard link: https://syzkaller.appspot.com/bug?extid=d83b3c49738aea97c0e5
compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11254079580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1048ffb9580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/e023ff6ad9bc/disk-06cf6189.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/ea49527ba5df/vmlinux-06cf6189.xz
kernel image: https://storage.googleapis.com/syzbot-assets/e3d6468d0490/bzImage-06cf6189.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+d83b3c...@syzkaller.appspotmail.com

BUG: memory leak
unreferenced object 0xffff88812a3ea300 (size 128):
comm "syz.0.17", pid 6069, jiffies 4294943967
hex dump (first 32 bytes):
00 a3 3e 2a 81 88 ff ff 00 a3 3e 2a 81 88 ff ff ..>*......>*....
30 40 49 03 81 88 ff ff 00 00 00 00 00 00 00 00 0@I.............
backtrace (crc a802af15):
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]
dummy_alloc_request+0x65/0xf0 drivers/usb/gadget/udc/dummy_hcd.c:693
usb_ep_alloc_request+0x2e/0xd0 drivers/usb/gadget/udc/core.c:197
gadget_bind+0x67/0x230 drivers/usb/gadget/legacy/raw_gadget.c:294
gadget_bind_driver+0xed/0x390 drivers/usb/gadget/udc/core.c:1662
call_driver_probe drivers/base/dd.c:628 [inline]
really_probe+0x12f/0x3a0 drivers/base/dd.c:706
__driver_probe_device+0xe9/0x1a0 drivers/base/dd.c:868
driver_probe_device+0x28/0xf0 drivers/base/dd.c:898
__driver_attach drivers/base/dd.c:1292 [inline]
__driver_attach+0x10a/0x200 drivers/base/dd.c:1232
bus_for_each_dev+0xb8/0x120 drivers/base/bus.c:383
bus_add_driver+0x122/0x280 drivers/base/bus.c:763
driver_register+0xb1/0x140 drivers/base/driver.c:174
usb_gadget_register_driver_owner+0x69/0xe0 drivers/usb/gadget/udc/core.c:1752
raw_ioctl_run drivers/usb/gadget/legacy/raw_gadget.c:596 [inline]
raw_ioctl+0xad7/0x10c0 drivers/usb/gadget/legacy/raw_gadget.c:1307
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl fs/ioctl.c:583 [inline]
__x64_sys_ioctl+0xf4/0x140 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94

BUG: memory leak
unreferenced object 0xffff888127815480 (size 128):
comm "syz.6.23", pid 6074, jiffies 4294944011
hex dump (first 32 bytes):
80 54 81 27 81 88 ff ff 80 54 81 27 81 88 ff ff .T.'.....T.'....
30 40 49 03 81 88 ff ff 00 00 00 00 00 00 00 00 0@I.............
backtrace (crc fd9d10f8):
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]
dummy_alloc_request+0x65/0xf0 drivers/usb/gadget/udc/dummy_hcd.c:693
usb_ep_alloc_request+0x2e/0xd0 drivers/usb/gadget/udc/core.c:197
gadget_bind+0x67/0x230 drivers/usb/gadget/legacy/raw_gadget.c:294
gadget_bind_driver+0xed/0x390 drivers/usb/gadget/udc/core.c:1662
call_driver_probe drivers/base/dd.c:628 [inline]
really_probe+0x12f/0x3a0 drivers/base/dd.c:706
__driver_probe_device+0xe9/0x1a0 drivers/base/dd.c:868
driver_probe_device+0x28/0xf0 drivers/base/dd.c:898
__device_attach_driver+0x10f/0x170 drivers/base/dd.c:1026
bus_for_each_drv+0xd2/0x130 drivers/base/bus.c:500
__device_attach+0xf9/0x290 drivers/base/dd.c:1098
device_initial_probe+0x6f/0x80 drivers/base/dd.c:1153
bus_probe_device+0x3e/0xb0 drivers/base/bus.c:620
device_add+0x99f/0xc80 drivers/base/core.c:3772
usb_add_gadget+0x221/0x330 drivers/usb/gadget/udc/core.c:1461
usb_add_gadget_udc_release drivers/usb/gadget/udc/core.c:1517 [inline]
usb_add_gadget_udc+0x6e/0xb0 drivers/usb/gadget/udc/core.c:1564

BUG: memory leak
unreferenced object 0xffff88812a6d5600 (size 128):
comm "syz.5.22", pid 6077, jiffies 4294944018
hex dump (first 32 bytes):
00 56 6d 2a 81 88 ff ff 00 56 6d 2a 81 88 ff ff .Vm*.....Vm*....
30 40 49 03 81 88 ff ff b8 4c 34 12 81 88 ff ff 0@I......L4.....
backtrace (crc e492b8c):
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]
dummy_alloc_request+0x65/0xf0 drivers/usb/gadget/udc/dummy_hcd.c:693
usb_ep_alloc_request+0x2e/0xd0 drivers/usb/gadget/udc/core.c:197
gadget_bind+0x67/0x230 drivers/usb/gadget/legacy/raw_gadget.c:294
gadget_bind_driver+0xed/0x390 drivers/usb/gadget/udc/core.c:1662
call_driver_probe drivers/base/dd.c:628 [inline]
really_probe+0x12f/0x3a0 drivers/base/dd.c:706
__driver_probe_device+0xe9/0x1a0 drivers/base/dd.c:868
driver_probe_device+0x28/0xf0 drivers/base/dd.c:898
__device_attach_driver+0x10f/0x170 drivers/base/dd.c:1026
bus_for_each_drv+0xd2/0x130 drivers/base/bus.c:500
__device_attach+0xf9/0x290 drivers/base/dd.c:1098
device_initial_probe+0x6f/0x80 drivers/base/dd.c:1153
bus_probe_device+0x3e/0xb0 drivers/base/bus.c:620
device_add+0x99f/0xc80 drivers/base/core.c:3772
usb_add_gadget+0x221/0x330 drivers/usb/gadget/udc/core.c:1461
usb_add_gadget_udc_release drivers/usb/gadget/udc/core.c:1517 [inline]
usb_add_gadget_udc+0x6e/0xb0 drivers/usb/gadget/udc/core.c:1564

BUG: memory leak
unreferenced object 0xffff88812a6d5080 (size 128):
comm "syz.0.26", pid 6083, jiffies 4294944267
hex dump (first 32 bytes):
80 50 6d 2a 81 88 ff ff 80 50 6d 2a 81 88 ff ff .Pm*.....Pm*....
30 40 49 03 81 88 ff ff 00 00 00 00 00 00 00 00 0@I.............
backtrace (crc b6755c66):
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]
dummy_alloc_request+0x65/0xf0 drivers/usb/gadget/udc/dummy_hcd.c:693
usb_ep_alloc_request+0x2e/0xd0 drivers/usb/gadget/udc/core.c:197
gadget_bind+0x67/0x230 drivers/usb/gadget/legacy/raw_gadget.c:294
gadget_bind_driver+0xed/0x390 drivers/usb/gadget/udc/core.c:1662
call_driver_probe drivers/base/dd.c:628 [inline]
really_probe+0x12f/0x3a0 drivers/base/dd.c:706
__driver_probe_device+0xe9/0x1a0 drivers/base/dd.c:868
driver_probe_device+0x28/0xf0 drivers/base/dd.c:898
__driver_attach drivers/base/dd.c:1292 [inline]
__driver_attach+0x10a/0x200 drivers/base/dd.c:1232
bus_for_each_dev+0xb8/0x120 drivers/base/bus.c:383
bus_add_driver+0x122/0x280 drivers/base/bus.c:763
driver_register+0xb1/0x140 drivers/base/driver.c:174
usb_gadget_register_driver_owner+0x69/0xe0 drivers/usb/gadget/udc/core.c:1752
raw_ioctl_run drivers/usb/gadget/legacy/raw_gadget.c:596 [inline]
raw_ioctl+0xad7/0x10c0 drivers/usb/gadget/legacy/raw_gadget.c:1307
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl fs/ioctl.c:583 [inline]
__x64_sys_ioctl+0xf4/0x140 fs/ioctl.c:583
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xf8/0x610 arch/x86/entry/syscall_64.c:94

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


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages