syzbot


KASAN: out-of-bounds Read in ath9k_hif_usb_rx_cb

Status: closed as dup on 2020/06/12 13:00
Subsystems: wireless
[Documentation on labels]
Reported-by: syzbot+d7289ef49bcdfd654265@syzkaller.appspotmail.com
First crash: 1633d, last: 1592d
Duplicate of
Title Repro Cause bisect Fix bisect Count Last Reported
KASAN: stack-out-of-bounds Write in ath9k_hif_usb_rx_cb wireless C 57 1624d 1698d
Discussions (1)
Title Replies (including bot) Last reply
KASAN: out-of-bounds Read in ath9k_hif_usb_rx_cb 1 (2) 2020/06/12 13:00
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: out-of-bounds Read in ath9k_hif_usb_rx_cb (3) wireless usb C unreliable done 7 1013d 1417d 20/28 fixed on 2022/03/16 16:10
upstream KASAN: out-of-bounds Read in ath9k_hif_usb_rx_cb (2) wireless 1 1578d 1578d 0/28 auto-closed as invalid on 2020/11/25 16:55
upstream KASAN: slab-out-of-bounds Read in ath9k_hif_usb_rx_cb (2) wireless C error 4233 834d 1576d 0/28 closed as dup on 2021/01/13 11:30

Sample crash report:
==================================================================
BUG: KASAN: out-of-bounds in ath9k_hif_usb_rx_stream drivers/net/wireless/ath/ath9k/hif_usb.c:627 [inline]
BUG: KASAN: out-of-bounds in ath9k_hif_usb_rx_cb+0xd7d/0xf80 drivers/net/wireless/ath/ath9k/hif_usb.c:671
Read of size 4 at addr ffff8881c529c090 by task swapper/0/0

CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.8.0-rc3-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+0xf6/0x16e lib/dump_stack.c:118
 print_address_description.constprop.0+0x1a/0x210 mm/kasan/report.c:383
 __kasan_report mm/kasan/report.c:513 [inline]
 kasan_report.cold+0x37/0x7c mm/kasan/report.c:530
 ath9k_hif_usb_rx_stream drivers/net/wireless/ath/ath9k/hif_usb.c:627 [inline]
 ath9k_hif_usb_rx_cb+0xd7d/0xf80 drivers/net/wireless/ath/ath9k/hif_usb.c:671
 __usb_hcd_giveback_urb+0x32d/0x560 drivers/usb/core/hcd.c:1650
 usb_hcd_giveback_urb+0x367/0x410 drivers/usb/core/hcd.c:1716
 dummy_timer+0x11f2/0x3240 drivers/usb/gadget/udc/dummy_hcd.c:1967
 call_timer_fn+0x1ac/0x6e0 kernel/time/timer.c:1404
 expire_timers kernel/time/timer.c:1449 [inline]
 __run_timers.part.0+0x54c/0x9e0 kernel/time/timer.c:1773
 __run_timers kernel/time/timer.c:1745 [inline]
 run_timer_softirq+0x80/0x120 kernel/time/timer.c:1786
 __do_softirq+0x222/0x95b kernel/softirq.c:292
 asm_call_on_stack+0xf/0x20 arch/x86/entry/entry_64.S:711
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:22 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:48 [inline]
 do_softirq_own_stack+0xed/0x140 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:387 [inline]
 __irq_exit_rcu kernel/softirq.c:417 [inline]
 irq_exit_rcu+0x150/0x1f0 kernel/softirq.c:429
 sysvec_apic_timer_interrupt+0x49/0xc0 arch/x86/kernel/apic/apic.c:1091
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:596
RIP: 0010:native_irq_disable arch/x86/include/asm/irqflags.h:49 [inline]
RIP: 0010:arch_local_irq_disable arch/x86/include/asm/irqflags.h:89 [inline]
RIP: 0010:acpi_safe_halt+0x72/0x90 drivers/acpi/processor_idle.c:112
Code: 74 06 5b e9 60 c8 8f fb e8 5b c8 8f fb e8 a6 53 95 fb e9 0c 00 00 00 e8 4c c8 8f fb 0f 00 2d c5 e5 74 00 e8 40 c8 8f fb fb f4 <fa> e8 98 4d 95 fb 5b e9 32 c8 8f fb 48 89 df e8 fa 72 b9 fb eb ab
RSP: 0018:ffffffff87207c80 EFLAGS: 00000293
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffffffff8722f840 RSI: ffffffff85afd9a0 RDI: ffffffff85afd98a
RBP: ffff8881d9287864 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff8881d9287864
R13: 1ffffffff0e40f99 R14: ffff8881d9287865 R15: 0000000000000001
 acpi_idle_do_entry+0x15c/0x1b0 drivers/acpi/processor_idle.c:525
 acpi_idle_enter+0x3f0/0xa50 drivers/acpi/processor_idle.c:651
 cpuidle_enter_state+0xff/0x870 drivers/cpuidle/cpuidle.c:235
 cpuidle_enter+0x4a/0xa0 drivers/cpuidle/cpuidle.c:346
 call_cpuidle kernel/sched/idle.c:126 [inline]
 cpuidle_idle_call kernel/sched/idle.c:214 [inline]
 do_idle+0x3d6/0x5a0 kernel/sched/idle.c:276
 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:372
 start_kernel+0xa1b/0xa56 init/main.c:1043
 secondary_startup_64+0xb6/0xc0 arch/x86/kernel/head_64.S:243

