drm/xe: Fix overflow in vram manager
authorRiana Tauro <riana.tauro@intel.com>
Thu, 9 Mar 2023 13:18:56 +0000 (18:48 +0530)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 19 Dec 2023 23:29:46 +0000 (18:29 -0500)
The overflow caused xe_bo_restore_kernel to return an error
Fix overflow in vram manager alloc function.

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_ttm_vram_mgr.c

index 643365b..159ca71 100644 (file)
@@ -118,7 +118,7 @@ static int xe_ttm_vram_mgr_new(struct ttm_resource_manager *man,
 
                cur_size = size;
 
-               if (fpfn + size != place->lpfn << PAGE_SHIFT) {
+               if (fpfn + size != (u64)place->lpfn << PAGE_SHIFT) {
                        /*
                         * Except for actual range allocation, modify the size and
                         * min_block_size conforming to continuous flag enablement