syzbot


memory leak in v4l2_ctrl_handler_init_class (2)

Status: upstream: reported C repro on 2025/11/25 07:55
Subsystems: media usb
[Documentation on labels]
Reported-by: syzbot+a41b73dce23962a74c72@syzkaller.appspotmail.com
First crash: 6d17h, last: 2d04h
Discussions (4)
Title Replies (including bot) Last reply
[PATCH] media: radio-keene: fix memory leak in error path 2 (2) 2025/11/27 16:56
[PATCH v3] media: radio-keene: fix memory leak in error path 1 (1) 2025/11/26 19:04
[PATCH v2] media: radio-keene: fix memory leak in error path 2 (2) 2025/11/26 17:46
[syzbot] [media?] [usb?] memory leak in v4l2_ctrl_handler_init_class (2) 3 (7) 2025/11/25 21:29
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream memory leak in v4l2_ctrl_handler_init_class usb media 3 C 12 1683d 1736d 20/29 fixed on 2021/11/10 00:50
Last patch testing requests (3)
Created Duration User Patch Repo Result
2025/11/25 20:21 20m ssranevjti@gmail.com patch upstream OK log
2025/11/25 17:03 31m ssranevjti@gmail.com patch upstream OK log
2025/11/25 17:01 16m ssranevjti@gmail.com upstream report log

Sample crash report:
BUG: memory leak
unreferenced object 0xffff88812a347a58 (size 8):
  comm "kworker/0:6", pid 6036, jiffies 4294942408
  hex dump (first 8 bytes):
    80 38 6e 25 81 88 ff ff                          .8n%....
  backtrace (crc f78d2928):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4983 [inline]
    slab_alloc_node mm/slub.c:5288 [inline]
    __do_kmalloc_node mm/slub.c:5649 [inline]
    __kvmalloc_node_noprof+0x51c/0x820 mm/slub.c:7112
    kvmalloc_array_node_noprof include/linux/slab.h:1122 [inline]
    v4l2_ctrl_handler_init_class+0x67/0x90 drivers/media/v4l2-core/v4l2-ctrls-core.c:1625
    usb_keene_probe+0xc4/0x450 drivers/media/radio/radio-keene.c:326
    usb_probe_interface+0x173/0x3f0 drivers/usb/core/driver.c:396
    call_driver_probe drivers/base/dd.c:581 [inline]
    really_probe+0x12f/0x430 drivers/base/dd.c:659
    __driver_probe_device+0xc3/0x1a0 drivers/base/dd.c:801
    driver_probe_device+0x2a/0x120 drivers/base/dd.c:831
    __device_attach_driver+0x10f/0x170 drivers/base/dd.c:959
    bus_for_each_drv+0xcf/0x120 drivers/base/bus.c:462
    __device_attach+0xf9/0x290 drivers/base/dd.c:1031
    bus_probe_device+0xcd/0xe0 drivers/base/bus.c:537
    device_add+0x983/0xc80 drivers/base/core.c:3689
    usb_set_configuration+0x961/0xc70 drivers/usb/core/message.c:2210
    usb_generic_driver_probe+0x83/0xd0 drivers/usb/core/generic.c:250
    usb_probe_device+0x7c/0x1d0 drivers/usb/core/driver.c:291
    call_driver_probe drivers/base/dd.c:581 [inline]
    really_probe+0x12f/0x430 drivers/base/dd.c:659

BUG: memory leak
unreferenced object 0xffff888126df0200 (size 256):
  comm "kworker/0:6", pid 6036, jiffies 4294942408
  hex dump (first 32 bytes):
    00 0b df 26 81 88 ff ff 00 09 df 26 81 88 ff ff  ...&.......&....
    10 02 df 26 81 88 ff ff 10 02 df 26 81 88 ff ff  ...&.......&....
  backtrace (crc 602da918):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4983 [inline]
    slab_alloc_node mm/slub.c:5288 [inline]
    __do_kmalloc_node mm/slub.c:5649 [inline]
    __kvmalloc_node_noprof+0x51c/0x820 mm/slub.c:7112
    v4l2_ctrl_new+0x2bf/0x1340 drivers/media/v4l2-core/v4l2-ctrls-core.c:2031
    v4l2_ctrl_new_std+0x122/0x180 drivers/media/v4l2-core/v4l2-ctrls-core.c:2185
    usb_keene_probe+0xe8/0x450 drivers/media/radio/radio-keene.c:327
    usb_probe_interface+0x173/0x3f0 drivers/usb/core/driver.c:396
    call_driver_probe drivers/base/dd.c:581 [inline]
    really_probe+0x12f/0x430 drivers/base/dd.c:659
    __driver_probe_device+0xc3/0x1a0 drivers/base/dd.c:801
    driver_probe_device+0x2a/0x120 drivers/base/dd.c:831
    __device_attach_driver+0x10f/0x170 drivers/base/dd.c:959
    bus_for_each_drv+0xcf/0x120 drivers/base/bus.c:462
    __device_attach+0xf9/0x290 drivers/base/dd.c:1031
    bus_probe_device+0xcd/0xe0 drivers/base/bus.c:537
    device_add+0x983/0xc80 drivers/base/core.c:3689
    usb_set_configuration+0x961/0xc70 drivers/usb/core/message.c:2210
    usb_generic_driver_probe+0x83/0xd0 drivers/usb/core/generic.c:250
    usb_probe_device+0x7c/0x1d0 drivers/usb/core/driver.c:291

BUG: memory leak
unreferenced object 0xffff888126df0900 (size 256):
  comm "kworker/0:6", pid 6036, jiffies 4294942408
  hex dump (first 32 bytes):
    00 02 df 26 81 88 ff ff 30 f5 8f 24 81 88 ff ff  ...&....0..$....
    10 09 df 26 81 88 ff ff 10 09 df 26 81 88 ff ff  ...&.......&....
  backtrace (crc 84e60c55):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4983 [inline]
    slab_alloc_node mm/slub.c:5288 [inline]
    __do_kmalloc_node mm/slub.c:5649 [inline]
    __kvmalloc_node_noprof+0x51c/0x820 mm/slub.c:7112
    v4l2_ctrl_new+0x2bf/0x1340 drivers/media/v4l2-core/v4l2-ctrls-core.c:2031
    v4l2_ctrl_new_std+0x122/0x180 drivers/media/v4l2-core/v4l2-ctrls-core.c:2185
    handler_new_ref+0x352/0x450 drivers/media/v4l2-core/v4l2-ctrls-core.c:1772
    v4l2_ctrl_new+0x67d/0x1340 drivers/media/v4l2-core/v4l2-ctrls-core.c:2114
    v4l2_ctrl_new_std+0x122/0x180 drivers/media/v4l2-core/v4l2-ctrls-core.c:2185
    usb_keene_probe+0xe8/0x450 drivers/media/radio/radio-keene.c:327
    usb_probe_interface+0x173/0x3f0 drivers/usb/core/driver.c:396
    call_driver_probe drivers/base/dd.c:581 [inline]
    really_probe+0x12f/0x430 drivers/base/dd.c:659
    __driver_probe_device+0xc3/0x1a0 drivers/base/dd.c:801
    driver_probe_device+0x2a/0x120 drivers/base/dd.c:831
    __device_attach_driver+0x10f/0x170 drivers/base/dd.c:959
    bus_for_each_drv+0xcf/0x120 drivers/base/bus.c:462
    __device_attach+0xf9/0x290 drivers/base/dd.c:1031
    bus_probe_device+0xcd/0xe0 drivers/base/bus.c:537
    device_add+0x983/0xc80 drivers/base/core.c:3689

