Following the error path in that function may lead to usage of uninitialized struct i915_gem_ww_ctx object, so move call to i915_gem_ww_ctx_init() a bit earlier.
Fixes: 15b6c9249870 ("drm/i915: Move i915_vma_lock in the selftests to avoid lock inversion, v3.") Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com> Cc: <sta...@vger.kernel.org> # v5.10+ Reviewed-by: Sebastian Brzezinka <sebastian.brzezi...@intel.com> Reviewed-by: Andi Shyti <andi.sh...@linux.intel.com> Signed-off-by: Krzysztof Karas <krzysztof.ka...@intel.com> --- This patch was pulled out of a series with mainly drm changes as per suggestion from Jani Nikula. The code did not change. drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c index eb0158e43417..1330c0b431a7 100644 --- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c +++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c @@ -962,13 +962,14 @@ emit_rpcs_query(struct drm_i915_gem_object *obj, if (IS_ERR(rpcs)) return PTR_ERR(rpcs); + i915_gem_ww_ctx_init(&ww, false); + batch = i915_vma_instance(rpcs, ce->vm, NULL); if (IS_ERR(batch)) { err = PTR_ERR(batch); goto err_put; } - i915_gem_ww_ctx_init(&ww, false); retry: err = i915_gem_object_lock(obj, &ww); if (!err) -- 2.34.1 -- Best Regards, Krzysztof