The check before alone is not enough for a case where there is another
bug introduced so that
context->stream_count is not in sync with actual number of streams
across entire resource_context.
At least assert indeed should be there.
Andrey
On 03/12/2018 07:06 PM, Li, Roman wrote:
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 <dcb...@hotmail.com>; Deucher, Alexander <alexander.deuc...@amd.com>; Koenig,
Christian <christian.koe...@amd.com>; Zhou, David(ChunMing) <david1.z...@amd.com>; airl...@linux.ie;
amd-...@lists.freedesktop.org; dri-de...@lists.freedesktop.org; linux-kernel@vger.kernel.org; Wentland, Harry
<harry.wentl...@amd.com>; Li, Roman <roman...@amd.com>
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-...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx