Messages in this thread | | | Date | Thu, 6 Jul 2023 13:39:01 +0200 | Subject | Re: [PATCH] drm/mediatek: Fix potential memory leak if vmap() fail | From | Matthias Brugger <> |
| |
On 26/06/2023 20:58, Sui Jingfeng wrote: > Also return -ENOMEM if such a failure happens, the implement should take > responsibility for the error handling. > > Signed-off-by: Sui Jingfeng <suijingfeng@loongson.cn> > --- > drivers/gpu/drm/mediatek/mtk_drm_gem.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_gem.c b/drivers/gpu/drm/mediatek/mtk_drm_gem.c > index a25b28d3ee90..9f364df52478 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_gem.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_gem.c > @@ -247,7 +247,11 @@ int mtk_drm_gem_prime_vmap(struct drm_gem_object *obj, struct iosys_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; > + }
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
> out: > kfree(sgt); > iosys_map_set_vaddr(map, mtk_gem->kvaddr);
| |