Hi Yamato-san, On 2024-08-06 04:43, Masatake YAMATO wrote: > Though drmCommandWriteRead() is used in libdrm [1], > DRM_IOCTL_AMDGPU_GEM_VA uses DRM_IOW for encoding. > > [1] https://gitlab.freedesktop.org/mesa/drm/-/blob/main/amdgpu/amdgpu_bo.c?ref_type=heads AFAICT libdrm doesn't read from the struct drm_amdgpu_gem_va it passes to the ioctl after the latter returns though. Also, while amdgpu_gem_va_ioctl (the ioctl implementation in the kernel) modifies the struct: args->va_address &= AMDGPU_GMC_HOLE_MASK; that looks like an implementation detail which could be avoided if necessary, and shouldn't be propagated back to user space. I'd suggest fixing libdrm to use drmCommandWrite instead. -- Earthling Michel Dänzer \ GNOME / Xwayland / Mesa developer https://redhat.com \ Libre software enthusiast