Description
In the Linux kernel, the following vulnerability has been resolved: hwmon: (nzxt-smart2) DMA-align output buffer Sashiko reports: When send_output_report() calls hid_hw_output_report(), the underlying USB HID core calls usb_interrupt_msg() which maps this buffer directly for DMA. When the DMA mapping flushes or invalidates the cacheline, it will corrupt the adjacent variables (mutex, update_interval) that were modified concurrently by the CPU. This causes memory corruption due to cacheline sharing on non-coherent CPU architectures (such as ARM or MIPS). The DMA API debugging tool (CONFIG_DMA_API_DEBUG) will trigger runtime warnings for this violation. Any operation that triggers send_output_report() (like setting a fan speed or updating the interval) causes the USB DMA mapping. On systems with non-coherent caches, this structural bug causes immediate and deterministic memory corruption. Align the output buffer to ARCH_DMA_MINALIGN to fix the problem.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
53e68c20aeb1e23419bed811aa3a309ceda200f9 to < 81a6593b1c8dfb2694cd0ce39be01212d2b8436caffected53e68c20aeb1e23419bed811aa3a309ceda200f9 to < 70ad543ce81f368411b6c721265a3b2d7ab4fda4affected53e68c20aeb1e23419bed811aa3a309ceda200f9 to < 51a76bc1b8e717ee3fc0d84f15ac51490ca5f76faffected53e68c20aeb1e23419bed811aa3a309ceda200f9 to < 2332d35aaf206c17acf848522817252732596676affected53e68c20aeb1e23419bed811aa3a309ceda200f9 to < 6a2dbce5da2d2163a5b684acf68a0e54582ff0faaffected53e68c20aeb1e23419bed811aa3a309ceda200f9 to < 080bbf42faf77e6489ab30d5114c5f8f6ccbb1b8affected
Linux Linux
Default version status: affected
5.17affected0 to < 5.17unaffected6.1.183 to ≤ 6.1.*unaffected6.6.151 to ≤ 6.6.*unaffected6.12.103 to ≤ 6.12.*unaffected6.18.44 to ≤ 6.18.*unaffected7.1.8 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/81a6593b1c8dfb2694cd0ce39be01212d2b8436c ↗
- https://git.kernel.org/stable/c/70ad543ce81f368411b6c721265a3b2d7ab4fda4 ↗
- https://git.kernel.org/stable/c/51a76bc1b8e717ee3fc0d84f15ac51490ca5f76f ↗
- https://git.kernel.org/stable/c/2332d35aaf206c17acf848522817252732596676 ↗
- https://git.kernel.org/stable/c/6a2dbce5da2d2163a5b684acf68a0e54582ff0fa ↗
- https://git.kernel.org/stable/c/080bbf42faf77e6489ab30d5114c5f8f6ccbb1b8 ↗