diff mbox series

[RESEND] drm/amd/display: Add null check before access structs in dcn32_enable_phantom_plane

Message ID 20240909064000.1198047-1-make24@iscas.ac.cn (mailing list archive)
State New, archived
Headers show
Series [RESEND] drm/amd/display: Add null check before access structs in dcn32_enable_phantom_plane | expand

Commit Message

Ma Ke Sept. 9, 2024, 6:40 a.m. UTC
In dcn32_enable_phantom_plane, we should better check null pointer before
accessing various structs.

Cc: stable@vger.kernel.org
Fixes: 235c67634230 ("drm/amd/display: add DCN32/321 specific files for Display Core")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
---
 drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Alex Deucher Sept. 9, 2024, 5:25 p.m. UTC | #1
On Mon, Sep 9, 2024 at 2:48 AM Ma Ke <make24@iscas.ac.cn> wrote:
>
> In dcn32_enable_phantom_plane, we should better check null pointer before
> accessing various structs.
>
> Cc: stable@vger.kernel.org
> Fixes: 235c67634230 ("drm/amd/display: add DCN32/321 specific files for Display Core")
> Signed-off-by: Ma Ke <make24@iscas.ac.cn>

Thanks for the patch.  This is already fixed in:
https://gitlab.freedesktop.org/agd5f/linux/-/commit/fdd5ecbbff751c3b9061d8ebb08e5c96119915b4

Alex

> ---
>  drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
> index 969658313fd6..1d1b40d22f42 100644
> --- a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
> +++ b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
> @@ -1650,6 +1650,8 @@ static void dcn32_enable_phantom_plane(struct dc *dc,
>                         phantom_plane = prev_phantom_plane;
>                 else
>                         phantom_plane = dc_state_create_phantom_plane(dc, context, curr_pipe->plane_state);
> +               if (!phantom_plane)
> +                       return;
>
>                 memcpy(&phantom_plane->address, &curr_pipe->plane_state->address, sizeof(phantom_plane->address));
>                 memcpy(&phantom_plane->scaling_quality, &curr_pipe->plane_state->scaling_quality,
> --
> 2.25.1
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
index 969658313fd6..1d1b40d22f42 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_resource.c
@@ -1650,6 +1650,8 @@  static void dcn32_enable_phantom_plane(struct dc *dc,
 			phantom_plane = prev_phantom_plane;
 		else
 			phantom_plane = dc_state_create_phantom_plane(dc, context, curr_pipe->plane_state);
+		if (!phantom_plane)
+			return;
 
 		memcpy(&phantom_plane->address, &curr_pipe->plane_state->address, sizeof(phantom_plane->address));
 		memcpy(&phantom_plane->scaling_quality, &curr_pipe->plane_state->scaling_quality,