drm/i915: Hold mutex across i915_gem_release
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 4 Dec 2013 14:52:06 +0000 (14:52 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 4 Dec 2013 15:57:02 +0000 (16:57 +0100)
commit0d1430a3f4b7cfd8779b78740a4182321f3ca7f3
tree11a10c87cef26d7840d6b8266ba0467bde71a487
parent5ae68b413214e847a2b5c6d3c65778482542bc1a
drm/i915: Hold mutex across i915_gem_release

Inorder to serialise the closing of the file descriptor and its
subsequent release of client requests with i915_gem_free_request(), we
need to hold the struct_mutex in i915_gem_release(). Failing to do so
has the potential to trigger an OOPS, later with a use-after-free.

Testcase: igt/gem_close_race
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70874
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71029
Reported-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_gem_context.c