drm/i915: don't leak lmem mapping in vma_evict
authorJuha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Fri, 10 Jun 2022 12:12:05 +0000 (15:12 +0300)
committerMatthew Auld <matthew.auld@intel.com>
Wed, 22 Jun 2022 10:17:05 +0000 (11:17 +0100)
Don't leak lmem mapping in vma_evict, move __i915_vma_iounmap outside
i915_vma_is_map_and_fenceable.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220610121205.29645-3-juhapekka.heikkila@gmail.com
drivers/gpu/drm/i915/i915_vma.c

index 0bffb70b3c5f5303314aa0863590d19beae31e29..d333c441699714aaaad1940e32fb6ebb8fef38db 100644 (file)
@@ -1907,9 +1907,11 @@ struct dma_fence *__i915_vma_evict(struct i915_vma *vma, bool async)
                /* release the fence reg _after_ flushing */
                i915_vma_revoke_fence(vma);
 
-               __i915_vma_iounmap(vma);
                clear_bit(I915_VMA_CAN_FENCE_BIT, __i915_vma_flags(vma));
        }
+
+       __i915_vma_iounmap(vma);
+
        GEM_BUG_ON(vma->fence);
        GEM_BUG_ON(i915_vma_has_userfault(vma));