DragonFlyBSD Kernel Audit
DF-1693 / fix.diff
← back to finding ↓ download raw
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;