xt_CHECKSUM: CHECKSUM should be avoided. If really needed, restrict with "-p udp" and only use in OUTPUT process 'syz.0.0' launched './file2' with NULL argv: empty string added loop0: detected capacity change from 0 to 8 UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy misc raw-gadget: fail, usb_gadget_register_driver returned -16 ================================================================== BUG: KASAN: slab-out-of-bounds in copy_to_urb+0x261/0x460 sound/usb/pcm.c:1487 Write of size 264 at addr ffff8880112c8a00 by task syz.0.0/5376 CPU: 0 UID: 0 PID: 5376 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace: dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xca/0x240 mm/kasan/report.c:482 kasan_report+0x118/0x150 mm/kasan/report.c:595 check_region_inline mm/kasan/generic.c:-1 [inline] kasan_check_range+0x2b0/0x2c0 mm/kasan/generic.c:200 __asan_memcpy+0x40/0x70 mm/kasan/shadow.c:106 copy_to_urb+0x261/0x460 sound/usb/pcm.c:1487 prepare_playback_urb+0x953/0x13d0 sound/usb/pcm.c:1611 prepare_outbound_urb+0x377/0xc50 sound/usb/endpoint.c:333 snd_usb_endpoint_start+0x4db/0x1530 sound/usb/endpoint.c:1596 start_endpoints+0xa1/0x280 sound/usb/pcm.c:291 snd_usb_substream_playback_trigger+0x3e0/0x830 sound/usb/pcm.c:1711 snd_pcm_do_start+0xb7/0x180 sound/core/pcm_native.c:1454 snd_pcm_action_single sound/core/pcm_native.c:1310 [inline] snd_pcm_action+0xe7/0x240 sound/core/pcm_native.c:1393 __snd_pcm_lib_xfer+0x1762/0x1d00 sound/core/pcm_lib.c:2405 snd_pcm_oss_write3+0x1bc/0x350 sound/core/oss/pcm_oss.c:1241 snd_pcm_plug_write_transfer+0x2cb/0x4c0 sound/core/oss/pcm_plugin.c:630 snd_pcm_oss_write2 sound/core/oss/pcm_oss.c:1373 [inline] snd_pcm_oss_write1 sound/core/oss/pcm_oss.c:1439 [inline] snd_pcm_oss_write+0xa2b/0xf20 sound/core/oss/pcm_oss.c:2794 vfs_write+0x27e/0xb30 fs/read_write.c:684 ksys_write+0x145/0x250 fs/read_write.c:738 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xec/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f83e2d8f7c9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f83e3bf7038 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f83e2fe5fa0 RCX: 00007f83e2d8f7c9 RDX: 00000000000005ce RSI: 0000200000000600 RDI: 000000000000000e RBP: 00007f83e2e13f91 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f83e2fe6038 R14: 00007f83e2fe5fa0 R15: 00007ffd497ac218 Allocated by task 5376: 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:5657 [inline] __kmalloc_noprof+0x41d/0x800 mm/slub.c:5669 data_ep_set_params sound/usb/endpoint.c:1242 [inline] snd_usb_endpoint_set_params+0x1741/0x2f10 sound/usb/endpoint.c:1379 snd_usb_hw_params+0xb12/0x12e0 sound/usb/pcm.c:576 snd_pcm_hw_params+0x89d/0x1d30 sound/core/pcm_native.c:804 snd_pcm_oss_change_params_locked+0x21cd/0x3f70 sound/core/oss/pcm_oss.c:965 snd_pcm_oss_make_ready_locked+0x7d/0x300 sound/core/oss/pcm_oss.c:1186 snd_pcm_oss_write1 sound/core/oss/pcm_oss.c:1404 [inline] snd_pcm_oss_write+0x281/0xf20 sound/core/oss/pcm_oss.c:2794 vfs_write+0x27e/0xb30 fs/read_write.c:684 ksys_write+0x145/0x250 fs/read_write.c:738 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xec/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f The buggy address belongs to the object at ffff8880112c8a00 which belongs to the cache kmalloc-256 of size 256 The buggy address is located 0 bytes inside of allocated 240-byte region [ffff8880112c8a00, ffff8880112c8af0) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x112c8 flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) page_type: f5(slab) raw: 00fff00000000000 ffff88801a441b40 ffffea00007ded40 0000000000000008 raw: 0000000000000000 0000000000080008 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 0x52cc0(GFP_KERNEL|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP), pid 5354, tgid 5354 (syz-executor), ts 244147231207, free_ts 60658303161 set_page_owner include/linux/page_owner.h:32 [inline] post_alloc_hook+0x234/0x290 mm/page_alloc.c:1857 prep_new_page mm/page_alloc.c:1865 [inline] get_page_from_freelist+0x24e0/0x2580 mm/page_alloc.c:3915 __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5210 alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2486 alloc_slab_page mm/slub.c:3075 [inline] allocate_slab+0x86/0x3b0 mm/slub.c:3248 new_slab mm/slub.c:3302 [inline] ___slab_alloc+0xe53/0x1820 mm/slub.c:4656 __slab_alloc+0x65/0x100 mm/slub.c:4779 __slab_alloc_node mm/slub.c:4855 [inline] slab_alloc_node mm/slub.c:5251 [inline] __do_kmalloc_node mm/slub.c:5656 [inline] __kmalloc_noprof+0x47d/0x800 mm/slub.c:5669 kmalloc_noprof include/linux/slab.h:961 [inline] kzalloc_noprof include/linux/slab.h:1094 [inline] fib_create_info+0x171d/0x31f0 net/ipv4/fib_semantics.c:1402 fib_table_insert+0xca/0x1b80 net/ipv4/fib_trie.c:1212 fib_magic+0x2c4/0x390 net/ipv4/fib_frontend.c:1134 fib_add_ifaddr+0x144/0x5f0 net/ipv4/fib_frontend.c:1156 fib_netdev_event+0x382/0x490 net/ipv4/fib_frontend.c:1516 notifier_call_chain+0x19d/0x3a0 kernel/notifier.c:85 call_netdevice_notifiers_extack net/core/dev.c:2268 [inline] call_netdevice_notifiers net/core/dev.c:2282 [inline] __dev_notify_flags+0x18d/0x2e0 net/core/dev.c:-1 netif_change_flags+0xe8/0x1a0 net/core/dev.c:9804 page last free pid 5031 tgid 5031 stack trace: reset_page_owner include/linux/page_owner.h:25 [inline] free_pages_prepare mm/page_alloc.c:1406 [inline] __free_pages_ok+0xa83/0xbe0 mm/page_alloc.c:1582 proc_sys_call_handler+0x5b6/0x7c0 fs/proc/proc_sysctl.c:612 new_sync_read fs/read_write.c:491 [inline] vfs_read+0x55a/0xa30 fs/read_write.c:572 ksys_read+0x145/0x250 fs/read_write.c:715 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xec/0xf80 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Memory state around the buggy address: ffff8880112c8980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8880112c8a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >ffff8880112c8a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fc fc ^ ffff8880112c8b00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff8880112c8b80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ==================================================================