diff --git a/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_video_memory.c b/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_video_memory.c index c82a51adf55d..ca399a0a01c1 100644 --- a/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_video_memory.c +++ b/drivers/staging/rk29/vivante/hal/kernel/gc_hal_kernel_video_memory.c @@ -831,7 +831,8 @@ gckVIDMEM_AllocateLinear( gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY); } - if (Bytes > Memory->freeBytes) + // dkm: 多预留32K的空间,否则GPU会有访问非法地址的风险 + if (Bytes + (32 << 10) > Memory->freeBytes) { /* Not enough memory. */ gcmkONERROR(gcvSTATUS_OUT_OF_MEMORY);