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 <matthias.bgg@gmail.com> Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com> Signed-off-by: Sui Jingfeng <suijingfeng@loongson.cn> Reviewed-by: CK Hu <ck.hu@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://patchwork.kernel.org/project/dri-devel/patch/20230706134000.130098-1-suijingfeng@loongson.cn/ Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
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)