On 2017-11-22 02:13 AM, S, Shirish wrote: > From: Shirish S <[email protected]> > > While validation fbc, array_mode of the pipe is accessed without checking > plane_state exists for it. > Causing to null pointer dereferencing followed by reboot when a crtc > associated with external display(not > connected) is page flipped. > > This patch adds a check for plane_state before using it to validate fbc. > > Signed-off-by: Shirish S <[email protected]> > Reviewed-by: Roman Li <[email protected]>
Reviewed-by: Harry Wentland <[email protected]> Harry > --- > drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c > b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c > index ee3b944..a6cd63a 100644 > --- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c > +++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c > @@ -1724,6 +1724,10 @@ static enum dc_status validate_fbc(struct dc *dc, > if (pipe_ctx->stream->sink->link->psr_enabled) > return DC_ERROR_UNEXPECTED; > > + /* Nothing to compress */ > + if (!pipe_ctx->plane_state) > + return DC_ERROR_UNEXPECTED; > + > /* Only for non-linear tiling */ > if (pipe_ctx->plane_state->tiling_info.gfx8.array_mode == > DC_ARRAY_LINEAR_GENERAL) > return DC_ERROR_UNEXPECTED; > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/amd-gfx > _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
