syzbot


KASAN: stack-out-of-bounds Write in ath9k_hif_usb_rx_cb

Status: fixed on 2020/07/17 17:58
Subsystems: wireless (incorrect?)
Reported-by: syzbot+d403396d4df67ad0bd5f@syzkaller.appspotmail.com
Fix commit: 19d6c375d671 ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb
First crash: 1090d, last: 1017d
duplicates (2):
Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
KASAN: slab-out-of-bounds Read in ath9k_hif_usb_rx_cb C 80 983d 1042d 0/24 closed as dup on 2020/06/12 13:00
KASAN: out-of-bounds Read in ath9k_hif_usb_rx_cb 8 985d 1025d 0/24 closed as dup on 2020/06/12 13:00
Last patch testing requests:
Created Duration User Patch Repo Result
2020/04/03 20:41 17m anenbupt@gmail.com patch https://github.com/google/kasan.git usb-fuzzer OK
2020/03/31 02:54 12m anenbupt@gmail.com patch https://github.com/google/kasan.git usb-fuzzer report log
2020/03/31 02:38 5m anenbupt@gmail.com patch https://github.com/google/kasan.git usb-fuzzer error

Sample crash report:
==================================================================
BUG: KASAN: stack-out-of-bounds in ath9k_hif_usb_rx_stream drivers/net/wireless/ath/ath9k/hif_usb.c:626 [inline]
BUG: KASAN: stack-out-of-bounds in ath9k_hif_usb_rx_cb+0xe11/0xf90 drivers/net/wireless/ath/ath9k/hif_usb.c:666
Write of size 8 at addr ffff8881db209a08 by task swapper/0/0

CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.7.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __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
 ath9k_hif_usb_rx_stream drivers/net/wireless/ath/ath9k/hif_usb.c:626 [inline]
 ath9k_hif_usb_rx_cb+0xe11/0xf90 drivers/net/wireless/ath/ath9k/hif_usb.c:666
 __usb_hcd_giveback_urb+0x1f2/0x470 drivers/usb/core/hcd.c:1648
 usb_hcd_giveback_urb+0x368/0x420 drivers/usb/core/hcd.c:1713
 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
 </IRQ>
RIP: 0010:default_idle+0x28/0x300 arch/x86/kernel/process.c:698
Code: cc cc 41 56 41 55 65 44 8b 2d 94 3f 6b 7a 41 54 55 53 0f 1f 44 00 00 e8 06 27 af fb e9 07 00 00 00 0f 00 2d 7a e1 4b 00 fb f4 <65> 44 8b 2d 70 3f 6b 7a 0f 1f 44 00 00 5b 5d 41 5c 41 5d 41 5e c3
RSP: 0018:ffffffff87007da0 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff13
RAX: 0000000000000007 RBX: ffffffff8702f800 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000006 RDI: ffffffff8703007c
RBP: fffffbfff0e05f00 R08: ffffffff8702f800 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: ffffffff87e88e00 R15: 0000000000000000
 cpuidle_idle_call kernel/sched/idle.c:154 [inline]
 do_idle+0x3e0/0x500 kernel/sched/idle.c:269
 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:361
 start_kernel+0x9bb/0x9f8 init/main.c:1040
 secondary_startup_64+0xb6/0xc0 arch/x86/kernel/head_64.S:242

The buggy address belongs to the page:
page:ffffea00076c8240 refcount:1 mapcount:0 mapping:00000000610b4f7e index:0x0
flags: 0x200000000001000(reserved)
raw: 0200000000001000 ffffea00076c8248 ffffea00076c8248 0000000000000000
raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff8881db209900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff8881db209980: 00 f1 f1 f1 f1 f1 f1 00 00 00 00 00 00 00 00 00
>ffff8881db209a00: 00 f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00
                      ^
 ffff8881db209a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff8881db209b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================

