Re: linux-4.16-rc5/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c:1723]: (warning) Possible null pointer dereference: pipe_ctx

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

 



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 <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

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux