Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/shmem-helper: Add missing vunmap on error

The vmapping of dma-buf may succeed, but DRM SHMEM rejects the IOMEM
mapping, and thus, drm_gem_shmem_vmap_locked() should unvmap the IOMEM
before erroring out.

Cc: stable@vger.kernel.org
Fixes: 49a3f51dfeee ("drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends")
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20220630200058.1883506-2-dmitry.osipenko@collabora.com

authored by

Dmitry Osipenko and committed by
Daniel Vetter
df4aaf01 6f2c8d5f

+1
+1
drivers/gpu/drm/drm_gem_shmem_helper.c
··· 302 302 ret = dma_buf_vmap(obj->import_attach->dmabuf, map); 303 303 if (!ret) { 304 304 if (WARN_ON(map->is_iomem)) { 305 + dma_buf_vunmap(obj->import_attach->dmabuf, map); 305 306 ret = -EIO; 306 307 goto err_put_pages; 307 308 }