drm/i915: Fix potential context UAFs
commit afce71ff upstream. gem_context_register() makes the context visible to userspace, and which point a separate thread can trigger the I915_GEM_CONTEXT_DESTROY ioctl. So we need to ensure that nothing uses the ctx ptr after this. And we need to ensure that adding the ctx to the xarray is the *last* thing that gem_context_register() does with the ctx pointer. Signed-off-by:Rob Clark <robdclark@chromium.org> Fixes: eb4dedae ("drm/i915/gem: Delay tracking the GEM context until it is registered") Fixes: a4c1cdd3 ("drm/i915/gem: Delay context creation (v3)") Fixes: 49bd54b3 ("drm/i915: Track all user contexts per client") Cc: <stable@vger.kernel.org> # v5.10+ Reviewed-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by:
Andi Shyti <andi.shyti@linux.intel.com> [tursulin: Stable and fixes tags add/tidy.] Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230103234948.1218393-1-robdclark@gmail.com (cherry picked from commit bed4b455) Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> [ Sherry: bp to fix CVE-2023-52913, ignore context conflicts due to missing commit 49bd54b3 "drm/i915: Track all user contexts per client")] Signed-off-by:
Sherry Yang <sherry.yang@oracle.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Loading