linux/drivers/gpu/drm/i915/selftests
Chris Wilson 3aa9945a52 drm/i915: Separate GEM context construction and registration to userspace
In later patches, it became apparent that userspace can see a partially
constructed GEM context and begin using it before it was ready, to much
hilarity. Close this window of opportunity by lifting the registration of
the context with userspace (the insertion of the context into the filp's
idr) to the very end of the CONTEXT_CREATE ioctl.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190321140711.11190-1-chris@chris-wilson.co.uk
2019-03-21 15:59:25 +00:00
..
huge_gem_object.c drm/i915: Make object/vma allocation caches global 2019-02-28 11:08:02 +00:00
huge_gem_object.h
huge_pages.c drm/i915: Separate GEM context construction and registration to userspace 2019-03-21 15:59:25 +00:00
i915_active.c drm/i915: Beware temporary wedging when determining -EIO 2019-02-20 16:31:08 +00:00
i915_gem_coherency.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
i915_gem_context.c drm/i915: Separate GEM context construction and registration to userspace 2019-03-21 15:59:25 +00:00
i915_gem_dmabuf.c
i915_gem_evict.c drm/i915: Beware temporary wedging when determining -EIO 2019-02-20 16:31:08 +00:00
i915_gem_gtt.c drm/i915: Separate GEM context construction and registration to userspace 2019-03-21 15:59:25 +00:00
i915_gem_object.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
i915_gem.c drm/i915: Do a synchronous switch-to-kernel-context on idling 2019-03-08 10:57:05 +00:00
i915_live_selftests.h drm/i915: Generalise GPU activity tracking 2019-02-05 17:12:00 +00:00
i915_mock_selftests.h drm/i915: Replace global breadcrumbs with per-context interrupt tracking 2019-01-29 21:45:22 +00:00
i915_random.c drm/i915: Share per-timeline HWSP using a slab suballocator 2019-01-28 19:07:06 +00:00
i915_random.h drm/i915: Share per-timeline HWSP using a slab suballocator 2019-01-28 19:07:06 +00:00
i915_request.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
i915_selftest.c drm/i915/selftests: Upgrade printing test/subtest name to pr_info 2019-03-06 11:36:36 +00:00
i915_sw_fence.c drm/i915/selftests: Disable preemption while setting up fence-timers 2019-03-14 11:47:06 +00:00
i915_syncmap.c
i915_timeline.c drm/i915: Keep timeline HWSP allocated until idle across the system 2019-03-01 17:40:33 +00:00
i915_vma.c drm/i915/selftests: Move local mock_ggtt allocations to the heap 2019-02-17 21:07:46 +00:00
igt_flush_test.c drm/i915: Reduce presumption of request ordering for barriers 2019-03-08 10:57:08 +00:00
igt_flush_test.h
igt_live_test.c drm/i915: Drop fake breadcrumb irq 2019-01-29 21:45:30 +00:00
igt_live_test.h drm/i915/selftests: Refactor common live_test framework 2019-01-22 13:01:20 +00:00
igt_reset.c
igt_reset.h
igt_spinner.c drm/i915: Don't claim an unstarted request was guilty 2019-02-08 16:47:40 +00:00
igt_spinner.h
igt_wedge_me.h
intel_engine_cs.c
intel_guc.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
intel_hangcheck.c drm/i915/selftests: Improve error detection of reset failure 2019-03-12 12:49:30 +00:00
intel_lrc.c drm/i915/selftests: Check preemption support on each engine 2019-03-08 09:34:49 +00:00
intel_uncore.c drm/i915: move regs pointer inside the uncore structure 2019-03-20 21:12:50 +00:00
intel_workarounds.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
lib_sw_fence.c drm/i915: Replace global breadcrumbs with per-context interrupt tracking 2019-01-29 21:45:22 +00:00
lib_sw_fence.h drm/i915: Replace global breadcrumbs with per-context interrupt tracking 2019-01-29 21:45:22 +00:00
mock_context.c drm/i915: Separate GEM context construction and registration to userspace 2019-03-21 15:59:25 +00:00
mock_context.h
mock_dmabuf.c
mock_dmabuf.h
mock_drm.c
mock_drm.h
mock_engine.c drm/i915/selftests: Provide stub reset functions 2019-03-20 09:01:12 +00:00
mock_engine.h drm/i915: Replace global breadcrumbs with per-context interrupt tracking 2019-01-29 21:45:22 +00:00
mock_gem_device.c drm/i915: make more uncore function work on intel_uncore 2019-03-20 21:12:42 +00:00
mock_gem_device.h
mock_gem_object.h
mock_gtt.c drm/i915/selftests: Create a clean GGTT for vma/gtt selftesting 2019-01-22 12:50:39 +00:00
mock_gtt.h drm/i915/selftests: Create a clean GGTT for vma/gtt selftesting 2019-01-22 12:50:39 +00:00
mock_request.c drm/i915: Make request allocation caches global 2019-02-28 11:07:56 +00:00
mock_request.h drm/i915: Make request allocation caches global 2019-02-28 11:07:56 +00:00
mock_timeline.c drm/i915: Introduce i915_timeline.mutex 2019-03-01 14:54:46 +00:00
mock_timeline.h
mock_uncore.c drm/i915: make more uncore function work on intel_uncore 2019-03-20 21:12:42 +00:00
mock_uncore.h drm/i915: make more uncore function work on intel_uncore 2019-03-20 21:12:42 +00:00
scatterlist.c