Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: zero-initialize GART table on allocation GART TLB is flushed after unmapping but not after mapping. Since amdgpu_bo_create_kernel() does not zero-initialize the buffer, when a single PTE is written the TLB may speculatively load other uninitialized entries from the same cacheline. Those garbage entries can appear valid, and a subsequent write to another PTE in the same cacheline may cause the GPU to use a stale garbage PTE from the TLB. Fix this by calling memset_io() to zero-initialize the GART table with gart_pte_flags immediately after allocation. Using AMDGPU_GEM_CREATE_VRAM_CLEARED, SDMA-based clear will not work since SDMA needs GART to be initialized to work. (cherry picked from commit d9af8263b82b6eaa60c5718e0c6631c5037e4b24)
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
d38ceaf99ed015f2a0b9af3499791bd3a3daae21 to < 40df11255d71b02e20e70579f1b12b687e396e26affectedd38ceaf99ed015f2a0b9af3499791bd3a3daae21 to < 91fbb5e635c8fb1b49e15c19da06480089ef719faffectedd38ceaf99ed015f2a0b9af3499791bd3a3daae21 to < 8ae8b9e74bab94aab1d79f1688129bcc61c8b29aaffectedd38ceaf99ed015f2a0b9af3499791bd3a3daae21 to < b17175d0a375b3ed5e81597dac4983fdb46e478daffectedd38ceaf99ed015f2a0b9af3499791bd3a3daae21 to < 791941be5da125d9a1b228582bfdc300c05d05b3affectedd38ceaf99ed015f2a0b9af3499791bd3a3daae21 to < e6c2e6c2e1fa066968a16aca1cb66cd1bdde7741affected
Linux Linux
Default version status: affected
4.2affected0 to < 4.2unaffected6.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/40df11255d71b02e20e70579f1b12b687e396e26 ↗
- https://git.kernel.org/stable/c/91fbb5e635c8fb1b49e15c19da06480089ef719f ↗
- https://git.kernel.org/stable/c/8ae8b9e74bab94aab1d79f1688129bcc61c8b29a ↗
- https://git.kernel.org/stable/c/b17175d0a375b3ed5e81597dac4983fdb46e478d ↗
- https://git.kernel.org/stable/c/791941be5da125d9a1b228582bfdc300c05d05b3 ↗
- https://git.kernel.org/stable/c/e6c2e6c2e1fa066968a16aca1cb66cd1bdde7741 ↗