CVE-2024-35818
📋 TL;DR
This CVE addresses a memory ordering vulnerability in the Linux kernel on LoongArch architecture where the __io_aw() hook wasn't properly defined as mmiowb(), potentially causing GPU lockups and system instability. It affects systems using LoongArch processors with certain graphics drivers like Radeon. The issue manifests as GPU stalls and rendering failures during graphics operations.
💻 Affected Systems
- Linux kernel
📦 What is this software?
Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →Linux Kernel by Linux
The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...
Learn more about Linux Kernel →⚠️ Risk & Real-World Impact
Worst Case
System instability, GPU lockups, data corruption, or denial of service during graphics-intensive operations, potentially leading to system crashes.
Likely Case
GPU stalls and rendering failures when running graphics applications like glxgears, causing application crashes and degraded performance.
If Mitigated
Minor performance impact during graphics operations with proper memory ordering enforced.
🎯 Exploit Status
This is a stability/performance issue rather than a security vulnerability with traditional exploitation. Requires local access and specific hardware/software configuration.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Multiple stable kernel patches available (see references)
Vendor Advisory: https://git.kernel.org/stable/c/0b61a7dc6712b78799b3949997e8a5e94db5c4b0
Restart Required: Yes
Instructions:
1. Update Linux kernel to patched version 2. Apply specific commit: 0b61a7dc6712b78799b3949997e8a5e94db5c4b0 3. Reboot system
🔧 Temporary Workarounds
Avoid graphics-intensive applications
linuxTemporarily avoid running graphics applications that trigger the GPU lockup condition
🧯 If You Can't Patch
- Avoid using affected graphics drivers on LoongArch systems
- Monitor system logs for GPU stall warnings and restart affected services
🔍 How to Verify
Check if Vulnerable:
Check kernel version and architecture: uname -a, then verify if running on LoongArch with affected kernel
Check Version:
uname -r
Verify Fix Applied:
Check kernel version includes the fix commit: git log --oneline | grep '0b61a7dc6712b78799b3949997e8a5e94db5c4b0'
📡 Detection & Monitoring
Log Indicators:
- radeon.*ring.*stalled
- GPU lockup
- scheduling IB failed
- Couldn't update BO_VA
SIEM Query:
source="kernel" AND ("ring stalled" OR "GPU lockup" OR "scheduling IB failed")
🔗 References
- https://git.kernel.org/stable/c/0b61a7dc6712b78799b3949997e8a5e94db5c4b0
- https://git.kernel.org/stable/c/97cd43ba824aec764f5ea2790d0c0a318f885167
- https://git.kernel.org/stable/c/9adec248bba33b1503252caf8e59d81febfc5ceb
- https://git.kernel.org/stable/c/9c68ece8b2a5c5ff9b2fcaea923dd73efeb174cd
- https://git.kernel.org/stable/c/d7d7c6cdea875be3b241d7d39873bb431db7154d
- https://git.kernel.org/stable/c/0b61a7dc6712b78799b3949997e8a5e94db5c4b0
- https://git.kernel.org/stable/c/97cd43ba824aec764f5ea2790d0c0a318f885167
- https://git.kernel.org/stable/c/9adec248bba33b1503252caf8e59d81febfc5ceb
- https://git.kernel.org/stable/c/9c68ece8b2a5c5ff9b2fcaea923dd73efeb174cd
- https://git.kernel.org/stable/c/d7d7c6cdea875be3b241d7d39873bb431db7154d