aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
diff options
context:
space:
mode:
authorMatthew Auld <[email protected]>2025-07-31 09:38:09 +0000
committerRodrigo Vivi <[email protected]>2025-08-12 16:52:26 +0000
commit9d7a1cbebbb691891671def57407ba2f8ee914e8 (patch)
tree2f3a8c57b18f524e949de8c8400a9123c1b9b9cb /drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
parentLinux 6.17-rc1 (diff)
downloadkernel-9d7a1cbebbb691891671def57407ba2f8ee914e8.tar.gz
kernel-9d7a1cbebbb691891671def57407ba2f8ee914e8.zip
drm/xe/migrate: prevent infinite recursion
If the buf + offset is not aligned to XE_CAHELINE_BYTES we fallback to using a bounce buffer. However the bounce buffer here is allocated on the stack, and the only alignment requirement here is that it's naturally aligned to u8, and not XE_CACHELINE_BYTES. If the bounce buffer is also misaligned we then recurse back into the function again, however the new bounce buffer might also not be aligned, and might never be until we eventually blow through the stack, as we keep recursing. Instead of using the stack use kmalloc, which should respect the power-of-two alignment request here. Fixes a kernel panic when triggering this path through eudebug. v2 (Stuart): - Add build bug check for power-of-two restriction - s/EINVAL/ENOMEM/ Fixes: 270172f64b11 ("drm/xe: Update xe_ttm_access_memory to use GPU for non-visible access") Signed-off-by: Matthew Auld <[email protected]> Cc: Maciej Patelczyk <[email protected]> Cc: Stuart Summers <[email protected]> Cc: Matthew Brost <[email protected]> Reviewed-by: Stuart Summers <[email protected]> Link: https://lore.kernel.org/r/[email protected] (cherry picked from commit 38b34e928a08ba594c4bbf7118aa3aadacd62fff) Signed-off-by: Rodrigo Vivi <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c')
0 files changed, 0 insertions, 0 deletions