From: Chris Wilson Date: Wed, 20 Jun 2018 11:24:41 +0000 (+0100) Subject: drm/i915/selftests: Avoid ERR_PTR dereference X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f648661bc7de497634c474a38608a715a0af4bbd;p=openwrt%2Fstaging%2Fblogic.git drm/i915/selftests: Avoid ERR_PTR dereference Along the early error path for igt_switch_to_kernel_context we may try to dereference an invalid error pointer. Instead, return early rather than dump the GEM trace since we haven't yet emitted anything of interest. Reported-by: Dan Carpenter Fixes: 09a4c02e58c1 ("drm/i915: Look for an active kernel context before switching") Signed-off-by: Chris Wilson Cc: Mika Kuoppala Cc: Joonas Lahtinen Reviewed-by: Joonas Lahtinen Link: https://patchwork.freedesktop.org/patch/msgid/20180620112441.13085-1-chris@chris-wilson.co.uk --- diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c index 836f1af8b833..90c3c36173ba 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c @@ -519,8 +519,8 @@ static int igt_switch_to_kernel_context(void *arg) mutex_lock(&i915->drm.struct_mutex); ctx = kernel_context(i915); if (IS_ERR(ctx)) { - err = PTR_ERR(ctx); - goto out_unlock; + mutex_unlock(&i915->drm.struct_mutex); + return PTR_ERR(ctx); } /* First check idling each individual engine */