RE: linux-4.16-rc5/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c:1723]: (warning) Possible null pointer dereference: pipe_ctx
From: Li, Roman
Date: Mon Mar 12 2018 - 19:06:31 EST
There is a check just before for-loop that should ensure pipe_ctx is not null:
/* Only supports single display */
if (context->stream_count != 1)
return false;
To remove the subject warning - we can rather add an assert:
assert(pipe_ctx);
Thanks,
Roman
-----Original Message-----
From: Grodzovsky, Andrey
Sent: Monday, March 12, 2018 6:23 PM
To: David Binderman <dcb314@xxxxxxxxxxx>; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Koenig, Christian <Christian.Koenig@xxxxxxx>; Zhou, David(ChunMing) <David1.Zhou@xxxxxxx>; airlied@xxxxxxxx; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Wentland, Harry <Harry.Wentland@xxxxxxx>; Li, Roman <Roman.Li@xxxxxxx>
Subject: Re: linux-4.16-rc5/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c:1723]: (warning) Possible null pointer dereference: pipe_ctx
On 03/12/2018 06:22 AM, David Binderman wrote:
> hello there,
>
> Source code is
>
>
> ÂÂÂ for (i = 0; i < dc->res_pool->pipe_count; i++) {
> ÂÂÂÂÂÂÂ if (res_ctx->pipe_ctx[i].stream) {
> ÂÂÂÂÂÂÂÂÂÂÂ pipe_ctx = &res_ctx->pipe_ctx[i];
> ÂÂÂÂÂÂÂÂÂÂÂ *pipe_idx = i;
> ÂÂÂÂÂÂÂÂÂÂÂ break;
> ÂÂÂÂÂÂÂ }
> ÂÂÂ }
Indeed something like
if (!pipe_ctx)
ÂÂÂÂÂÂÂÂÂÂÂÂÂ return false;
seems the right thing here.
Harry, Roman , your opinion ?
Andrey
>
> ÂÂÂ /* Only supports eDP */
> ÂÂÂ if (pipe_ctx->stream->sink->link->connector_signal !=
> SIGNAL_TYPE_EDP)
> ÂÂÂÂÂÂÂ return false;
>
> Suggest add some code to deal with the case that the for loop doesn't
> find what it is looking for and so pipe_ctx is NULL.
>
> Regards
>
> David Binderman
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx