• Sven Eckelmann's avatar
    ath9k: Access rchan::buf only with per_cpu helper · 07460b92
    Sven Eckelmann authored
    The relayfs was changed to use per CPU constructs to handle the rchan
    buffers. But the users of the rchan buffers in other parts of the kernel
    were not modified. This caused crashes like
    
      BUG: unable to handle kernel paging request at 00003a5198a0b910
      IP: [<ffffffffa973cb3a>] ath_cmn_process_fft+0xea/0x610
      PGD 0 [  179.522449]
      Oops: 0000 [#1] SMP
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.9.0-rc5 #1
      [...]
      Call Trace:
       <IRQ> [  179.656426]  [<ffffffffa9704373>] ? ath_rx_tasklet+0x2f3/0xd10
       [<ffffffffa9702106>] ? ath9k_tasklet+0x1b6/0x230
       [<ffffffffa90dcbd1>] ? tasklet_action+0xf1/0x100
       [<ffffffffa9a3cb3f>] ? __do_softirq+0xef/0x284
       [<ffffffffa90dd22e>] ? irq_exit+0xae/0xb0
       [<ffffffffa9a3c89f>] ? do_IRQ+0x4f/0xd0
       [<ffffffffa9a3aa42>] ? common_interrupt+0x82/0x82
       <EOI> [  179.703152]  [<ffffffffa9a39c1d>] ? poll_idle+0x2d/0x57
       [<ffffffffa908c845>] ? sched_clock+0x5/0x10
       [<ffffffffa97bc8d6>] ? cpuidle_enter_state+0xf6/0x2d0
       [<ffffffffa911988e>] ? cpu_startup_entry+0x14e/0x230
       [<ffffffffaa3cdf70>] ? start_kernel+0x461/0x481
       [<ffffffffaa3cd120>] ? early_idt_handler_array+0x120/0x120
       [<ffffffffaa3cd413>] ? x86_64_start_kernel+0x14c/0x170
      Code: 31 db 41 be ff ff ff ff 4c 8b 26 48 8b 6e 08 49 8b 84 24 60 05 00
            00 48 8b 00 0f b7 40 04 66 89 44 24 48 eb 11 48 8b 55 40 48 98 <48>
            8b 3c c2 e8 ad a0 a4 ff 01 c3 41 8d 56 01 be 00 02 00 00 48
      RIP  [<ffffffffa973cb3a>] ath_cmn_process_fft+0xea/0x610
       RSP <ffff9b43e7003d20>
      CR2: 00003a5198a0b910
    
    Fixes: 017c59c0 ("relay: Use per CPU constructs for the relay channel buffer pointers")
    Cc: Akash Goel <akash.goel@intel.com>
    Cc: Nick Kossifidis <mickflemm@gmail.com>
    Reported-by: default avatarMathias Kretschmer <mathias.kretschmer@fit.fraunhofer.de>
    Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
    Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
    07460b92
common-spectral.c 30.4 KB