Message ID | 1458747584-29772-1-git-send-email-matthew.auld@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On ke, 2016-03-23 at 15:39 +0000, Matthew Auld wrote: > When unpinning a ggtt_view check vma for error, otherwise we may end up > accessing an invalid pointer. > > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > Signed-off-by: Matthew Auld <matthew.auld@intel.com> > --- > drivers/gpu/drm/i915/i915_gem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 8588c83..a8f3378 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -4319,7 +4319,7 @@ i915_gem_object_ggtt_unpin_view(struct drm_i915_gem_object *obj, > { > struct i915_vma *vma = i915_gem_obj_to_ggtt_view(obj, view); > > - BUG_ON(!vma); > + BUG_ON(IS_ERR_OR_NULL(vma)); Nicely spotted. I discussed this with Tvrtko (CC'd him). I think we could change i915_gem_obj_to_ggtt_view to BUG_ON(!view) instead of adding the error handling in all places, as it is after all a programmer error to provide NULL view. Regards, Joonas > WARN_ON(vma->pin_count == 0); > WARN_ON(!i915_gem_obj_ggtt_bound_view(obj, view)); >
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 8588c83..a8f3378 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -4319,7 +4319,7 @@ i915_gem_object_ggtt_unpin_view(struct drm_i915_gem_object *obj, { struct i915_vma *vma = i915_gem_obj_to_ggtt_view(obj, view); - BUG_ON(!vma); + BUG_ON(IS_ERR_OR_NULL(vma)); WARN_ON(vma->pin_count == 0); WARN_ON(!i915_gem_obj_ggtt_bound_view(obj, view));
When unpinning a ggtt_view check vma for error, otherwise we may end up accessing an invalid pointer. Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> --- drivers/gpu/drm/i915/i915_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)