| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2022-49523: ath11k: disable spectral scan during spectral deinit |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| ath11k: disable spectral scan during spectral deinit |
| |
| When ath11k modules are removed using rmmod with spectral scan enabled, |
| crash is observed. Different crash trace is observed for each crash. |
| |
| Send spectral scan disable WMI command to firmware before cleaning |
| the spectral dbring in the spectral_deinit API to avoid this crash. |
| |
| call trace from one of the crash observed: |
| [ 1252.880802] Unable to handle kernel NULL pointer dereference at virtual address 00000008 |
| [ 1252.882722] pgd = 0f42e886 |
| [ 1252.890955] [00000008] *pgd=00000000 |
| [ 1252.893478] Internal error: Oops: 5 [#1] PREEMPT SMP ARM |
| [ 1253.093035] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.4.89 #0 |
| [ 1253.115261] Hardware name: Generic DT based system |
| [ 1253.121149] PC is at ath11k_spectral_process_data+0x434/0x574 [ath11k] |
| [ 1253.125940] LR is at 0x88e31017 |
| [ 1253.132448] pc : [<7f9387b8>] lr : [<88e31017>] psr: a0000193 |
| [ 1253.135488] sp : 80d01bc8 ip : 00000001 fp : 970e0000 |
| [ 1253.141737] r10: 88e31000 r9 : 970ec000 r8 : 00000080 |
| [ 1253.146946] r7 : 94734040 r6 : a0000113 r5 : 00000057 r4 : 00000000 |
| [ 1253.152159] r3 : e18cb694 r2 : 00000217 r1 : 1df1f000 r0 : 00000001 |
| [ 1253.158755] Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user |
| [ 1253.165266] Control: 10c0383d Table: 5e71006a DAC: 00000055 |
| [ 1253.172472] Process swapper/0 (pid: 0, stack limit = 0x60870141) |
| [ 1253.458055] [<7f9387b8>] (ath11k_spectral_process_data [ath11k]) from [<7f917fdc>] (ath11k_dbring_buffer_release_event+0x214/0x2e4 [ath11k]) |
| [ 1253.466139] [<7f917fdc>] (ath11k_dbring_buffer_release_event [ath11k]) from [<7f8ea3c4>] (ath11k_wmi_tlv_op_rx+0x1840/0x29cc [ath11k]) |
| [ 1253.478807] [<7f8ea3c4>] (ath11k_wmi_tlv_op_rx [ath11k]) from [<7f8fe868>] (ath11k_htc_rx_completion_handler+0x180/0x4e0 [ath11k]) |
| [ 1253.490699] [<7f8fe868>] (ath11k_htc_rx_completion_handler [ath11k]) from [<7f91308c>] (ath11k_ce_per_engine_service+0x2c4/0x3b4 [ath11k]) |
| [ 1253.502386] [<7f91308c>] (ath11k_ce_per_engine_service [ath11k]) from [<7f9a4198>] (ath11k_pci_ce_tasklet+0x28/0x80 [ath11k_pci]) |
| [ 1253.514811] [<7f9a4198>] (ath11k_pci_ce_tasklet [ath11k_pci]) from [<8032227c>] (tasklet_action_common.constprop.2+0x64/0xe8) |
| [ 1253.526476] [<8032227c>] (tasklet_action_common.constprop.2) from [<803021e8>] (__do_softirq+0x130/0x2d0) |
| [ 1253.537756] [<803021e8>] (__do_softirq) from [<80322610>] (irq_exit+0xcc/0xe8) |
| [ 1253.547304] [<80322610>] (irq_exit) from [<8036a4a4>] (__handle_domain_irq+0x60/0xb4) |
| [ 1253.554428] [<8036a4a4>] (__handle_domain_irq) from [<805eb348>] (gic_handle_irq+0x4c/0x90) |
| [ 1253.562321] [<805eb348>] (gic_handle_irq) from [<80301a78>] (__irq_svc+0x58/0x8c) |
| |
| Tested-on: QCN6122 hw1.0 AHB WLAN.HK.2.6.0.1-00851-QCAHKSWPL_SILICONZ-1 |
| |
| The Linux kernel CVE team has assigned CVE-2022-49523 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 5.6 with commit d5c65159f2895379e11ca13f62feabe93278985d and fixed in 5.10.121 with commit 60afa4f4e1350c876d8a061182a70c224de275dd |
| Issue introduced in 5.6 with commit d5c65159f2895379e11ca13f62feabe93278985d and fixed in 5.15.46 with commit 451b9076903a057b7b8d5b24dc84b3e436a1c743 |
| Issue introduced in 5.6 with commit d5c65159f2895379e11ca13f62feabe93278985d and fixed in 5.17.14 with commit 4b9c54caef58d2b55074710952cda70540722c01 |
| Issue introduced in 5.6 with commit d5c65159f2895379e11ca13f62feabe93278985d and fixed in 5.18.3 with commit 8f15e67af9bec5a69e815e0230a70cffddae371a |
| Issue introduced in 5.6 with commit d5c65159f2895379e11ca13f62feabe93278985d and fixed in 5.19 with commit 161c64de239c7018e0295e7e0520a19f00aa32dc |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2022-49523 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| drivers/net/wireless/ath/ath11k/spectral.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/60afa4f4e1350c876d8a061182a70c224de275dd |
| https://git.kernel.org/stable/c/451b9076903a057b7b8d5b24dc84b3e436a1c743 |
| https://git.kernel.org/stable/c/4b9c54caef58d2b55074710952cda70540722c01 |
| https://git.kernel.org/stable/c/8f15e67af9bec5a69e815e0230a70cffddae371a |
| https://git.kernel.org/stable/c/161c64de239c7018e0295e7e0520a19f00aa32dc |