All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/amd/display: Fix crash in hwss_set_output_transfer_func()
@ 2026-08-03 12:41 Timur Kristóf
  2026-08-04 20:01 ` Viktor Jägersküpper
  2026-08-05 13:53 ` Alex Deucher
  0 siblings, 2 replies; 4+ messages in thread
From: Timur Kristóf @ 2026-08-03 12:41 UTC (permalink / raw)
  To: amd-gfx, Alex Deucher, Christian König, Tvrtko Ursulin,
	Natalie Vock, Harry Wentland, Leo Li, Aurabindo Pillai,
	Dan Wheeler, Ray Wu, Ivan Lipski, Alex Hung, Tomasz Siemek,
	Wayne Lin
  Cc: Timur Kristóf

The pipe_ctx->plane_res.hubp pointer is NULL on all DCE
hardware, which causes a kernel NULL pointer dereference
on all Vega and older GPUs.

Let's add a simple NULL check.

Fixes: f879f53407f0 ("drm/amd/display: Refactor DPP_SET_OUTPUT_TRANSFER_FUNC to drop pipe_ctx")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Cc: Tomasz Siemek <tomasz.siemek@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
index 11411fa94665..5495e493b2eb 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
@@ -1900,7 +1900,8 @@ void hwss_set_output_transfer_func(struct dc *dc, struct pipe_ctx *pipe_ctx)
 				.xfm = pipe_ctx->plane_res.xfm,
 				.dpp = pipe_ctx->plane_res.dpp,
 				.mpc = dc->res_pool->mpc,
-				.mpcc_id = pipe_ctx->plane_res.hubp->inst,
+				.mpcc_id = pipe_ctx->plane_res.hubp ?
+						pipe_ctx->plane_res.hubp->inst : 0,
 				.is_top_pipe = resource_is_pipe_type(pipe_ctx, OPP_HEAD),
 				.stream = pipe_ctx->stream,
 			}
-- 
2.55.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/amd/display: Fix crash in hwss_set_output_transfer_func()
  2026-08-03 12:41 [PATCH] drm/amd/display: Fix crash in hwss_set_output_transfer_func() Timur Kristóf
@ 2026-08-04 20:01 ` Viktor Jägersküpper
  2026-08-05 13:53 ` Alex Deucher
  1 sibling, 0 replies; 4+ messages in thread
From: Viktor Jägersküpper @ 2026-08-04 20:01 UTC (permalink / raw)
  To: Timur Kristóf
  Cc: Alex Deucher, Christian König, Tvrtko Ursulin, Natalie Vock,
	Harry Wentland, Leo Li, Aurabindo Pillai, Dan Wheeler, Ray Wu,
	Ivan Lipski, Alex Hung, Tomasz Siemek, Wayne Lin, amd-gfx

On 8/3/26 14:41, Timur Kristóf wrote:
> The pipe_ctx->plane_res.hubp pointer is NULL on all DCE
> hardware, which causes a kernel NULL pointer dereference
> on all Vega and older GPUs.
> 
> Let's add a simple NULL check.
> 
> Fixes: f879f53407f0 ("drm/amd/display: Refactor DPP_SET_OUTPUT_TRANSFER_FUNC to drop pipe_ctx")
> Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
> Cc: Tomasz Siemek <tomasz.siemek@amd.com>

I've tested this patch (applied to amd-staging-drm-next) because I
observed the crash during my tests for
https://gitlab.freedesktop.org/drm/amd/-/work_items/5557 and I confirm
that the patch fixes the crash.

Tested-by: Viktor Jägersküpper <viktor_jaegerskuepper@freenet.de>

> ---
>  drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> index 11411fa94665..5495e493b2eb 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> @@ -1900,7 +1900,8 @@ void hwss_set_output_transfer_func(struct dc *dc, struct pipe_ctx *pipe_ctx)
>  				.xfm = pipe_ctx->plane_res.xfm,
>  				.dpp = pipe_ctx->plane_res.dpp,
>  				.mpc = dc->res_pool->mpc,
> -				.mpcc_id = pipe_ctx->plane_res.hubp->inst,
> +				.mpcc_id = pipe_ctx->plane_res.hubp ?
> +						pipe_ctx->plane_res.hubp->inst : 0,
>  				.is_top_pipe = resource_is_pipe_type(pipe_ctx, OPP_HEAD),
>  				.stream = pipe_ctx->stream,
>  			}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/amd/display: Fix crash in hwss_set_output_transfer_func()
  2026-08-03 12:41 [PATCH] drm/amd/display: Fix crash in hwss_set_output_transfer_func() Timur Kristóf
  2026-08-04 20:01 ` Viktor Jägersküpper
@ 2026-08-05 13:53 ` Alex Deucher
  1 sibling, 0 replies; 4+ messages in thread
From: Alex Deucher @ 2026-08-05 13:53 UTC (permalink / raw)
  To: Timur Kristóf
  Cc: amd-gfx, Alex Deucher, Christian König, Tvrtko Ursulin,
	Natalie Vock, Harry Wentland, Leo Li, Aurabindo Pillai,
	Dan Wheeler, Ray Wu, Ivan Lipski, Alex Hung, Tomasz Siemek,
	Wayne Lin

Applied.  Thanks!

On Mon, Aug 3, 2026 at 8:58 AM Timur Kristóf <timur.kristof@gmail.com> wrote:
>
> The pipe_ctx->plane_res.hubp pointer is NULL on all DCE
> hardware, which causes a kernel NULL pointer dereference
> on all Vega and older GPUs.
>
> Let's add a simple NULL check.
>
> Fixes: f879f53407f0 ("drm/amd/display: Refactor DPP_SET_OUTPUT_TRANSFER_FUNC to drop pipe_ctx")
> Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
> Cc: Tomasz Siemek <tomasz.siemek@amd.com>
> ---
>  drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> index 11411fa94665..5495e493b2eb 100644
> --- a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> +++ b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> @@ -1900,7 +1900,8 @@ void hwss_set_output_transfer_func(struct dc *dc, struct pipe_ctx *pipe_ctx)
>                                 .xfm = pipe_ctx->plane_res.xfm,
>                                 .dpp = pipe_ctx->plane_res.dpp,
>                                 .mpc = dc->res_pool->mpc,
> -                               .mpcc_id = pipe_ctx->plane_res.hubp->inst,
> +                               .mpcc_id = pipe_ctx->plane_res.hubp ?
> +                                               pipe_ctx->plane_res.hubp->inst : 0,
>                                 .is_top_pipe = resource_is_pipe_type(pipe_ctx, OPP_HEAD),
>                                 .stream = pipe_ctx->stream,
>                         }
> --
> 2.55.0
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/amd/display: Fix crash in hwss_set_output_transfer_func()
@ 2026-08-06  9:11 Dieter Nützel
  0 siblings, 0 replies; 4+ messages in thread
From: Dieter Nützel @ 2026-08-06  9:11 UTC (permalink / raw)
  To: Alex Deucher; +Cc: amd-devel

Hello Alex,

where did you commited, this?
Can't find it your trees.

By the way:

Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41557#note_3602165

Greetings,
   Dieter

PS Please CC me. I'm currently not on 'amd-devel'.


> Applied.  Thanks!
> 
> On Mon, Aug 3, 2026 at 8:58 AM Timur Kristóf <timur.kristof at 
> gmail.com> wrote:
> >
> > The pipe_ctx->plane_res.hubp pointer is NULL on all DCE
> > hardware, which causes a kernel NULL pointer dereference
> > on all Vega and older GPUs.
> >
> > Let's add a simple NULL check.
> >
> > Fixes: f879f53407f0 ("drm/amd/display: Refactor DPP_SET_OUTPUT_TRANSFER_FUNC to drop pipe_ctx")
> > Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
> > Cc: Tomasz Siemek <tomasz.siemek at amd.com>
> > ---
> >  drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> > index 11411fa94665..5495e493b2eb 100644
> > --- a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c
> > @@ -1900,7 +1900,8 @@ void hwss_set_output_transfer_func(struct dc *dc, struct pipe_ctx *pipe_ctx)
> >                                 .xfm = pipe_ctx->plane_res.xfm,
> >                                 .dpp = pipe_ctx->plane_res.dpp,
> >                                 .mpc = dc->res_pool->mpc,
> > -                               .mpcc_id = pipe_ctx->plane_res.hubp->inst,
> > +                               .mpcc_id = pipe_ctx->plane_res.hubp ?
> > +                                               pipe_ctx->plane_res.hubp->inst : 0,
> >                                 .is_top_pipe = resource_is_pipe_type(pipe_ctx, OPP_HEAD),
> >                                 .stream = pipe_ctx->stream,
> >                         }
> > --
> > 2.55.0
> >

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-08-06  9:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-03 12:41 [PATCH] drm/amd/display: Fix crash in hwss_set_output_transfer_func() Timur Kristóf
2026-08-04 20:01 ` Viktor Jägersküpper
2026-08-05 13:53 ` Alex Deucher
  -- strict thread matches above, loose matches on Subject: below --
2026-08-06  9:11 Dieter Nützel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.