On Mon, May 8, 2017 at 4:34 PM, Jordan Crouse <jcrouse@xxxxxxxxxxxxxx> wrote: > Amongst its other duties, msm_gem_new_impl adds the newly created > GEM object to the shared inactive list which may also be actively > modifiying the list during submission. All the paths to modify > the list are protected by the mutex except for the one through > msm_gem_import which can end up causing list corruption. hmm, I guess it would be a good idea to also throw one of these into msm_gem_new_impl(): WARN_ON(!mutex_is_locked(&dev->struct_mutex)); BR, -R > Signed-off-by: Jordan Crouse <jcrouse@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/msm/msm_gem.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c > index 68e509b..7a82eaa 100644 > --- a/drivers/gpu/drm/msm/msm_gem.c > +++ b/drivers/gpu/drm/msm/msm_gem.c > @@ -853,7 +853,11 @@ struct drm_gem_object *msm_gem_import(struct drm_device *dev, > > size = PAGE_ALIGN(dmabuf->size); > > + /* Take mutex so we can modify the inactive list in msm_gem_new_impl */ > + mutex_lock(&dev->struct_mutex); > ret = msm_gem_new_impl(dev, size, MSM_BO_WC, dmabuf->resv, &obj); > + mutex_unlock(&dev->struct_mutex); > + > if (ret) > goto fail; > > -- > 1.9.1 > > _______________________________________________ > Freedreno mailing list > Freedreno@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/freedreno _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel