================================================================== BUG: KASAN: use-after-free in __list_add_valid_or_report+0xe4/0x100 lib/list_debug.c:32 Read of size 8 at addr ffff8881200e0250 by task kworker/0:6/6272 CPU: 0 UID: 0 PID: 6272 Comm: kworker/0:6 Not tainted 6.12.0-rc6-syzkaller-00153-g237d4e0f4113 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/30/2024 Workqueue: events request_module_async Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:377 [inline] print_report+0xc3/0x620 mm/kasan/report.c:488 kasan_report+0xd9/0x110 mm/kasan/report.c:601 __list_add_valid_or_report+0xe4/0x100 lib/list_debug.c:32 __list_add_valid include/linux/list.h:88 [inline] __list_add include/linux/list.h:150 [inline] list_add_tail include/linux/list.h:183 [inline] em28xx_init_extension+0x48/0x200 drivers/media/usb/em28xx/em28xx-core.c:1114 request_module_async+0x61/0x70 drivers/media/usb/em28xx/em28xx-cards.c:3457 process_one_work+0x9c5/0x1ba0 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x6c8/0xf00 kernel/workqueue.c:3391 kthread+0x2c1/0x3a0 kernel/kthread.c:389 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff8881200e3c00 pfn:0x1200e0 flags: 0x200000000000000(node=0|zone=2) raw: 0200000000000000 ffffea0004824808 ffffea0004d58a08 0000000000000000 raw: ffff8881200e3c00 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as freed page last allocated via order 2, migratetype Unmovable, gfp_mask 0x40cc0(GFP_KERNEL|__GFP_COMP), pid 13768, tgid 13768 (kworker/0:8), ts 1280973836831, free_ts 1281405365784 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x2d1/0x350 mm/page_alloc.c:1537 prep_new_page mm/page_alloc.c:1545 [inline] get_page_from_freelist+0xd6b/0x2660 mm/page_alloc.c:3457 __alloc_pages_noprof+0x221/0x2270 mm/page_alloc.c:4733 __alloc_pages_node_noprof include/linux/gfp.h:269 [inline] alloc_pages_node_noprof include/linux/gfp.h:296 [inline] ___kmalloc_large_node+0x84/0x1b0 mm/slub.c:4209 __kmalloc_large_node_noprof+0x1c/0x70 mm/slub.c:4236 __do_kmalloc_node mm/slub.c:4252 [inline] __kmalloc_noprof.cold+0xc/0x61 mm/slub.c:4276 kmalloc_noprof include/linux/slab.h:882 [inline] hcd_buffer_alloc+0x1f5/0x290 drivers/usb/core/buffer.c:134 usb_alloc_coherent+0x5f/0xa0 drivers/usb/core/usb.c:1001 hid_alloc_buffers drivers/hid/usbhid/hid-core.c:856 [inline] usbhid_start+0x5e8/0x2340 drivers/hid/usbhid/hid-core.c:1087 hid_hw_start+0x62/0x140 drivers/hid/hid-core.c:2344 waterforce_probe+0x15d/0x850 drivers/hwmon/gigabyte_waterforce.c:340 __hid_device_probe drivers/hid/hid-core.c:2699 [inline] hid_device_probe+0x2eb/0x490 drivers/hid/hid-core.c:2736 call_driver_probe drivers/base/dd.c:579 [inline] really_probe+0x23e/0xa90 drivers/base/dd.c:658 __driver_probe_device+0x1de/0x440 drivers/base/dd.c:800 driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:830 __device_attach_driver+0x1df/0x310 drivers/base/dd.c:958 page last free pid 5437 tgid 5437 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] free_pages_prepare mm/page_alloc.c:1108 [inline] free_unref_page+0x58a/0xb50 mm/page_alloc.c:2638 __folio_put+0x1cd/0x250 mm/swap.c:126 hcd_buffer_free+0x1b9/0x250 drivers/usb/core/buffer.c:163 usb_free_coherent+0x69/0x80 drivers/usb/core/usb.c:1023 hid_free_buffers.isra.0+0x97/0x280 drivers/hid/usbhid/hid-core.c:974 usbhid_stop+0x531/0x710 drivers/hid/usbhid/hid-core.c:1252 hid_device_remove+0xce/0x260 drivers/hid/hid-core.c:2755 device_remove+0xc8/0x170 drivers/base/dd.c:567 __device_release_driver drivers/base/dd.c:1273 [inline] device_release_driver_internal+0x44a/0x610 drivers/base/dd.c:1296 bus_remove_device+0x22f/0x420 drivers/base/bus.c:576 device_del+0x396/0x9f0 drivers/base/core.c:3861 hid_remove_device drivers/hid/hid-core.c:2939 [inline] hid_destroy_device+0xe5/0x150 drivers/hid/hid-core.c:2959 usbhid_disconnect+0xa0/0xe0 drivers/hid/usbhid/hid-core.c:1458 usb_unbind_interface+0x1e2/0x960 drivers/usb/core/driver.c:458 device_remove drivers/base/dd.c:569 [inline] device_remove+0x122/0x170 drivers/base/dd.c:561 __device_release_driver drivers/base/dd.c:1273 [inline] device_release_driver_internal+0x44a/0x610 drivers/base/dd.c:1296 Memory state around the buggy address: ffff8881200e0100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff8881200e0180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff >ffff8881200e0200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ^ ffff8881200e0280: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ffff8881200e0300: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ==================================================================