OSDN Git Service

drm/i915/gtt: Handle double alloc failures
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 4 Jul 2019 10:43:45 +0000 (11:43 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 4 Jul 2019 15:04:21 +0000 (16:04 +0100)
commitae1c5fd72dfcb66bda5c9002aa341196c7c3e3e1
tree59afeac4fcfbc1d85955fad0438ef33f7b721fc8
parentbf73fc0fa9cf78e37d6ee99e8d12bfa2083594d6
drm/i915/gtt: Handle double alloc failures

Matthew pointed out that we could face a double failure with concurrent
allocations/frees, and so the assumption that the local var alloc was
NULL was fraught with danger. Rather than complicate the error paths too
much to add a second local for a second free, just do the second free
earlier on the unwind path.

Reported-by: Matthew Auld <matthew.william.auld@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190704104345.6603-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem_gtt.c