]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amdgpu: Fix size overflow
authorxinhui pan <xinhui.pan@amd.com>
Wed, 7 Apr 2021 11:29:39 +0000 (19:29 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 8 Apr 2021 04:36:40 +0000 (00:36 -0400)
ttm->num_pages is uint32. Hit overflow when << PAGE_SHIFT directly

Fixes: 2403058d0ce3 ("drm/ttm: make num_pages uint32_t")
Signed-off-by: xinhui pan <xinhui.pan@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c

index 9fd2157b133accc9e71894fcdc9515c764270948..5efa331e3ee8242772d8c037382eb195c549fb05 100644 (file)
@@ -906,7 +906,7 @@ static int amdgpu_ttm_tt_pin_userptr(struct ttm_bo_device *bdev,
 
        /* Allocate an SG array and squash pages into it */
        r = sg_alloc_table_from_pages(ttm->sg, ttm->pages, ttm->num_pages, 0,
-                                     ttm->num_pages << PAGE_SHIFT,
+                                     (u64)ttm->num_pages << PAGE_SHIFT,
                                      GFP_KERNEL);
        if (r)
                goto release_sg;