gpu: nvgpu: fix memory leak in pd cache

Fix memory leak in case dma allocation fails in function
nvgpu_pd_cache_alloc_direct_lock(). This one got introduced by the patch
https://git-master.nvidia.com/r/c/linux-nvgpu/+/2735657.

Bug 3461002

Change-Id: Ia8c6138179cc9bb2adc53bff32dd81fb2b6ee54a
Signed-off-by: Shashank Singh <shashsingh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2821684
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com>
Reviewed-by: Sagar Kamble <skamble@nvidia.com>
Reviewed-by: Rajesh Devaraj <rdevaraj@nvidia.com>
Reviewed-by: Ankur Kishore <ankkishore@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Shashank Singh
2022-12-05 08:39:06 +00:00
committed by mobile promotions
parent bd134326f8
commit eb60e7f1f1

View File

@@ -228,7 +228,7 @@ static int nvgpu_pd_cache_alloc_direct_locked(struct gk20a *g,
err = nvgpu_dma_alloc_flags(g, flags, bytes, &(pentry->mem)); err = nvgpu_dma_alloc_flags(g, flags, bytes, &(pentry->mem));
if (err != 0) { if (err != 0) {
nvgpu_err(g, "OOM allocating page directory!"); nvgpu_err(g, "OOM allocating page directory!");
nvgpu_kfree(g, pd->mem); nvgpu_kfree(g, pentry);
return -ENOMEM; return -ENOMEM;
} }