Message ID | 1460476663-24890-3-git-send-email-matthew.auld@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On ti, 2016-04-12 at 16:57 +0100, Matthew Auld wrote: > If we are not in FULL_48BIT_PPGTT mode then we really shouldn't > continue on with our allocations, given that the call to free_dpd would > bail early without freeing everything, thus leaking memory. > > Cc: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > Signed-off-by: Matthew Auld <matthew.auld@intel.com> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index fa583d5..6601b11 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -569,7 +569,8 @@ i915_page_directory_pointer *alloc_pdp(struct drm_device *dev) > struct i915_page_directory_pointer *pdp; > int ret = -ENOMEM; This default value is unused. While touching the function, I'd rather make it ret = -EINVAL and add goto fail; to clean it up further. > - WARN_ON(!USES_FULL_48BIT_PPGTT(dev)); > + if (WARN_ON(!USES_FULL_48BIT_PPGTT(dev))) > + return ERR_PTR(-EINVAL); goto fail here. > > pdp = kzalloc(sizeof(*pdp), GFP_KERNEL); > if (!pdp) ret = -ENOMEM and goto fail here? Regards, Joonas
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index fa583d5..6601b11 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -569,7 +569,8 @@ i915_page_directory_pointer *alloc_pdp(struct drm_device *dev) struct i915_page_directory_pointer *pdp; int ret = -ENOMEM; - WARN_ON(!USES_FULL_48BIT_PPGTT(dev)); + if (WARN_ON(!USES_FULL_48BIT_PPGTT(dev))) + return ERR_PTR(-EINVAL); pdp = kzalloc(sizeof(*pdp), GFP_KERNEL); if (!pdp)
If we are not in FULL_48BIT_PPGTT mode then we really shouldn't continue on with our allocations, given that the call to free_dpd would bail early without freeing everything, thus leaking memory. Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> --- drivers/gpu/drm/i915/i915_gem_gtt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)