Skip to content

Commit 379091e

Browse files
Sui JingfengChun-Kuang Hu
authored andcommitted
drm/mediatek: Fix potential memory leak if vmap() fail
Also return -ENOMEM if such a failure happens, the implement should take responsibility for the error handling. Fixes: 3df64d7 ("drm/mediatek: Implement gem prime vmap/vunmap function") Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: Alexandre Mergnat <[email protected]> Signed-off-by: Sui Jingfeng <[email protected]> Reviewed-by: CK Hu <[email protected]> Reviewed-by: AngeloGioacchino Del Regno <[email protected]> Link: https://patchwork.kernel.org/project/dri-devel/patch/[email protected]/ Signed-off-by: Chun-Kuang Hu <[email protected]>
1 parent ed6adfb commit 379091e

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

drivers/gpu/drm/mediatek/mtk_drm_gem.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,11 @@ int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct iosys_map *map)
247247

248248
mtk_gem->kvaddr = vmap(mtk_gem->pages, npages, VM_MAP,
249249
pgprot_writecombine(PAGE_KERNEL));
250-
250+
if (!mtk_gem->kvaddr) {
251+
kfree(sgt);
252+
kfree(mtk_gem->pages);
253+
return -ENOMEM;
254+
}
251255
out:
252256
kfree(sgt);
253257
iosys_map_set_vaddr(map, mtk_gem->kvaddr);

0 commit comments

Comments
 (0)