CVE-2026-46220

Summary

In the Linux kernel, the following vulnerability has been resolved:

drm/amdgpu/sdma4: replace BUG_ON with WARN_ON in fence emission

sdma_v4_0_ring_emit_fence() contains two BUG_ON(addr & 0x3) assertions that verify fence writeback addresses are dword-aligned. These assertions can be reached from unprivileged userspace via crafted DRM_IOCTL_AMDGPU_CS submissions, causing a fatal kernel panic in a scheduler worker thread.

Replace both BUG_ON() calls with WARN_ON() to log the condition without crashing the kernel. A misaligned fence address at this point indicates a driver bug, but crashing the kernel is never the correct response when the assertion is reachable from userspace.

The CS IOCTL path is the correct place to filter invalid submissions; the ring emission callback is too late to do anything about it.

(cherry picked from commit b90250bd933afd1ba94d86d6b13821997b22b18e)

Affected Software

VendorProductVersion RangeStatus
LinuxLinux2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 < ecaa80318e900ca0c3f687742ede33b41cfd2f8eaffected
LinuxLinux2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 < 25e7d56a39657d56d1ea6d78992f7ed15dedb412affected
LinuxLinux2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 < d4c56932d29773e278be6a65a5384a36c95b89a4affected
LinuxLinux2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 < 4f7ca00fa91daf0795ec6b3b130c5ebba1f155feaffected
LinuxLinux2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 < d331fb241a4602253976ddd65144a8ba2b05665daffected
LinuxLinux2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 < 0b91ea46bb68abf98a082bf239092253bbd6aaa2affected
LinuxLinux2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 < a4fd82fb0757c180bf622907397c528b89a827b2affected
LinuxLinux2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 < 78d2e624fa073c14970aa097adcf3ea31c157a66affected
LinuxLinux4.12affected
LinuxLinux0 < 4.12unaffected
LinuxLinux5.10.258 <= 5.10.*unaffected
LinuxLinux5.15.209 <= 5.15.*unaffected
LinuxLinux6.1.175 <= 6.1.*unaffected
LinuxLinux6.6.140 <= 6.6.*unaffected
LinuxLinux6.12.90 <= 6.12.*unaffected
LinuxLinux6.18.32 <= 6.18.*unaffected
LinuxLinux7.0.9 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References