[PATCH] drm: Put damage blob when destroy plane state

Daniel Vetter daniel.vetter at ffwll.ch
Mon Dec 24 10:49:52 UTC 2018


On Fri, Dec 21, 2018 at 8:56 PM Thomas Hellstrom <thellstrom at vmware.com> wrote:
>
> Reviewed-by: Thomas Hellstrom <thellstrom at vmware.com>
>
> Daniel, Dave, could you help try to get this patch in -next before the
> merge window. Otherwise people will start to experience random kernel
> crashes. I figure we don't want to wait until first -fixes pull with
> this.

Afaiui this will only blow up with new userspace on new kernels, that
doesn't feel like rushing an updated -next out the door material to
me. More concerning is why this fell through the cracks:
- We have an igt, do those testcases not hit this bug?
- Were the tests not run before you've sent out the pull?
- The merged version doesn't seem to match any of the versions I've
found on dri-devel, I guess should have been resend when there was
conflicts?
- Some other crack in the matrix?

> Thanks,
> Thomas
>
>
> On Fri, 2018-12-21 at 11:35 -0800, Deepak Rawat wrote:
> > Somehow the code to put the damage blob on destroy plane state and
> > set
> > the blob to NULL when duplicate plane state was not merged. May be
> > because the files are refactored since the patch was written. With
> > this
> > fix add those.
> >
> > Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> > Signed-off-by: Deepak Rawat <drawat at vmware.com>

Needs a Fixes: tag referencing the broken commit, pls remember to add
these anytime you fix an issue with a commit. I'll add that and push
it to drm-misc-next-fixes.

Thanks, Daniel

> > ---
> >  drivers/gpu/drm/drm_atomic_state_helper.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c
> > b/drivers/gpu/drm/drm_atomic_state_helper.c
> > index 3ba996069d69..709355c6bac6 100644
> > --- a/drivers/gpu/drm/drm_atomic_state_helper.c
> > +++ b/drivers/gpu/drm/drm_atomic_state_helper.c
> > @@ -241,6 +241,7 @@ void
> > __drm_atomic_helper_plane_duplicate_state(struct drm_plane *plane,
> >
> >       state->fence = NULL;
> >       state->commit = NULL;
> > +     state->fb_damage_clips = NULL;
> >  }
> >  EXPORT_SYMBOL(__drm_atomic_helper_plane_duplicate_state);
> >
> > @@ -285,6 +286,8 @@ void
> > __drm_atomic_helper_plane_destroy_state(struct drm_plane_state
> > *state)
> >
> >       if (state->commit)
> >               drm_crtc_commit_put(state->commit);
> > +
> > +     drm_property_blob_put(state->fb_damage_clips);
> >  }
> >  EXPORT_SYMBOL(__drm_atomic_helper_plane_destroy_state);
> >



--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list