]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gem: Propagate error from cancelled submit due to context closure
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 3 Dec 2020 10:34:32 +0000 (10:34 +0000)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 8 Dec 2020 15:03:27 +0000 (07:03 -0800)
commit96ab0dc41f6924f1dea6179f669709969918ca17
tree4c7de63cb55e58a953202e60ca956f9463f28f64
parent0acce627487645d2cda23756cf9e26ede056765d
drm/i915/gem: Propagate error from cancelled submit due to context closure

In the course of discovering and closing many races with context closure
and execbuf submission, since commit 12c8734d33c4 ("drm/i915/gem: Check
that the context wasn't closed during setup") we started checking that
the context was not closed by another userspace thread during the execbuf
ioctl. In doing so we cancelled the inflight request (by telling it to be
skipped), but kept reporting success since we do submit a request, albeit
one that doesn't execute. As the error is known before we return from the
ioctl, we can report the error we detect immediately, rather than leave
it on the fence status. With the immediate propagation of the error, it
is easier for userspace to handle.

Fixes: 12c8734d33c4 ("drm/i915/gem: Check that the context wasn't closed during setup")
Testcase: igt/gem_ctx_exec/basic-close-race
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: <stable@vger.kernel.org> # v5.7+
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201203103432.31526-1-chris@chris-wilson.co.uk
(cherry picked from commit ba38b79eaeaeed29d2383f122d5c711ebf5ed3d1)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c