Re: [PATCH 1/2] amdgpu: validate drm_amdgpu_gem_va addrs for all ops

From: Christian König
Date: Mon May 22 2023 - 15:12:51 EST


Am 21.05.23 um 20:49 schrieb Chia-I Wu:
On Thu, May 18, 2023 at 1:12 PM Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
On Wed, May 17, 2023 at 5:27 PM Chia-I Wu <olvaffe@xxxxxxxxx> wrote:
On Tue, May 9, 2023 at 11:33 AM Chia-I Wu <olvaffe@xxxxxxxxx> wrote:
Extend the address and size validations to AMDGPU_VA_OP_UNMAP and
AMDGPU_VA_OP_CLEAR by moving the validations to amdgpu_gem_va_ioctl.

Internal users of amdgpu_vm_bo_map are no longer validated but they
should be fine.

Userspace (radeonsi and radv) seems fine as well.
Does this series make sense?
I think so, I haven't had a chance to go through this too closely yet,
but amdgpu_vm_bo_map() is used by ROCm as well so we'd need to make
sure that removing the checks in patch 1 wouldn't affect that path as
well. The changes in patch 2 look good. Also, these patches are
missing your SOB.
Indeed. kfd_ioctl_alloc_memory_of_gpu, for example, does not validate
va. I need to keep the validation in amdgpu_vm_bo_map for it at
least. I guess it is more ideal for kfd_ioctl_alloc_memory_of_gpu to
validate, but I am not familiar with amdkfd..

I can keep the existing validations, and duplicate them in
amdgpu_gem_va_ioctl to cover AMDGPU_VA_OP_UNMAP/AMDGPU_VA_OP_CLEAR.

The key point is that unmap and clear don't need those validations.

It's perfectly valid to request unmap of an unaligned mapping, it will just fail because we can't find that mapping.

Regards,
Christian.


Thanks,

Alex


Alex