Commit e4d5dc21 authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Check new context against kernel_context after reporting an error



Avoid any pointer dereference in inspecting a potential PTR_ERR by
checking for the error pointer before checking for an invalid context.

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170705142634.18554-1-chris@chris-wilson.co.uk
parent 817aef5d
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -571,14 +571,13 @@ int i915_gem_context_open(struct drm_i915_private *i915,
	mutex_lock(&i915->drm.struct_mutex);
	ctx = i915_gem_create_context(i915, file_priv);
	mutex_unlock(&i915->drm.struct_mutex);

	GEM_BUG_ON(i915_gem_context_is_kernel(ctx));

	if (IS_ERR(ctx)) {
		idr_destroy(&file_priv->context_idr);
		return PTR_ERR(ctx);
	}

	GEM_BUG_ON(i915_gem_context_is_kernel(ctx));

	return 0;
}