From: Alex Hung Date: Mon, 22 Apr 2024 16:34:17 +0000 (-0600) Subject: drm/amd/display: Skip updating link encoder for unknown eng_id X-Git-Tag: v6.11-rc1~141^2~25^2~362 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=efabdce3db9f3d306084c8946983f3d895810a6b;p=thirdparty%2Flinux.git drm/amd/display: Skip updating link encoder for unknown eng_id This prevents accessing to negative index of link_encoders array. This fixes an OVERRUN issue reported by Coverity. Reviewed-by: Rodrigo Siqueira Acked-by: Tom Chung Signed-off-by: Alex Hung Tested-by: Daniel Wheeler Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/link/link_factory.c b/drivers/gpu/drm/amd/display/dc/link/link_factory.c index cf22b8f28ba6c..2c3f5d6622851 100644 --- a/drivers/gpu/drm/amd/display/dc/link/link_factory.c +++ b/drivers/gpu/drm/amd/display/dc/link/link_factory.c @@ -390,7 +390,7 @@ static void link_destruct(struct dc_link *link) * the dynamic assignment of link encoders to streams. Virtual links * are not assigned encoder resources on creation. */ - if (link->link_id.id != CONNECTOR_ID_VIRTUAL) { + if (link->link_id.id != CONNECTOR_ID_VIRTUAL && link->eng_id != ENGINE_ID_UNKNOWN) { link->dc->res_pool->link_encoders[link->eng_id - ENGINE_ID_DIGA] = NULL; link->dc->res_pool->dig_link_enc_count--; }