1
0
Fork 0

MGS-3083 [#imx-662] fix kernel build error with kasan config

hal/kernel/gc_hal_kernel_command.c: In function gckCOMMAND_Commit:
hal/kernel/gc_hal_kernel_command.c:2718:1:
error: the frame size of 2288 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]

removed _commandBufferObject instrance, use kmalloc to avoid kasan error.

Date: Jul 13, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
(cherry picked from commit d8d57e43a24bd02b375d7c6bd633ed236db19337)
(cherry picked from commit 484e3073adf47d27581482f268b01fe5fe219d18)
pull/10/head
Xianzhong 2017-07-13 10:28:14 +08:00
parent d95ae967a0
commit 84dc472873
1 changed files with 10 additions and 2 deletions

View File

@ -1790,7 +1790,6 @@ gckCOMMAND_Commit(
#if !gcdNULL_DRIVER
gcsCONTEXT_PTR contextBuffer;
struct _gcoCMDBUF _commandBufferObject;
gctPHYS_ADDR_T commandBufferPhysical;
gctUINT8_PTR commandBufferLogical = gcvNULL;
gctUINT32 commandBufferAddress = 0;
@ -1904,7 +1903,8 @@ gckCOMMAND_Commit(
#else
if (needCopy)
{
commandBufferObject = &_commandBufferObject;
gcmkONERROR(gckOS_Allocate(Command->os, gcmSIZEOF(struct _gcoCMDBUF), &pointer));
commandBufferObject = pointer;
gcmkONERROR(gckOS_CopyFromUserData(
Command->os,
@ -2587,6 +2587,10 @@ gckCOMMAND_Commit(
commandBufferMapped = gcvFALSE;
}
else if (needCopy)
{
gcmkONERROR(gckOS_Free(Command->os, commandBufferObject));
}
/* Return status. */
gcmkFOOTER();
@ -2626,6 +2630,10 @@ OnError:
commandBufferObject
));
}
else if (needCopy)
{
gcmkVERIFY_OK(gckOS_Free(Command->os, commandBufferObject));
}
/* Return status. */
gcmkFOOTER();