general protection fault, probably for non-canonical address 0xdead000000000400: 0000 [#1] SMP KASAN
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.8.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:nearest_obj include/linux/slub_def.h:176 [inline]
RIP: 0010:print_address_description.constprop.0+0x18e/0x210 mm/kasan/report.c:388
Code: c4 60 5b 5d 41 5c 41 5d c3 4c 89 e6 48 2b 35 79 da a3 05 48 89 e8 49 8b 5c 24 18 48 c1 fe 06 48 c1 e6 0c 48 03 35 72 da a3 05 <8b> 4b 18 48 29 f0 48 99 48 89 cf 48 f7 f9 41 0f b7 44 24 2a 48 89
RSP: 0018:ffff8881db209838 EFLAGS: 00010086
RAX: ffff8881c529c090 RBX: dead000000000400 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffff8881c529c000 RDI: ffffed103b6412f9
RBP: ffff8881c529c090 R08: 0000000000000000 R09: ffff8881db21fe8b
R10: 0000000000000000 R11: 0000000000000002 R12: ffffea000714a700
R13: ffffffff82e1fe4d R14: ffffffff82e1fe4d R15: ffff8881c529b100
FS:  0000000000000000(0000) GS:ffff8881db200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b31724000 CR3: 00000001ac305000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 __kasan_report mm/kasan/report.c:513 [inline]
 kasan_report.cold+0x37/0x7c mm/kasan/report.c:530
 ath9k_hif_usb_rx_stream drivers/net/wireless/ath/ath9k/hif_usb.c:627 [inline]
 ath9k_hif_usb_rx_cb+0xd7d/0xf80 drivers/net/wireless/ath/ath9k/hif_usb.c:671
 __usb_hcd_giveback_urb+0x32d/0x560 drivers/usb/core/hcd.c:1650
 usb_hcd_giveback_urb+0x367/0x410 drivers/usb/core/hcd.c:1716
 dummy_timer+0x11f2/0x3240 drivers/usb/gadget/udc/dummy_hcd.c:1967
 call_timer_fn+0x1ac/0x6e0 kernel/time/timer.c:1404
 expire_timers kernel/time/timer.c:1449 [inline]
 __run_timers.part.0+0x54c/0x9e0 kernel/time/timer.c:1773
 __run_timers kernel/time/timer.c:1745 [inline]
 run_timer_softirq+0x80/0x120 kernel/time/timer.c:1786
 __do_softirq+0x222/0x95b kernel/softirq.c:292
 asm_call_on_stack+0xf/0x20 arch/x86/entry/entry_64.S:711
 </IRQ>
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:22 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:48 [inline]
 do_softirq_own_stack+0xed/0x140 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:387 [inline]
 __irq_exit_rcu kernel/softirq.c:417 [inline]
 irq_exit_rcu+0x150/0x1f0 kernel/softirq.c:429
 sysvec_apic_timer_interrupt+0x49/0xc0 arch/x86/kernel/apic/apic.c:1091
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:596
RIP: 0010:native_irq_disable arch/x86/include/asm/irqflags.h:49 [inline]
RIP: 0010:arch_local_irq_disable arch/x86/include/asm/irqflags.h:89 [inline]
RIP: 0010:acpi_safe_halt+0x72/0x90 drivers/acpi/processor_idle.c:112
Code: 74 06 5b e9 60 c8 8f fb e8 5b c8 8f fb e8 a6 53 95 fb e9 0c 00 00 00 e8 4c c8 8f fb 0f 00 2d c5 e5 74 00 e8 40 c8 8f fb fb f4 <fa> e8 98 4d 95 fb 5b e9 32 c8 8f fb 48 89 df e8 fa 72 b9 fb eb ab
RSP: 0018:ffffffff87207c80 EFLAGS: 00000293
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: ffffffff8722f840 RSI: ffffffff85afd9a0 RDI: ffffffff85afd98a
RBP: ffff8881d9287864 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000000 R12: ffff8881d9287864
R13: 1ffffffff0e40f99 R14: ffff8881d9287865 R15: 0000000000000001
 acpi_idle_do_entry+0x15c/0x1b0 drivers/acpi/processor_idle.c:525
 acpi_idle_enter+0x3f0/0xa50 drivers/acpi/processor_idle.c:651
 cpuidle_enter_state+0xff/0x870 drivers/cpuidle/cpuidle.c:235
 cpuidle_enter+0x4a/0xa0 drivers/cpuidle/cpuidle.c:346
 call_cpuidle kernel/sched/idle.c:126 [inline]
 cpuidle_idle_call kernel/sched/idle.c:214 [inline]
 do_idle+0x3d6/0x5a0 kernel/sched/idle.c:276
 cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:372
 start_kernel+0xa1b/0xa56 init/main.c:1043
 secondary_startup_64+0xb6/0xc0 arch/x86/kernel/head_64.S:243
Modules linked in:
---[ end trace cd4993aec6039b96 ]---
RIP: 0010:nearest_obj include/linux/slub_def.h:176 [inline]
RIP: 0010:print_address_description.constprop.0+0x18e/0x210 mm/kasan/report.c:388
Code: c4 60 5b 5d 41 5c 41 5d c3 4c 89 e6 48 2b 35 79 da a3 05 48 89 e8 49 8b 5c 24 18 48 c1 fe 06 48 c1 e6 0c 48 03 35 72 da a3 05 <8b> 4b 18 48 29 f0 48 99 48 89 cf 48 f7 f9 41 0f b7 44 24 2a 48 89
RSP: 0018:ffff8881db209838 EFLAGS: 00010086
RAX: ffff8881c529c090 RBX: dead000000000400 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffff8881c529c000 RDI: ffffed103b6412f9
RBP: ffff8881c529c090 R08: 0000000000000000 R09: ffff8881db21fe8b
R10: 0000000000000000 R11: 0000000000000002 R12: ffffea000714a700
R13: ffffffff82e1fe4d R14: ffffffff82e1fe4d R15: ffff8881c529b100
FS:  0000000000000000(0000) GS:ffff8881db200000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b31724000 CR3: 00000001ac305000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (8):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/07/14 09:06 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 25051b55a2f6 ce4c95b3 .config console log report ci2-upstream-usb
2020/07/12 02:53 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 25051b55a2f6 7ba05d2d .config console log report ci2-upstream-usb
2020/07/06 22:23 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 768a07412843 ef278c73 .config console log report ci2-upstream-usb
2020/07/03 21:13 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 768a07412843 6e569755 .config console log report ci2-upstream-usb
2020/06/30 10:45 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing 9cf6ffae3800 917afeaa .config console log report ci2-upstream-usb
2020/06/29 05:11 https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing b3a5ce874c26 a2cdad9d .config console log report ci2-upstream-usb
2020/06/06 04:36 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 c3e9afb3 .config console log report ci2-upstream-usb
2020/06/03 13:59 https://github.com/google/kasan.git usb-fuzzer 2089c6ed5a17 a5ce5de0 .config console log report ci2-upstream-usb
* Struck through repros no longer work on HEAD.