mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-26 04:20:23 +09:00
drm/mediatek: Fix potential memory leak if vmap() fail
[ Upstream commit379091e0f6] Also return -ENOMEM if such a failure happens, the implement should take responsibility for the error handling. Fixes:3df64d7b0a("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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e5758ad9a3
commit
fff4d36247
@@ -242,7 +242,11 @@ int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct dma_buf_map *map)
|
||||
|
||||
mtk_gem->kvaddr = vmap(mtk_gem->pages, npages, VM_MAP,
|
||||
pgprot_writecombine(PAGE_KERNEL));
|
||||
|
||||
if (!mtk_gem->kvaddr) {
|
||||
kfree(sgt);
|
||||
kfree(mtk_gem->pages);
|
||||
return -ENOMEM;
|
||||
}
|
||||
out:
|
||||
kfree(sgt);
|
||||
dma_buf_map_set_vaddr(map, mtk_gem->kvaddr);
|
||||
|
||||
Reference in New Issue
Block a user