Description
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 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
2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 to < ecaa80318e900ca0c3f687742ede33b41cfd2f8eaffected2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 to < 25e7d56a39657d56d1ea6d78992f7ed15dedb412affected2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 to < d4c56932d29773e278be6a65a5384a36c95b89a4affected2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 to < 4f7ca00fa91daf0795ec6b3b130c5ebba1f155feaffected2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 to < d331fb241a4602253976ddd65144a8ba2b05665daffected2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 to < 0b91ea46bb68abf98a082bf239092253bbd6aaa2affected2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 to < a4fd82fb0757c180bf622907397c528b89a827b2affected2130f89ced2cc0f5113bb427c1cbc7a4ca7729c7 to < 78d2e624fa073c14970aa097adcf3ea31c157a66affected
Linux Linux
Default version status: affected
4.12affected0 to < 4.12unaffected5.10.258 to ≤ 5.10.*unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.140 to ≤ 6.6.*unaffected6.12.90 to ≤ 6.12.*unaffected6.18.32 to ≤ 6.18.*unaffected7.0.9 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/ecaa80318e900ca0c3f687742ede33b41cfd2f8e ↗
- https://git.kernel.org/stable/c/25e7d56a39657d56d1ea6d78992f7ed15dedb412 ↗
- https://git.kernel.org/stable/c/d4c56932d29773e278be6a65a5384a36c95b89a4 ↗
- https://git.kernel.org/stable/c/4f7ca00fa91daf0795ec6b3b130c5ebba1f155fe ↗
- https://git.kernel.org/stable/c/d331fb241a4602253976ddd65144a8ba2b05665d ↗
- https://git.kernel.org/stable/c/0b91ea46bb68abf98a082bf239092253bbd6aaa2 ↗
- https://git.kernel.org/stable/c/a4fd82fb0757c180bf622907397c528b89a827b2 ↗
- https://git.kernel.org/stable/c/78d2e624fa073c14970aa097adcf3ea31c157a66 ↗