On Mon, Nov 17, 2014 at 03:48:27PM +0000, Arun Siluvery wrote: > We are not freeing memory allocated for ringbuf and ctx if we fail > to map status page so release all resources correctly. > > Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_lrc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c > index f3efdbd..a84d24b 100644 > --- a/drivers/gpu/drm/i915/intel_lrc.c > +++ b/drivers/gpu/drm/i915/intel_lrc.c > @@ -1777,8 +1777,10 @@ int intel_lr_context_deferred_create(struct intel_context *ctx, > ring->status_page.gfx_addr = i915_gem_obj_ggtt_offset(ctx_obj); > ring->status_page.page_addr = > kmap(sg_page(ctx_obj->pages->sgl)); > - if (ring->status_page.page_addr == NULL) > - return -ENOMEM; > + if (ring->status_page.page_addr == NULL) { > + ret = -ENOMEM; > + goto error; > + } Since this popped up: Do we have an automated igt testcase to exercise this corner-case? We do have it for legacy (gen6/7) contexts, including exercising the shrinker logic to get rid of misplaced ctx objects to avoid ggtt fragmentation hassles ... -Daniel > ring->status_page.obj = ctx_obj; > } > > -- > 2.1.2 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx