Patch "drm/amd/display: Fix null check for pipe_ctx->plane_state in dcn20_program_pipe" has been added to the 6.12-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amd/display: Fix null check for pipe_ctx->plane_state in dcn20_program_pipe

to the 6.12-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-amd-display-fix-null-check-for-pipe_ctx-plane_st.patch
and it can be found in the queue-6.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit b80ddea96b9c3f27f79c6b04696c1104d3853e75
Author: Zicheng Qu <quzicheng@xxxxxxxxxx>
Date:   Tue Nov 5 14:01:36 2024 +0000

    drm/amd/display: Fix null check for pipe_ctx->plane_state in dcn20_program_pipe
    
    [ Upstream commit 6a057072ddd127255350357dd880903e8fa23f36 ]
    
    This commit addresses a null pointer dereference issue in
    dcn20_program_pipe(). Previously, commit 8e4ed3cf1642 ("drm/amd/display:
    Add null check for pipe_ctx->plane_state in dcn20_program_pipe")
    partially fixed the null pointer dereference issue. However, in
    dcn20_update_dchubp_dpp(), the variable pipe_ctx is passed in, and
    plane_state is accessed again through pipe_ctx. Multiple if statements
    directly call attributes of plane_state, leading to potential null
    pointer dereference issues. This patch adds necessary null checks to
    ensure stability.
    
    Fixes: 8e4ed3cf1642 ("drm/amd/display: Add null check for pipe_ctx->plane_state in dcn20_program_pipe")
    Reviewed-by: Tom Chung <chiahsuan.chung@xxxxxxx>
    Signed-off-by: Zicheng Qu <quzicheng@xxxxxxxxxx>
    Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c b/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
index a80c085829320..36d12db8d0225 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
@@ -1923,9 +1923,9 @@ static void dcn20_program_pipe(
 				dc->res_pool->hubbub, pipe_ctx->plane_res.hubp->inst, pipe_ctx->hubp_regs.det_size);
 	}
 
-	if (pipe_ctx->update_flags.raw ||
-	    (pipe_ctx->plane_state && pipe_ctx->plane_state->update_flags.raw) ||
-	    pipe_ctx->stream->update_flags.raw)
+	if (pipe_ctx->plane_state && (pipe_ctx->update_flags.raw ||
+	    pipe_ctx->plane_state->update_flags.raw ||
+	    pipe_ctx->stream->update_flags.raw))
 		dcn20_update_dchubp_dpp(dc, pipe_ctx, context);
 
 	if (pipe_ctx->plane_state && (pipe_ctx->update_flags.bits.enable ||




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux