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

Reply via email to