usb 5-1: new high-speed USB device number 2 using dummy_hcd usb 5-1: New USB device found, idVendor=04b4, idProduct=3101, bcdDevice= 0.00 usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 dvb-usb: found a 'DVBWorld DVB-C 3101 USB2.0' in cold state, will try to load a firmware usb 5-1: Direct firmware load for dvb-usb-dw3101.fw failed with error -2 usb 5-1: Falling back to sysfs fallback for: dvb-usb-dw3101.fw dvb-usb: downloading firmware from file 'dvb-usb-dw3101.fw' dw2102: start downloading DW210X firmware ================================================================== BUG: KASAN: slab-out-of-bounds in dw210x_op_rw+0xb6/0x180 drivers/media/usb/dvb-usb/dw2102.c:102 Read of size 64 at addr ffff8880121a4b20 by task kworker/0:3/1378 CPU: 0 UID: 0 PID: 1378 Comm: kworker/0:3 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Workqueue: usb_hub_wq hub_event Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_address_description+0x55/0x1e0 mm/kasan/report.c:378 print_report+0x58/0x70 mm/kasan/report.c:482 kasan_report+0x117/0x150 mm/kasan/report.c:595 check_region_inline mm/kasan/generic.c:-1 [inline] kasan_check_range+0x264/0x2c0 mm/kasan/generic.c:200 __asan_memcpy+0x29/0x70 mm/kasan/shadow.c:105 dw210x_op_rw+0xb6/0x180 drivers/media/usb/dvb-usb/dw2102.c:102 dw2102_load_firmware+0x2b4/0x970 drivers/media/usb/dvb-usb/dw2102.c:1906 dvb_usb_download_firmware+0x1c3/0x270 drivers/media/usb/dvb-usb/dvb-usb-firmware.c:109 dvb_usb_device_init+0xddf/0x2570 drivers/media/usb/dvb-usb/dvb-usb-init.c:298 dw2102_probe+0x8a/0x270 drivers/media/usb/dvb-usb/dw2102.c:2594 usb_probe_interface+0x653/0xc60 drivers/usb/core/driver.c:396 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x254/0xae0 drivers/base/dd.c:706 __driver_probe_device+0x1e8/0x360 drivers/base/dd.c:868 driver_probe_device+0x4f/0x240 drivers/base/dd.c:898 __device_attach_driver+0x270/0x410 drivers/base/dd.c:1026 bus_for_each_drv+0x258/0x2f0 drivers/base/bus.c:500 __device_attach+0x2c4/0x450 drivers/base/dd.c:1098 device_initial_probe+0xa1/0xd0 drivers/base/dd.c:1153 bus_probe_device+0x12a/0x220 drivers/base/bus.c:620 device_add+0x7d7/0xb80 drivers/base/core.c:3772 usb_set_configuration+0x1ad8/0x2180 drivers/usb/core/message.c:2268 usb_generic_driver_probe+0x8d/0x150 drivers/usb/core/generic.c:250 usb_probe_device+0x1c3/0x3b0 drivers/usb/core/driver.c:291 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x254/0xae0 drivers/base/dd.c:706 __driver_probe_device+0x1e8/0x360 drivers/base/dd.c:868 driver_probe_device+0x4f/0x240 drivers/base/dd.c:898 __device_attach_driver+0x270/0x410 drivers/base/dd.c:1026 bus_for_each_drv+0x258/0x2f0 drivers/base/bus.c:500 __device_attach+0x2c4/0x450 drivers/base/dd.c:1098 device_initial_probe+0xa1/0xd0 drivers/base/dd.c:1153 bus_probe_device+0x12a/0x220 drivers/base/bus.c:620 device_add+0x7d7/0xb80 drivers/base/core.c:3772 usb_new_device+0x99d/0x1620 drivers/usb/core/hub.c:2695 hub_port_connect drivers/usb/core/hub.c:5567 [inline] hub_port_connect_change drivers/usb/core/hub.c:5707 [inline] port_event drivers/usb/core/hub.c:5871 [inline] hub_event+0x28e8/0x4d30 drivers/usb/core/hub.c:5953 process_one_work kernel/workqueue.c:3322 [inline] process_scheduled_works+0xa8e/0x14e0 kernel/workqueue.c:3405 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3486 kthread+0x388/0x470 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 Allocated by task 1378: kasan_save_stack mm/kasan/common.c:57 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:78 poison_kmalloc_redzone mm/kasan/common.c:398 [inline] __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:415 kasan_kmalloc include/linux/kasan.h:263 [inline] __do_kmalloc_node mm/slub.c:5334 [inline] __kmalloc_noprof+0x375/0x720 mm/slub.c:5359 _kmalloc_noprof include/linux/slab.h:992 [inline] dw2102_load_firmware+0x175/0x970 drivers/media/usb/dvb-usb/dw2102.c:1896 dvb_usb_download_firmware+0x1c3/0x270 drivers/media/usb/dvb-usb/dvb-usb-firmware.c:109 dvb_usb_device_init+0xddf/0x2570 drivers/media/usb/dvb-usb/dvb-usb-init.c:298 dw2102_probe+0x8a/0x270 drivers/media/usb/dvb-usb/dw2102.c:2594 usb_probe_interface+0x653/0xc60 drivers/usb/core/driver.c:396 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x254/0xae0 drivers/base/dd.c:706 __driver_probe_device+0x1e8/0x360 drivers/base/dd.c:868 driver_probe_device+0x4f/0x240 drivers/base/dd.c:898 __device_attach_driver+0x270/0x410 drivers/base/dd.c:1026 bus_for_each_drv+0x258/0x2f0 drivers/base/bus.c:500 __device_attach+0x2c4/0x450 drivers/base/dd.c:1098 device_initial_probe+0xa1/0xd0 drivers/base/dd.c:1153 bus_probe_device+0x12a/0x220 drivers/base/bus.c:620 device_add+0x7d7/0xb80 drivers/base/core.c:3772 usb_set_configuration+0x1ad8/0x2180 drivers/usb/core/message.c:2268 usb_generic_driver_probe+0x8d/0x150 drivers/usb/core/generic.c:250 usb_probe_device+0x1c3/0x3b0 drivers/usb/core/driver.c:291 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x254/0xae0 drivers/base/dd.c:706 __driver_probe_device+0x1e8/0x360 drivers/base/dd.c:868 driver_probe_device+0x4f/0x240 drivers/base/dd.c:898 __device_attach_driver+0x270/0x410 drivers/base/dd.c:1026 bus_for_each_drv+0x258/0x2f0 drivers/base/bus.c:500 __device_attach+0x2c4/0x450 drivers/base/dd.c:1098 device_initial_probe+0xa1/0xd0 drivers/base/dd.c:1153 bus_probe_device+0x12a/0x220 drivers/base/bus.c:620 device_add+0x7d7/0xb80 drivers/base/core.c:3772 usb_new_device+0x99d/0x1620 drivers/usb/core/hub.c:2695 hub_port_connect drivers/usb/core/hub.c:5567 [inline] hub_port_connect_change drivers/usb/core/hub.c:5707 [inline] port_event drivers/usb/core/hub.c:5871 [inline] hub_event+0x28e8/0x4d30 drivers/usb/core/hub.c:5953 process_one_work kernel/workqueue.c:3322 [inline] process_scheduled_works+0xa8e/0x14e0 kernel/workqueue.c:3405 worker_thread+0xa47/0xfb0 kernel/workqueue.c:3486 kthread+0x388/0x470 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 The buggy address belongs to the object at ffff8880121a4b20 which belongs to the cache kmalloc-16 of size 16 The buggy address is located 0 bytes inside of allocated 16-byte region [ffff8880121a4b20, ffff8880121a4b30) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff8880121a4f20 pfn:0x121a4 flags: 0xfff00000000200(workingset|node=0|zone=1|lastcpupid=0x7ff) page_type: f5(slab) raw: 00fff00000000200 ffff88801b041640 ffff88801b040408 ffff88801b040408 raw: ffff8880121a4f20 0000000800800079 00000000f5000000 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 0, migratetype Unmovable, gfp_mask 0x252800(GFP_NOWAIT|__GFP_NORETRY|__GFP_COMP|__GFP_THISNODE), pid 5279, tgid 5279 (syz-executor), ts 75036071198, free_ts 75017128734 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x1f9/0x250 mm/page_alloc.c:1859 prep_new_page mm/page_alloc.c:1867 [inline] get_page_from_freelist+0x21fa/0x2270 mm/page_alloc.c:3946 __alloc_frozen_pages_noprof+0x18d/0x380 mm/page_alloc.c:5304 alloc_slab_page mm/slub.c:3266 [inline] allocate_slab+0x79/0x5e0 mm/slub.c:3380 new_slab mm/slub.c:3426 [inline] ___slab_alloc+0x16a/0x950 mm/slub.c:4463 slab_alloc_node mm/slub.c:4908 [inline] __kmalloc_cache_node_noprof+0x1d5/0x630 mm/slub.c:5504 _kmalloc_node_noprof include/linux/slab.h:1193 [inline] hugetlb_cgroup_css_alloc+0x175/0xb20 mm/hugetlb_cgroup.c:160 css_create kernel/cgroup/cgroup.c:5846 [inline] cgroup_apply_control_enable+0x5bb/0xda0 kernel/cgroup/cgroup.c:3385 cgroup_mkdir+0xd2c/0xf90 kernel/cgroup/cgroup.c:6072 kernfs_iop_mkdir+0x213/0x360 fs/kernfs/dir.c:1305 vfs_mkdir+0x406/0x620 fs/namei.c:5276 filename_mkdirat+0x285/0x510 fs/namei.c:5309 __do_sys_mkdirat fs/namei.c:5330 [inline] __se_sys_mkdirat+0x35/0x150 fs/namei.c:5327 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f page last free pid 37 tgid 37 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] __free_pages_prepare mm/page_alloc.c:1406 [inline] __free_frozen_pages+0xc1e/0xd10 mm/page_alloc.c:2950 __slab_free+0x274/0x2c0 mm/slub.c:5741 qlink_free mm/kasan/quarantine.c:163 [inline] qlist_free_all+0x99/0x100 mm/kasan/quarantine.c:179 kasan_quarantine_reduce+0x148/0x160 mm/kasan/quarantine.c:286 __kasan_slab_alloc+0x22/0x80 mm/kasan/common.c:350 kasan_slab_alloc include/linux/kasan.h:253 [inline] slab_post_alloc_hook mm/slub.c:4584 [inline] slab_alloc_node mm/slub.c:4917 [inline] kmem_cache_alloc_lru_noprof+0x2aa/0x5f0 mm/slub.c:4950 alloc_inode+0x6a/0x1b0 fs/inode.c:338 new_inode+0x1f/0x170 fs/inode.c:1174 debugfs_get_inode fs/debugfs/inode.c:72 [inline] __debugfs_create_file+0xb8/0x400 fs/debugfs/inode.c:433 debugfs_create_file_short+0x3f/0x60 fs/debugfs/inode.c:471 ieee80211_link_sta_debugfs_add+0x312/0x410 net/mac80211/debugfs_sta.c:1317 sta_info_insert_finish net/mac80211/sta_info.c:1001 [inline] sta_info_insert_rcu+0x1fcd/0x2780 net/mac80211/sta_info.c:1050 ieee80211_ibss_finish_sta+0x2f1/0x3e0 net/mac80211/ibss.c:561 ieee80211_update_sta_info net/mac80211/ibss.c:969 [inline] ieee80211_rx_bss_info net/mac80211/ibss.c:1061 [inline] ieee80211_rx_mgmt_probe_beacon net/mac80211/ibss.c:1544 [inline] ieee80211_ibss_rx_queued_mgmt+0x1530/0x2c40 net/mac80211/ibss.c:1571 ieee80211_iface_process_skb net/mac80211/iface.c:1769 [inline] ieee80211_iface_work+0x78a/0x1010 net/mac80211/iface.c:1823 cfg80211_wiphy_work+0x29e/0x420 net/wireless/core.c:538 Memory state around the buggy address: ffff8880121a4a00: 00 00 fc fc 00 00 fc fc 00 00 fc fc 00 00 fc fc ffff8880121a4a80: 00 00 fc fc 00 00 fc fc 00 00 fc fc 00 00 fc fc >ffff8880121a4b00: 00 00 fc fc 00 00 fc fc 00 00 fc fc 00 00 fc fc ^ ffff8880121a4b80: 00 00 fc fc 00 00 fc fc 00 00 fc fc 00 00 fc fc ffff8880121a4c00: 00 00 fc fc fa fb fc fc 00 00 fc fc 00 00 fc fc ==================================================================