================================================================== BUG: KASAN: use-after-free in snd_seq_timer_interrupt+0x316/0x380 sound/core/seq/seq_timer.c:130 Read of size 8 at addr ffff888036f58858 by task kworker/0:3/8684 CPU: 0 PID: 8684 Comm: kworker/0:3 Not tainted 5.13.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: 0x0 (events_power_efficient) Call Trace: __dump_stack lib/dump_stack.c:79 [inline] dump_stack+0x141/0x1d7 lib/dump_stack.c:120 print_address_description.constprop.0.cold+0x5b/0x2f8 mm/kasan/report.c:233 __kasan_report mm/kasan/report.c:419 [inline] kasan_report.cold+0x7c/0xd8 mm/kasan/report.c:436 snd_seq_timer_interrupt+0x316/0x380 sound/core/seq/seq_timer.c:130 snd_timer_process_callbacks+0x1f9/0x2c0 sound/core/timer.c:797 snd_timer_interrupt.part.0+0x644/0xcf0 sound/core/timer.c:920 snd_timer_interrupt sound/core/timer.c:1155 [inline] snd_timer_s_function+0x14b/0x200 sound/core/timer.c:1155 call_timer_fn+0x1a5/0x6b0 kernel/time/timer.c:1431 expire_timers kernel/time/timer.c:1476 [inline] __run_timers.part.0+0x67c/0xa50 kernel/time/timer.c:1745 __run_timers kernel/time/timer.c:1726 [inline] run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1758 __do_softirq+0x29b/0x9f6 kernel/softirq.c:559 invoke_softirq kernel/softirq.c:433 [inline] __irq_exit_rcu+0x136/0x200 kernel/softirq.c:637 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1100 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:647 RIP: 0010:call_rcu+0x2f2/0x750 kernel/rcu/tree.c:3114 Code: 48 03 85 10 01 00 00 48 39 c2 0f 8f af 01 00 00 e8 b3 22 19 00 9c 58 f6 c4 02 0f 85 84 01 00 00 4d 85 ed 74 01 fb 48 83 c4 18 <5b> 5d 41 5c 41 5d 41 5e 41 5f c3 80 3c 02 00 0f 84 15 ff ff ff 4c RSP: 0018:ffffc90002197cf8 EFLAGS: 00000282 RAX: 0000000000000002 RBX: ffff888025ec6968 RCX: 1ffffffff1b925d9 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffff8880b9c36480 R08: 0000000000000001 R09: 0000000000000001 R10: ffffffff817aec78 R11: 0000000000084087 R12: ffff8880b9c36590 R13: 0000000000000200 R14: ffff8880b9c36560 R15: ffff8880b9c36518 put_task_struct_rcu_user+0x7f/0xb0 kernel/exit.c:180 context_switch kernel/sched/core.c:4342 [inline] __schedule+0x91e/0x23e0 kernel/sched/core.c:5147 schedule+0xcf/0x270 kernel/sched/core.c:5226 worker_thread+0x14c/0x1120 kernel/workqueue.c:2443 kthread+0x3b1/0x4a0 kernel/kthread.c:313 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294 Allocated by task 14363: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_set_track mm/kasan/common.c:46 [inline] set_alloc_info mm/kasan/common.c:428 [inline] ____kasan_kmalloc mm/kasan/common.c:507 [inline] ____kasan_kmalloc mm/kasan/common.c:466 [inline] __kasan_kmalloc+0x9b/0xd0 mm/kasan/common.c:516 kmalloc include/linux/slab.h:556 [inline] kzalloc include/linux/slab.h:686 [inline] queue_new sound/core/seq/seq_queue.c:100 [inline] snd_seq_queue_alloc+0x51/0x560 sound/core/seq/seq_queue.c:172 snd_seq_ioctl_create_queue+0xa5/0x380 sound/core/seq/seq_clientmgr.c:1547 snd_seq_ioctl+0x202/0x3e0 sound/core/seq/seq_clientmgr.c:2156 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:1069 [inline] __se_sys_ioctl fs/ioctl.c:1055 [inline] __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:1055 do_syscall_64+0x3a/0xb0 arch/x86/entry/common.c:47 entry_SYSCALL_64_after_hwframe+0x44/0xae Freed by task 14359: kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38 kasan_set_track+0x1c/0x30 mm/kasan/common.c:46 kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:357 ____kasan_slab_free mm/kasan/common.c:360 [inline] ____kasan_slab_free mm/kasan/common.c:325 [inline] __kasan_slab_free+0xfb/0x130 mm/kasan/common.c:368 kasan_slab_free include/linux/kasan.h:212 [inline] slab_free_hook mm/slub.c:1582 [inline] slab_free_freelist_hook+0xdf/0x240 mm/slub.c:1607 slab_free mm/slub.c:3167 [inline] kfree+0xe5/0x7f0 mm/slub.c:4217 snd_seq_queue_client_leave+0x37/0x1a0 sound/core/seq/seq_queue.c:552 seq_free_client1.part.0+0x10a/0x260 sound/core/seq/seq_clientmgr.c:280 seq_free_client1 sound/core/seq/seq_clientmgr.c:273 [inline] seq_free_client+0x7b/0xf0 sound/core/seq/seq_clientmgr.c:301 snd_seq_release+0x4d/0xe0 sound/core/seq/seq_clientmgr.c:382 __fput+0x288/0x920 fs/file_table.c:280 task_work_run+0xdd/0x1a0 kernel/task_work.c:164 tracehook_notify_resume include/linux/tracehook.h:189 [inline] exit_to_user_mode_loop kernel/entry/common.c:174 [inline] exit_to_user_mode_prepare+0x272/0x280 kernel/entry/common.c:208 __syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline] syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:301 do_syscall_64+0x47/0xb0 arch/x86/entry/common.c:57 entry_SYSCALL_64_after_hwframe+0x44/0xae The buggy address belongs to the object at ffff888036f58800 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 88 bytes inside of 512-byte region [ffff888036f58800, ffff888036f58a00) The buggy address belongs to the page: page:ffffea0000dbd600 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x36f58 head:ffffea0000dbd600 order:2 compound_mapcount:0 compound_pincount:0 flags: 0xfff00000010200(slab|head|node=0|zone=1|lastcpupid=0x7ff) raw: 00fff00000010200 0000000000000000 0000000100000001 ffff888011041c80 raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected page_owner tracks the page as allocated page last allocated via order 2, migratetype Unmovable, gfp_mask 0xd20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC), pid 9918, ts 102590190222, free_ts 102557677878 prep_new_page mm/page_alloc.c:2358 [inline] get_page_from_freelist+0x1033/0x2b60 mm/page_alloc.c:3994 __alloc_pages+0x1b2/0x500 mm/page_alloc.c:5200 alloc_pages+0x18c/0x2a0 mm/mempolicy.c:2272 alloc_slab_page mm/slub.c:1645 [inline] allocate_slab+0x2c5/0x4c0 mm/slub.c:1785 new_slab mm/slub.c:1848 [inline] new_slab_objects mm/slub.c:2594 [inline] ___slab_alloc+0x4a1/0x810 mm/slub.c:2757 __slab_alloc.constprop.0+0xa7/0xf0 mm/slub.c:2797 slab_alloc_node mm/slub.c:2879 [inline] slab_alloc mm/slub.c:2921 [inline] kmem_cache_alloc_trace+0x2a3/0x2c0 mm/slub.c:2938 kmalloc include/linux/slab.h:556 [inline] kzalloc include/linux/slab.h:686 [inline] alloc_bprm+0x51/0x8f0 fs/exec.c:1500 kernel_execve+0x55/0x460 fs/exec.c:1940 call_usermodehelper_exec_async+0x2e3/0x580 kernel/umh.c:112 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294 page last free stack trace: reset_page_owner include/linux/page_owner.h:24 [inline] free_pages_prepare mm/page_alloc.c:1298 [inline] __free_pages_ok+0x476/0xce0 mm/page_alloc.c:1572 unfreeze_partials+0x17c/0x1d0 mm/slub.c:2375 put_cpu_partial+0x13d/0x230 mm/slub.c:2411 qlink_free mm/kasan/quarantine.c:146 [inline] qlist_free_all+0x5a/0xc0 mm/kasan/quarantine.c:165 kasan_quarantine_reduce+0x180/0x200 mm/kasan/quarantine.c:272 __kasan_slab_alloc+0x8e/0xa0 mm/kasan/common.c:438 kasan_slab_alloc include/linux/kasan.h:236 [inline] slab_post_alloc_hook mm/slab.h:524 [inline] slab_alloc_node mm/slub.c:2913 [inline] slab_alloc mm/slub.c:2921 [inline] kmem_cache_alloc_trace+0x201/0x2c0 mm/slub.c:2938 kmalloc include/linux/slab.h:556 [inline] kzalloc include/linux/slab.h:686 [inline] kset_create lib/kobject.c:969 [inline] kset_create_and_add+0x4b/0x190 lib/kobject.c:1012 register_queue_kobjects net/core/net-sysfs.c:1703 [inline] netdev_register_kobject+0x1c6/0x430 net/core/net-sysfs.c:1959 register_netdevice+0xd33/0x1500 net/core/dev.c:10281 vxcan_newlink+0x362/0x600 drivers/net/can/vxcan.c:236 __rtnl_newlink+0x1062/0x1710 net/core/rtnetlink.c:3452 rtnl_newlink+0x64/0xa0 net/core/rtnetlink.c:3500 rtnetlink_rcv_msg+0x44e/0xad0 net/core/rtnetlink.c:5564 netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2504 netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline] netlink_unicast+0x533/0x7d0 net/netlink/af_netlink.c:1340 Memory state around the buggy address: ffff888036f58700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff888036f58780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff888036f58800: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888036f58880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888036f58900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================