CVE-2026-90348
Description
In the Linux kernel, the following vulnerability has been resolved: wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump On WCN3990/SNOC the MSA region is mapped with devm_memremap(MEMREMAP_WT). On arm64 such a mapping is not Normal-cacheable, so unaligned accesses to it are not permitted. ath10k_msa_dump_memory() copies the region with a plain memcpy(), whose optimized __pi_memcpy_generic implementation issues wide/unaligned loads. This triggers an alignment fault (FSC=0x21) Oops in ath10k_snoc_fw_crashed_dump() while collecting the devcoredump: Unable to handle kernel paging request ... FSC=0x21: alignment fault pc : __pi_memcpy_generic lr : ath10k_snoc_fw_crashed_dump [ath10k_snoc] The Oops both leaves the firmware RAM dump buffer zeroed (no dump is captured) and crashes the kernel, which in turn breaks modem SSR recovery. Use memcpy_fromio(), which only performs accesses that are valid for such a device-memory mapping. The generic memcpy_fromio() implementation aligns the source before issuing word-sized reads and stores the destination with put_unaligned(), so it is also safe for the coherent DMA allocation used on the non-reserved-memory path. ath11k and ath12k use the same pattern when copying target memory into crash dumps, so call it unconditionally here too. The MEMREMAP_WT pointer is a plain void *, so an explicit __iomem cast is needed; use __force to keep sparse happy. Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.3.7.c5-00107-QCAHLSWMTPL-1
How to fix
- Linux Linuxe5bc3658da9c8a535e3fa5c0c875b2a456954e81, fed1f662c9f9fd19eeab6c01966b7b5a33804420, 838cab267ce9a975776e022f25094f8cbe1625d2, eb946595a58decdb4cab1b5f3c972ae66f41f1c8, 152e894e90716163c646d70f86b3afeb70442783, 7039825a7479df637c4f5d546cb0e1cec18cd8e1, 045d1bfb72d2631ab9ec74afa491aa788ebb57aa, 4f25071afe9218aaae1c63fbf75e229aa6405319 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | 3f14b73c38431a6a1ed24de568e18ed89b7082e2 ≤ v < e5bc3658da9c8a535e3fa5c0c875b2a456954e81, 3f14b73c38431a6a1ed24de568e18ed89b7082e2 ≤ v < fed1f662c9f9fd19eeab6c01966b7b5a33804420, 3f14b73c38431a6a1ed24de568e18ed89b7082e2 ≤ v < 838cab267ce9a975776e022f25094f8cbe1625d2, 3f14b73c38431a6a1ed24de568e18ed89b7082e2 ≤ v < eb946595a58decdb4cab1b5f3c972ae66f41f1c8, 3f14b73c38431a6a1ed24de568e18ed89b7082e2 ≤ v < 152e894e90716163c646d70f86b3afeb70442783, 3f14b73c38431a6a1ed24de568e18ed89b7082e2 ≤ v < 7039825a7479df637c4f5d546cb0e1cec18cd8e1, 3f14b73c38431a6a1ed24de568e18ed89b7082e2 ≤ v < 045d1bfb72d2631ab9ec74afa491aa788ebb57aa, 3f14b73c38431a6a1ed24de568e18ed89b7082e2 ≤ v < 4f25071afe9218aaae1c63fbf75e229aa6405319, 5.5 | e5bc3658da9c8a535e3fa5c0c875b2a456954e81, fed1f662c9f9fd19eeab6c01966b7b5a33804420, 838cab267ce9a975776e022f25094f8cbe1625d2, eb946595a58decdb4cab1b5f3c972ae66f41f1c8, 152e894e90716163c646d70f86b3afeb70442783, 7039825a7479df637c4f5d546cb0e1cec18cd8e1, 045d1bfb72d2631ab9ec74afa491aa788ebb57aa, 4f25071afe9218aaae1c63fbf75e229aa6405319 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.