drm/i915: avoid uninitialised var in eb_parse()
authorJonathan Gray <jsg@jsg.id.au>
Mon, 9 Aug 2021 11:30:22 +0000 (21:30 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Aug 2021 11:22:19 +0000 (13:22 +0200)
The backport of c9d9fdbc108af8915d3f497bbdf3898bf8f321b8 to 5.10 in
6976f3cf34a1a8b791c048bbaa411ebfe48666b1 removed more than it should
have leading to 'batch' being used uninitialised.  The 5.13 backport and
the mainline commit did not remove the portion this patch adds back.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Fixes: 6976f3cf34a1 ("drm/i915: Revert "drm/i915/gem: Asynchronous cmdparser"")
Cc: <stable@vger.kernel.org> # 5.10
Cc: Jason Ekstrand <jason@jlekstrand.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c

index e5ac0936a587116fd2a1b943d8bbc376aaf078c0..0c083af5a59d5b4312509fa7901d57e01a9198fd 100644 (file)
@@ -2351,6 +2351,12 @@ static int eb_parse(struct i915_execbuffer *eb)
                eb->batch_flags |= I915_DISPATCH_SECURE;
        }
 
+       batch = eb_dispatch_secure(eb, shadow);
+       if (IS_ERR(batch)) {
+               err = PTR_ERR(batch);
+               goto err_trampoline;
+       }
+
        err = intel_engine_cmd_parser(eb->engine,
                                      eb->batch->vma,
                                      eb->batch_start_offset,
@@ -2377,6 +2383,7 @@ secure_batch:
 err_unpin_batch:
        if (batch)
                i915_vma_unpin(batch);
+err_trampoline:
        if (trampoline)
                i915_vma_unpin(trampoline);
 err_shadow: