]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdgpu: amdgpu_vram_mgr_new(): Clamp lpfn to total vram
authorJohn Olender <john.olender@gmail.com>
Tue, 29 Apr 2025 11:24:28 +0000 (07:24 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 6 Jul 2025 09:00:15 +0000 (11:00 +0200)
commit 4d2f6b4e4c7ed32e7fa39fcea37344a9eab99094 upstream.

The drm_mm allocator tolerated being passed end > mm->size, but the
drm_buddy allocator does not.

Restore the pre-buddy-allocator behavior of allowing such placements.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3448
Signed-off-by: John Olender <john.olender@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c

index c7085a747b03b78012d33b9966eb2a10a6f558d6..451c37d04e45674d1e438af66a7e506f12fe2c82 100644 (file)
@@ -435,7 +435,7 @@ static int amdgpu_vram_mgr_new(struct ttm_resource_manager *man,
        int r;
 
        lpfn = (u64)place->lpfn << PAGE_SHIFT;
-       if (!lpfn)
+       if (!lpfn || lpfn > man->size)
                lpfn = man->size;
 
        fpfn = (u64)place->fpfn << PAGE_SHIFT;