BUG: memory leak
unreferenced object 0xffff8881256e3400 (size 64):
  comm "kworker/0:6", pid 6036, jiffies 4294942408
  hex dump (first 32 bytes):
    40 33 6e 25 81 88 ff ff 40 f5 8f 24 81 88 ff ff  @3n%....@..$....
    00 00 00 00 00 00 00 00 00 09 df 26 81 88 ff ff  ...........&....
  backtrace (crc a7c4a093):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4983 [inline]
    slab_alloc_node mm/slub.c:5288 [inline]
    __do_kmalloc_node mm/slub.c:5649 [inline]
    __kmalloc_noprof+0x3e3/0x6b0 mm/slub.c:5662
    kmalloc_noprof include/linux/slab.h:961 [inline]
    kzalloc_noprof include/linux/slab.h:1094 [inline]
    handler_new_ref+0xd7/0x450 drivers/media/v4l2-core/v4l2-ctrls-core.c:1780
    v4l2_ctrl_new+0x67d/0x1340 drivers/media/v4l2-core/v4l2-ctrls-core.c:2114
    v4l2_ctrl_new_std+0x122/0x180 drivers/media/v4l2-core/v4l2-ctrls-core.c:2185
    handler_new_ref+0x352/0x450 drivers/media/v4l2-core/v4l2-ctrls-core.c:1772
    v4l2_ctrl_new+0x67d/0x1340 drivers/media/v4l2-core/v4l2-ctrls-core.c:2114
    v4l2_ctrl_new_std+0x122/0x180 drivers/media/v4l2-core/v4l2-ctrls-core.c:2185
    usb_keene_probe+0xe8/0x450 drivers/media/radio/radio-keene.c:327
    usb_probe_interface+0x173/0x3f0 drivers/usb/core/driver.c:396
    call_driver_probe drivers/base/dd.c:581 [inline]
    really_probe+0x12f/0x430 drivers/base/dd.c:659
    __driver_probe_device+0xc3/0x1a0 drivers/base/dd.c:801
    driver_probe_device+0x2a/0x120 drivers/base/dd.c:831
    __device_attach_driver+0x10f/0x170 drivers/base/dd.c:959
    bus_for_each_drv+0xcf/0x120 drivers/base/bus.c:462
    __device_attach+0xf9/0x290 drivers/base/dd.c:1031
    bus_probe_device+0xcd/0xe0 drivers/base/bus.c:537

BUG: memory leak
unreferenced object 0xffff8881256e3340 (size 64):
  comm "kworker/0:6", pid 6036, jiffies 4294942408
  hex dump (first 32 bytes):
    80 32 6e 25 81 88 ff ff 00 34 6e 25 81 88 ff ff  .2n%.....4n%....
    00 34 6e 25 81 88 ff ff 00 02 df 26 81 88 ff ff  .4n%.......&....
  backtrace (crc be938ee5):
    kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
    slab_post_alloc_hook mm/slub.c:4983 [inline]
    slab_alloc_node mm/slub.c:5288 [inline]
    __do_kmalloc_node mm/slub.c:5649 [inline]
    __kmalloc_noprof+0x3e3/0x6b0 mm/slub.c:5662
    kmalloc_noprof include/linux/slab.h:961 [inline]
    kzalloc_noprof include/linux/slab.h:1094 [inline]
    handler_new_ref+0xd7/0x450 drivers/media/v4l2-core/v4l2-ctrls-core.c:1780
    v4l2_ctrl_new+0x67d/0x1340 drivers/media/v4l2-core/v4l2-ctrls-core.c:2114
    v4l2_ctrl_new_std+0x122/0x180 drivers/media/v4l2-core/v4l2-ctrls-core.c:2185
    usb_keene_probe+0xe8/0x450 drivers/media/radio/radio-keene.c:327
    usb_probe_interface+0x173/0x3f0 drivers/usb/core/driver.c:396
    call_driver_probe drivers/base/dd.c:581 [inline]
    really_probe+0x12f/0x430 drivers/base/dd.c:659
    __driver_probe_device+0xc3/0x1a0 drivers/base/dd.c:801
    driver_probe_device+0x2a/0x120 drivers/base/dd.c:831
    __device_attach_driver+0x10f/0x170 drivers/base/dd.c:959
    bus_for_each_drv+0xcf/0x120 drivers/base/bus.c:462
    __device_attach+0xf9/0x290 drivers/base/dd.c:1031
    bus_probe_device+0xcd/0xe0 drivers/base/bus.c:537
    device_add+0x983/0xc80 drivers/base/core.c:3689
    usb_set_configuration+0x961/0xc70 drivers/usb/core/message.c:2210
    usb_generic_driver_probe+0x83/0xd0 drivers/usb/core/generic.c:250

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

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/11/21 12:46 upstream fd95357fd8c6 280ea308 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-gce-leak memory leak in v4l2_ctrl_handler_init_class
2025/11/21 11:46 upstream fd95357fd8c6 280ea308 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-gce-leak memory leak in v4l2_ctrl_handler_init_class
2025/11/21 07:51 upstream fd95357fd8c6 280ea308 .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci-upstream-gce-leak memory leak in v4l2_ctrl_handler_init_class
* Struck through repros no longer work on HEAD.