⬢ DragonFlyBSD Kernel Audit
DF-4032 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/radeon/r600_cs.c
+++ b/sys/dev/drm/radeon/r600_cs.c
@@ -1600,9 +1600,11 @@
 		return -EINVAL;
 	}
 	/* using get ib will give us the offset into the mipmap bo */
-	if ((mipmap_size + word3) > radeon_bo_size(mipmap)) {
-		/*dev_warn(p->dev, "mipmap bo too small (%d %d %d %d %d %d -> %d have %ld)\n",
-		  w0, h0, format, blevel, nlevels, word3, mipmap_size, radeon_bo_size(texture));*/
+	if (((u64)mipmap_size + word3) > radeon_bo_size(mipmap)) {
+		dev_warn(p->dev, "mipmap bo too small (%d %d %d %d %d -> %d have %ld)\n",
+			 w0, h0, format, blevel, llevel, word3, mipmap_size,
+			 radeon_bo_size(mipmap));
+		return -EINVAL;
 	}
 	return 0;
 }