summaryrefslogtreecommitdiff
path: root/drivers/mxc
diff options
context:
space:
mode:
authorPrabhu Sundararaj <prabhu.sundararaj@nxp.com>2016-09-13 10:30:18 -0500
committerPrabhu Sundararaj <prabhu.sundararaj@nxp.com>2016-09-13 10:30:18 -0500
commit094928edf1bc194f25f302a0059ac87b409c5328 (patch)
tree6f4d913911d2fbee5b64e0e8b9098087d37ff815 /drivers/mxc
parent25bb16c5840443e8711732aef26fd46bc1e38582 (diff)
MGS-2243 [#imx-180] Fix high impact Coverity issue in GPU kernel driver
Fix high impact Coverity issue in GPU kernel driver Date: Sep 13, 2016 Signed-off-by: Yuchou Gan <yuchou.gan@nxp.com>
Diffstat (limited to 'drivers/mxc')
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_db.c5
-rw-r--r--drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_video_memory.c1
-rw-r--r--drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_dmabuf.c5
-rw-r--r--drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c5
-rw-r--r--drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_allocator.c4
5 files changed, 20 insertions, 0 deletions
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_db.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_db.c
index 2cf92fe30265..f78e9c5eebe3 100644
--- a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_db.c
+++ b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_db.c
@@ -156,6 +156,11 @@ gckKERNEL_NewDatabase(
return gcvSTATUS_OK;
OnError:
+ if (pointer)
+ {
+ gcmkVERIFY_OK(gckOS_Free(Kernel->os,pointer));
+ }
+
if (acquired)
{
/* Release the database mutex. */
diff --git a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_video_memory.c b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_video_memory.c
index 0b60a0aec3db..1b0d542e2a9e 100644
--- a/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_video_memory.c
+++ b/drivers/mxc/gpu-viv/hal/kernel/gc_hal_kernel_video_memory.c
@@ -2641,6 +2641,7 @@ gckVIDMEM_NODE_Dereference(
#endif
gcmkVERIFY_OK(gckOS_DeleteMutex(Kernel->os, Node->mutex));
gcmkOS_SAFE_FREE(Kernel->os, Node);
+ Node = NULL;
}
gcmkFOOTER_NO();
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_dmabuf.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_dmabuf.c
index 43203f7bc6e4..cea2e8b3622e 100644
--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_dmabuf.c
+++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/default/gc_hal_kernel_allocator_dmabuf.c
@@ -164,6 +164,11 @@ _DmabufAttach(
return gcvSTATUS_OK;
OnError:
+ if(pagearray)
+ {
+ gcmkVERIFY_OK(gckOS_Free(os, (gctPOINTER)pagearray));
+ }
+
gcmkFOOTER();
return status;
}
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c
index a0d784090346..7d759ff2f712 100644
--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c
+++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c
@@ -441,6 +441,11 @@ _CMAFSLAlloctorInit(
return gcvSTATUS_OK;
OnError:
+ if(allocator)
+ {
+ gcmkVERIFY_OK(gckOS_Free(Os, (gctPOINTER)allocator));
+ }
+
return status;
}
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_allocator.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_allocator.c
index 93d6fa82958e..55de406767d6 100644
--- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_allocator.c
+++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_allocator.c
@@ -799,6 +799,10 @@ _DefaultAlloctorInit(
return gcvSTATUS_OK;
OnError:
+ if(allocator)
+ {
+ gcmkVERIFY_OK(gckOS_Free(Os, (gctPOINTER)allocator));
+ }
return status;
}