[Intel-gfx] [PATCH 2/2] drm/i915: Fail addfb ioctl if color and CCS buffers overlap

Gabriel Krisman Bertazi krisman at collabora.co.uk
Thu Aug 31 19:52:15 UTC 2017


With this patch the new testcase igt at kms_ccs@pipe-X-invalid-ccs-offset
succeeds.

Signed-off-by: Gabriel Krisman Bertazi <krisman at collabora.co.uk>
---
 drivers/gpu/drm/i915/intel_display.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index b28f076f98bc..ff1ed67a9eff 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13989,6 +13989,11 @@ static int intel_framebuffer_init(struct intel_framebuffer *intel_fb,
 			DRM_DEBUG_KMS("RC supported only with RGB8888 formats\n");
 			goto err;
 		}
+
+		if (mode_cmd->offsets[1] < mode_cmd->pitches[0]) {
+			DRM_DEBUG_KMS("CCS and color buffers overlap\n");
+			return -EINVAL;
+		}
 		/* fall through */
 	case I915_FORMAT_MOD_Y_TILED:
 	case I915_FORMAT_MOD_Yf_TILED:
-- 
2.11.0



More information about the Intel-gfx mailing list