]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Check for invalid input params when building scaling params
authorMichael Strauss <michael.strauss@amd.com>
Wed, 23 Mar 2022 20:06:25 +0000 (16:06 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Apr 2025 12:31:53 +0000 (14:31 +0200)
[ Upstream commit 73b1da69f5314d96e1f963468863eaa884ee1030 ]

[WHY]
Function to calculate scaling ratios can be called with invalid plane
src/dest, causing a divide by zero.

[HOW]
Fail building scaling params if plane state src/dest rects are
unpopulated

Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Michael Strauss <michael.strauss@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Stable-dep-of: 374c9faac5a7 ("drm/amd/display: Fix null check for pipe_ctx->plane_state in resource_build_scaling_params")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/core/dc_resource.c

index f29299fb25c4da084aeda1121914fec0409e8c25..de5192ee2b022aa717a847c253165ba037f8643e 100644 (file)
@@ -1025,6 +1025,15 @@ bool resource_build_scaling_params(struct pipe_ctx *pipe_ctx)
        bool res = false;
        DC_LOGGER_INIT(pipe_ctx->stream->ctx->logger);
 
+       /* Invalid input */
+       if (!plane_state->dst_rect.width ||
+                       !plane_state->dst_rect.height ||
+                       !plane_state->src_rect.width ||
+                       !plane_state->src_rect.height) {
+               ASSERT(0);
+               return false;
+       }
+
        pipe_ctx->plane_res.scl_data.format = convert_pixel_format_to_dalsurface(
                        pipe_ctx->plane_state->format);