Linux: drm/amdgpu: check ras and obj before dereference
What fixes it
- 37583946d8751f8e285c467d770ac0b609b82a23LinuxCVE List
- 315c22712715491f0dfafdaf2c2b437540e68702LinuxCVE List
- 723d4dc628d764b19cf9efca14b82cca5ff020c9LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: check ras and obj before dereference
nbio_v7_9_handle_ras_controller_intr_no_bifring() dereferences ras and obj without checking either for NULL. Both amdgpu_ras_get_context() and amdgpu_ras_find_obj() can return NULL, e.g. during the window between adev->nbio.ras being set (early in amdgpu_ras_init(), by design, to enable the fatal-error interrupt as soon as possible) and the PCIE_BIF ras object actually being created in RAS late_init. Any interrupt in that window crashes in hard-IRQ context.
This is analogous to commit d190b459b2a4 ("drm/amdgpu: the warning dereferencing obj for nbio_v7_4"), which fixed the same issue in the nbio_v7_4 handler.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
(cherry picked from commit c7071767a50a32ed727cf800ac84372429e3b4b3)
Text from CVE List
Affected versions 12
- Linuxaffected: 7692e1ee2446fd1940b5caa6e09779504a58881a before b7c7f07a40037514f8e890aa00f8d7b196d680cfCVE List
- Linuxaffected: 7692e1ee2446fd1940b5caa6e09779504a58881a before fc5f845a291fc8175e6857cd6ad042818da192e8CVE List
- Linuxaffected: 7692e1ee2446fd1940b5caa6e09779504a58881a before 37583946d8751f8e285c467d770ac0b609b82a23CVE List
- Linuxaffected: 7692e1ee2446fd1940b5caa6e09779504a58881a before 315c22712715491f0dfafdaf2c2b437540e68702CVE List
- Linuxaffected: 7692e1ee2446fd1940b5caa6e09779504a58881a before 723d4dc628d764b19cf9efca14b82cca5ff020c9CVE List
- Linuxaffected: 6.6CVE List
- Linuxunaffected: all versions before 6.6CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.112 through 6.12.*CVE List
- Linuxunaffected: 6.18.54 through 6.18.*CVE List
- Linuxunaffected: 7.2.8 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/b7c7f07a40037514f8e890aa00f8d7b196d680cfReferencevia CVE List
- git.kernel.org/stable/c/fc5f845a291fc8175e6857cd6ad042818da192e8Referencevia CVE List
- git.kernel.org/stable/c/37583946d8751f8e285c467d770ac0b609b82a23Referencevia CVE List
- git.kernel.org/stable/c/315c22712715491f0dfafdaf2c2b437540e68702Referencevia CVE List
- git.kernel.org/stable/c/723d4dc628d764b19cf9efca14b82cca5ff020c9Referencevia CVE List