Skip to content

Commit 8c71f5b

Browse files
xry111gregkh
authored andcommitted
drm/amdgpu: check alignment on CPU page for bo map
commit e3512fb upstream. The page table of AMDGPU requires an alignment to CPU page so we should check ioctl parameters for it. Return -EINVAL if some parameter is unaligned to CPU page, instead of corrupt the page table sliently. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Xi Ruoyao <xry111@mengyan1223.wang> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 78ceecd commit 8c71f5b

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2223,8 +2223,8 @@ int amdgpu_vm_bo_map(struct amdgpu_device *adev,
22232223
uint64_t eaddr;
22242224

22252225
/* validate the parameters */
2226-
if (saddr & AMDGPU_GPU_PAGE_MASK || offset & AMDGPU_GPU_PAGE_MASK ||
2227-
size == 0 || size & AMDGPU_GPU_PAGE_MASK)
2226+
if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK ||
2227+
size == 0 || size & ~PAGE_MASK)
22282228
return -EINVAL;
22292229

22302230
/* make sure object fit at this offset */
@@ -2289,8 +2289,8 @@ int amdgpu_vm_bo_replace_map(struct amdgpu_device *adev,
22892289
int r;
22902290

22912291
/* validate the parameters */
2292-
if (saddr & AMDGPU_GPU_PAGE_MASK || offset & AMDGPU_GPU_PAGE_MASK ||
2293-
size == 0 || size & AMDGPU_GPU_PAGE_MASK)
2292+
if (saddr & ~PAGE_MASK || offset & ~PAGE_MASK ||
2293+
size == 0 || size & ~PAGE_MASK)
22942294
return -EINVAL;
22952295

22962296
/* make sure object fit at this offset */

0 commit comments

Comments
 (0)