================================================================== BUG: KASAN: slab-out-of-bounds in snd_usb_mixer_notify_id+0x106/0x160 sound/usb/mixer.c:3175 Write of size 4 at addr ffff88809fde77e0 by task kworker/u4:7/441 CPU: 0 PID: 441 Comm: kworker/u4:7 Not tainted 5.6.0-rc5-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events_unbound call_usermodehelper_exec_work Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x128/0x182 lib/dump_stack.c:118 print_address_description.constprop.8.cold.10+0x9/0x317 mm/kasan/report.c:374 __kasan_report.cold.11+0x1c/0x34 mm/kasan/report.c:506 kasan_report+0xe/0x20 mm/kasan/common.c:641 snd_usb_mixer_notify_id+0x106/0x160 sound/usb/mixer.c:3175 snd_usb_mixer_interrupt+0x462/0x720 sound/usb/mixer.c:3312 __usb_hcd_giveback_urb+0x1d9/0x370 drivers/usb/core/hcd.c:1648 dummy_timer+0xfe6/0x2b10 drivers/usb/gadget/udc/dummy_hcd.c:1966 call_timer_fn+0x167/0x570 kernel/time/timer.c:1404 expire_timers kernel/time/timer.c:1449 [inline] __run_timers kernel/time/timer.c:1773 [inline] run_timer_softirq+0xc8c/0x1170 kernel/time/timer.c:1786 __do_softirq+0x26e/0x9b2 kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0x191/0x1d0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:546 [inline] smp_apic_timer_interrupt+0x1a1/0x5f0 arch/x86/kernel/apic/apic.c:1146 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829 RIP: 0010:__percpu_down_read+0x0/0xe0 kernel/locking/percpu-rwsem.c:45 Code: 48 c7 43 60 00 00 00 00 5b 5d c3 48 89 ef e8 57 79 4b 00 eb a5 48 89 ef e8 cd 79 4b 00 eb e1 48 89 ef e8 43 79 4b 00 eb b7 90 <55> 53 48 89 fb 48 83 ec 08 f0 83 44 24 fc 00 48 81 c7 f8 00 00 00 RSP: 0018:ffffc900021379b8 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13 RAX: 0000000000000002 RBX: 0000000000000011 RCX: 0000000000000000 RDX: 1ffffffff1179318 RSI: 0000000000000000 RDI: ffffffff88bc98c0 RBP: ffffc90002137b40 R08: ffffed1015d0707c R09: ffffed1015d0707c R10: ffffed1015d0707b R11: ffff8880ae8383db R12: 0000000000808100 R13: ffff8880a3b544bc R14: ffff8880a3b54040 R15: ffff8880a3b54758 percpu_down_read include/linux/percpu-rwsem.h:53 [inline] cgroup_threadgroup_change_begin include/linux/cgroup-defs.h:727 [inline] copy_process+0x4d7d/0x6a40 kernel/fork.c:2177 _do_fork+0xf8/0xc00 kernel/fork.c:2430 kernel_thread+0x98/0xd0 kernel/fork.c:2517 call_usermodehelper_exec_work+0x189/0x210 kernel/umh.c:195 process_one_work+0x903/0x15c0 kernel/workqueue.c:2264 worker_thread+0x82/0xb50 kernel/workqueue.c:2410 kthread+0x31d/0x3e0 kernel/kthread.c:255 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 Allocated by task 2779: save_stack+0x19/0x80 mm/kasan/common.c:72 set_track mm/kasan/common.c:80 [inline] __kasan_kmalloc.constprop.17+0xc1/0xd0 mm/kasan/common.c:515 kmem_cache_alloc_trace+0x156/0x780 mm/slab.c:3551 kmalloc include/linux/slab.h:555 [inline] kzalloc include/linux/slab.h:669 [inline] add_single_ctl_with_resume+0x55/0x1b0 sound/usb/mixer_quirks.c:146 snd_mbox1_create_sync_switch sound/usb/mixer_quirks.c:718 [inline] snd_usb_mixer_apply_create_quirk+0x111f/0x1930 sound/usb/mixer_quirks.c:2234 snd_usb_create_mixer+0x743/0x18e0 sound/usb/mixer.c:3471 create_composite_quirk+0x18c/0x3b0 sound/usb/quirks.c:48 usb_audio_probe+0x492/0x1c90 sound/usb/card.c:650 usb_probe_interface+0x268/0x6c0 drivers/usb/core/driver.c:361 really_probe+0x1f9/0x5e0 drivers/base/dd.c:551 driver_probe_device+0xc9/0x1b0 drivers/base/dd.c:724 bus_for_each_drv+0x117/0x1a0 drivers/base/bus.c:431 __device_attach+0x1be/0x2c0 drivers/base/dd.c:897 bus_probe_device+0x19e/0x250 drivers/base/bus.c:491 device_add+0x10d0/0x1900 drivers/base/core.c:2500 usb_set_configuration+0xc02/0x1560 drivers/usb/core/message.c:2023 generic_probe+0x61/0x8a drivers/usb/core/generic.c:210 really_probe+0x1f9/0x5e0 drivers/base/dd.c:551 driver_probe_device+0xc9/0x1b0 drivers/base/dd.c:724 bus_for_each_drv+0x117/0x1a0 drivers/base/bus.c:431 __device_attach+0x1be/0x2c0 drivers/base/dd.c:897 bus_probe_device+0x19e/0x250 drivers/base/bus.c:491 device_add+0x10d0/0x1900 drivers/base/core.c:2500 usb_new_device.cold.66+0x679/0xe85 drivers/usb/core/hub.c:2548 hub_port_connect drivers/usb/core/hub.c:5195 [inline] hub_port_connect_change drivers/usb/core/hub.c:5335 [inline] port_event drivers/usb/core/hub.c:5481 [inline] hub_event+0x15fe/0x2d60 drivers/usb/core/hub.c:5563 process_one_work+0x903/0x15c0 kernel/workqueue.c:2264 worker_thread+0x82/0xb50 kernel/workqueue.c:2410 kthread+0x31d/0x3e0 kernel/kthread.c:255 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 Freed by task 2779: save_stack+0x19/0x80 mm/kasan/common.c:72 set_track mm/kasan/common.c:80 [inline] kasan_set_free_info mm/kasan/common.c:337 [inline] __kasan_slab_free+0xf7/0x140 mm/kasan/common.c:476 __cache_free mm/slab.c:3426 [inline] kfree+0x107/0x2b0 mm/slab.c:3757 free_work+0x48/0x60 mm/vmalloc.c:66 process_one_work+0x903/0x15c0 kernel/workqueue.c:2264 worker_thread+0x82/0xb50 kernel/workqueue.c:2410 kthread+0x31d/0x3e0 kernel/kthread.c:255 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 The buggy address belongs to the object at ffff88809fde7780 which belongs to the cache kmalloc-64 of size 64 The buggy address is located 32 bytes to the right of 64-byte region [ffff88809fde7780, ffff88809fde77c0) The buggy address belongs to the page: page:ffffea00027f79c0 refcount:1 mapcount:0 mapping:ffff8880aa400380 index:0x0 flags: 0xfffe0000000200(slab) raw: 00fffe0000000200 ffffea0002816cc8 ffffea0002600148 ffff8880aa400380 raw: 0000000000000000 ffff88809fde7000 0000000100000020 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88809fde7680: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc ffff88809fde7700: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc >ffff88809fde7780: 00 00 00 00 00 00 fc fc fc fc fc fc fc fc fc fc ^ ffff88809fde7800: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc ffff88809fde7880: 00 00 00 00 00 00 00 00 fc fc fc fc fc fc fc fc ==================================================================