diff --git a/sys/dev/drm/amd/amdgpu/amdgpu_debugfs.c b/sys/dev/drm/amd/amdgpu/amdgpu_debugfs.c --- a/sys/dev/drm/amd/amdgpu/amdgpu_debugfs.c +++ b/sys/dev/drm/amd/amdgpu/amdgpu_debugfs.c @@ -235,6 +235,8 @@ if (size & 0x3 || *pos & 0x3) return -EINVAL; + if (*pos < 0 || (*pos >> 2) >= adev->gmc.mc_vram_size) + return -EINVAL; while (size) { uint32_t value;