Crashes (57):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets Title
ci2-upstream-usb 2020/05/28 23:43 https://github.com/google/kasan.git usb-fuzzer d19c64b3d097 c7192a2f .config console log report syz C
ci2-upstream-usb 2020/03/30 17:45 https://github.com/google/kasan.git usb-fuzzer 0fa84af850a4 c8d1cc20 .config console log report syz C
ci2-upstream-usb 2020/06/11 23:36 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 1beaee21 .config console log report
ci2-upstream-usb 2020/06/10 19:47 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 5caaad3a .config console log report
ci2-upstream-usb 2020/06/09 15:33 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 092934c1 .config console log report
ci2-upstream-usb 2020/06/09 04:45 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 0d60b78a .config console log report
ci2-upstream-usb 2020/06/09 00:43 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 0d60b78a .config console log report
ci2-upstream-usb 2020/06/08 16:28 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 7604bb03 .config console log report
ci2-upstream-usb 2020/06/08 11:33 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 7604bb03 .config console log report
ci2-upstream-usb 2020/06/08 01:51 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 7751efd0 .config console log report
ci2-upstream-usb 2020/06/07 21:56 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 7751efd0 .config console log report
ci2-upstream-usb 2020/06/07 13:45 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 2c2b926c .config console log report
ci2-upstream-usb 2020/06/07 00:32 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 e6b89e4e .config console log report
ci2-upstream-usb 2020/06/06 03:20 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 c3e9afb3 .config console log report
ci2-upstream-usb 2020/06/05 23:59 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 d36418e9 .config console log report
ci2-upstream-usb 2020/06/05 18:12 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 d36418e9 .config console log report
ci2-upstream-usb 2020/06/05 08:19 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 2420d1bc .config console log report
ci2-upstream-usb 2020/06/03 17:45 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 a5ce5de0 .config console log report
ci2-upstream-usb 2020/06/03 07:23 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 f3ba1b5b .config console log report
ci2-upstream-usb 2020/06/02 07:54 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 a0331e89 .config console log report
ci2-upstream-usb 2020/05/31 17:01 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 a0331e89 .config console log report
ci2-upstream-usb 2020/05/31 06:21 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 6f3e1c7c .config console log report
ci2-upstream-usb 2020/05/30 12:07 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 954bd312 .config console log report
ci2-upstream-usb 2020/05/29 19:44 https://github.com/google/kasan.git usb-fuzzer d19c64b3d097 bed08304 .config console log report
ci2-upstream-usb 2020/05/29 15:33 https://github.com/google/kasan.git usb-fuzzer d19c64b3d097 bed08304 .config console log report
ci2-upstream-usb 2020/05/29 07:21 https://github.com/google/kasan.git usb-fuzzer d19c64b3d097 d19ed305 .config console log report
ci2-upstream-usb 2020/05/28 17:48 https://github.com/google/kasan.git usb-fuzzer d19c64b3d097 c7192a2f .config console log report
ci2-upstream-usb 2020/05/28 11:13 https://github.com/google/kasan.git usb-fuzzer d19c64b3d097 9072c126 .config console log report
ci2-upstream-usb 2020/05/27 21:26 https://github.com/google/kasan.git usb-fuzzer d19c64b3d097 9072c126 .config console log report
ci2-upstream-usb 2020/05/26 08:27 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 8ca3b7d2 .config console log report
ci2-upstream-usb 2020/05/25 23:33 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 73964a9b .config console log report
ci2-upstream-usb 2020/05/25 15:56 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 73964a9b .config console log report
ci2-upstream-usb 2020/05/24 14:54 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 ce7ca010 .config console log report
ci2-upstream-usb 2020/05/24 14:53 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 ce7ca010 .config console log report
ci2-upstream-usb 2020/05/24 07:01 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 96c92ad3 .config console log report
ci2-upstream-usb 2020/05/24 04:55 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 96c92ad3 .config console log report
ci2-upstream-usb 2020/05/23 21:10 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 4afdfa20 .config console log report
ci2-upstream-usb 2020/05/23 09:58 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 4afdfa20 .config console log report
ci2-upstream-usb 2020/05/23 09:41 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 4afdfa20 .config console log report
ci2-upstream-usb 2020/05/23 00:48 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 4afdfa20 .config console log report
ci2-upstream-usb 2020/05/22 09:24 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 4afdfa20 .config console log report
ci2-upstream-usb 2020/05/22 07:39 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 4afdfa20 .config console log report
ci2-upstream-usb 2020/05/21 07:39 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 4afdfa20 .config console log report
ci2-upstream-usb 2020/05/19 01:02 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 684d3606 .config console log report
ci2-upstream-usb 2020/05/18 12:17 https://github.com/google/kasan.git usb-fuzzer 806d8acc2890 24d91142 .config console log report
ci2-upstream-usb 2020/05/12 14:06 https://github.com/google/kasan.git usb-fuzzer 059e7e0ff26c a497a5b4 .config console log report
ci2-upstream-usb 2020/05/11 04:04 https://github.com/google/kasan.git usb-fuzzer 059e7e0ff26c 8742a2b9 .config console log report
ci2-upstream-usb 2020/05/04 06:14 https://github.com/google/kasan.git usb-fuzzer 059e7e0ff26c 58ae5e18 .config console log report
ci2-upstream-usb 2020/04/28 05:31 https://github.com/google/kasan.git usb-fuzzer 059e7e0ff26c 0ce7569e .config console log report
ci2-upstream-usb 2020/04/24 01:47 https://github.com/google/kasan.git usb-fuzzer e9010320f2d9 b9233cab .config console log report
ci2-upstream-usb 2020/04/20 12:36 https://github.com/google/kasan.git usb-fuzzer 0fa84af850a4 347a5dc3 .config console log report
ci2-upstream-usb 2020/04/20 03:05 https://github.com/google/kasan.git usb-fuzzer 0fa84af850a4 9f7c6d12 .config console log report
ci2-upstream-usb 2020/04/17 02:46 https://github.com/google/kasan.git usb-fuzzer 0fa84af850a4 c743fcb3 .config console log report
ci2-upstream-usb 2020/04/14 00:45 https://github.com/google/kasan.git usb-fuzzer 0fa84af850a4 7c54686a .config console log report
ci2-upstream-usb 2020/04/13 16:28 https://github.com/google/kasan.git usb-fuzzer 0fa84af850a4 17a986e5 .config console log report
ci2-upstream-usb 2020/04/10 19:01 https://github.com/google/kasan.git usb-fuzzer 0fa84af850a4 a8c6a3f8 .config console log report
ci2-upstream-usb 2020/03/30 17:20 https://github.com/google/kasan.git usb-fuzzer 0fa84af850a4 c8d1cc20 .config console log report
* Struck through repros no longer work on HEAD.