================================================================== BUG: KASAN: use-after-free in htc_process_conn_rsp drivers/net/wireless/ath/ath9k/htc_hst.c:131 [inline] BUG: KASAN: use-after-free in ath9k_htc_rx_msg+0xa25/0xaf0 drivers/net/wireless/ath/ath9k/htc_hst.c:443 Write of size 2 at addr ffff8881ab088820 by task systemd-udevd/153 CPU: 0 PID: 153 Comm: systemd-udevd Not tainted 5.7.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0xef/0x16e lib/dump_stack.c:118 print_address_description.constprop.0.cold+0xd3/0x415 mm/kasan/report.c:382 __kasan_report.cold+0x37/0x7d mm/kasan/report.c:511 kasan_report+0x33/0x50 mm/kasan/common.c:625 htc_process_conn_rsp drivers/net/wireless/ath/ath9k/htc_hst.c:131 [inline] ath9k_htc_rx_msg+0xa25/0xaf0 drivers/net/wireless/ath/ath9k/htc_hst.c:443 ath9k_hif_usb_reg_in_cb+0x1c0/0x630 drivers/net/wireless/ath/ath9k/hif_usb.c:718 __usb_hcd_giveback_urb+0x29a/0x550 drivers/usb/core/hcd.c:1650 usb_hcd_giveback_urb+0x368/0x420 drivers/usb/core/hcd.c:1716 dummy_timer+0x125e/0x32b4 drivers/usb/gadget/udc/dummy_hcd.c:1967 call_timer_fn+0x1ac/0x700 kernel/time/timer.c:1405 expire_timers kernel/time/timer.c:1450 [inline] __run_timers kernel/time/timer.c:1774 [inline] __run_timers kernel/time/timer.c:1741 [inline] run_timer_softirq+0x5f9/0x1500 kernel/time/timer.c:1787 __do_softirq+0x21e/0x9aa kernel/softirq.c:292 invoke_softirq kernel/softirq.c:373 [inline] irq_exit+0x178/0x1a0 kernel/softirq.c:413 exiting_irq arch/x86/include/asm/apic.h:546 [inline] smp_apic_timer_interrupt+0x141/0x540 arch/x86/kernel/apic/apic.c:1140 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829 RIP: 0010:unwind_next_frame+0x8b7/0x1de0 arch/x86/kernel/unwind_orc.c:573 Code: df 48 c1 e8 03 0f b6 0c 10 49 8d 41 01 48 89 c6 48 c1 ee 03 0f b6 14 16 4c 89 ce 83 e6 07 40 38 f1 40 0f 9e c6 84 c9 0f 95 c1 <40> 84 ce 0f 85 ad 0f 00 00 83 e0 07 38 c2 0f 9e c1 84 d2 0f 95 c0 RSP: 0018:ffff8881cfb3f508 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13 RAX: ffffffff882dd72d RBX: ffff8881cfb3f698 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff8881cfb3f6f0 RBP: ffff8881cfb3f6cd R08: ffffffff882dd728 R09: ffffffff882dd72c R10: 00000000000033da R11: 000000000004c01a R12: ffff8881cfb3f730 R13: ffff8881cfb3f6e8 R14: 0000000000000001 R15: 1ffff11039f67ea9 __unwind_start arch/x86/kernel/unwind_orc.c:691 [inline] __unwind_start+0x55f/0x900 arch/x86/kernel/unwind_orc.c:617 unwind_start arch/x86/include/asm/unwind.h:60 [inline] arch_stack_walk+0x5e/0xf0 arch/x86/kernel/stacktrace.c:24 stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:123 save_stack+0x1b/0x40 mm/kasan/common.c:49 set_track mm/kasan/common.c:57 [inline] __kasan_kmalloc mm/kasan/common.c:495 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:468 slab_post_alloc_hook mm/slab.h:586 [inline] slab_alloc_node mm/slub.c:2797 [inline] slab_alloc mm/slub.c:2805 [inline] kmem_cache_alloc+0xd8/0x300 mm/slub.c:2810 vm_area_dup+0x1c/0x1d0 kernel/fork.c:359 dup_mmap kernel/fork.c:546 [inline] dup_mm+0x450/0x1140 kernel/fork.c:1363 copy_mm kernel/fork.c:1419 [inline] copy_process+0x2752/0x64e0 kernel/fork.c:2085 _do_fork+0x12d/0xfd0 kernel/fork.c:2430 __do_sys_clone+0xef/0x150 kernel/fork.c:2586 do_syscall_64+0xb6/0x5a0 arch/x86/entry/common.c:295 entry_SYSCALL_64_after_hwframe+0x49/0xb3 RIP: 0033:0x7f12d7d0f38b Code: db 45 85 f6 0f 85 95 01 00 00 64 4c 8b 04 25 10 00 00 00 31 d2 4d 8d 90 d0 02 00 00 31 f6 bf 11 00 20 01 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 de 00 00 00 85 c0 41 89 c5 0f 85 e5 00 00 RSP: 002b:00007ffef39615f0 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 RAX: ffffffffffffffda RBX: 00007ffef39615f0 RCX: 00007f12d7d0f38b RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 RBP: 00007ffef3961640 R08: 00007f12d8ebf8c0 R09: 0000000000000210 R10: 00007f12d8ebfb90 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000020 R14: 0000000000000000 R15: 0000000000000000 Allocated by task 153: save_stack+0x1b/0x40 mm/kasan/common.c:49 set_track mm/kasan/common.c:57 [inline] __kasan_kmalloc mm/kasan/common.c:495 [inline] __kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:468 kmalloc_node include/linux/slab.h:578 [inline] kvmalloc_node+0x61/0xf0 mm/util.c:574 kvmalloc include/linux/mm.h:757 [inline] seq_buf_alloc fs/seq_file.c:32 [inline] seq_read+0x7be/0xfd0 fs/seq_file.c:181 kernfs_fop_read+0xe9/0x590 fs/kernfs/file.c:251 __vfs_read+0x76/0x100 fs/read_write.c:426 vfs_read+0x1f0/0x420 fs/read_write.c:462 ksys_read+0x12d/0x250 fs/read_write.c:588 do_syscall_64+0xb6/0x5a0 arch/x86/entry/common.c:295 entry_SYSCALL_64_after_hwframe+0x49/0xb3 Freed by task 153: save_stack+0x1b/0x40 mm/kasan/common.c:49 set_track mm/kasan/common.c:57 [inline] kasan_set_free_info mm/kasan/common.c:317 [inline] __kasan_slab_free+0x117/0x160 mm/kasan/common.c:456 slab_free_hook mm/slub.c:1455 [inline] slab_free_freelist_hook mm/slub.c:1488 [inline] slab_free mm/slub.c:3045 [inline] kfree+0xd5/0x300 mm/slub.c:4026 kvfree+0x42/0x50 mm/util.c:603 seq_release+0x4f/0x80 fs/seq_file.c:335 kernfs_fop_release+0xf2/0x190 fs/kernfs/file.c:780 __fput+0x33b/0x880 fs/file_table.c:280 task_work_run+0xf4/0x1b0 kernel/task_work.c:123 tracehook_notify_resume include/linux/tracehook.h:188 [inline] exit_to_usermode_loop+0x1d2/0x200 arch/x86/entry/common.c:165 prepare_exit_to_usermode arch/x86/entry/common.c:196 [inline] syscall_return_slowpath arch/x86/entry/common.c:279 [inline] do_syscall_64+0x4e0/0x5a0 arch/x86/entry/common.c:305 entry_SYSCALL_64_after_hwframe+0x49/0xb3 The buggy address belongs to the object at ffff8881ab088000 which belongs to the cache kmalloc-4k of size 4096 The buggy address is located 2080 bytes inside of 4096-byte region [ffff8881ab088000, ffff8881ab089000) The buggy address belongs to the page: page:ffffea0006ac2200 refcount:1 mapcount:0 mapping:000000000614487f index:0x0 head:ffffea0006ac2200 order:3 compound_mapcount:0 compound_pincount:0 flags: 0x200000000010200(slab|head) raw: 0200000000010200 dead000000000100 dead000000000122 ffff8881da00c280 raw: 0000000000000000 0000000000040004 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff8881ab088700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881ab088780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff8881ab088800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff8881ab088880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff8881ab088900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================