diff --git a/drivers/gpu/msm/kgsl_sharedmem.c b/drivers/gpu/msm/kgsl_sharedmem.c index 73c263bcf56ac0c5dd31d052856c0271b6361370..4aec22b450332fd02a3e3f3eb94fd09c78445fb0 100644 --- a/drivers/gpu/msm/kgsl_sharedmem.c +++ b/drivers/gpu/msm/kgsl_sharedmem.c @@ -580,10 +580,15 @@ _kgsl_sharedmem_page_alloc(struct kgsl_memdesc *memdesc, size_t size) { int order, ret = 0; - int len, sglen_alloc, sglen = 0; + int sglen_alloc, sglen = 0; + size_t len; void *ptr; unsigned int align; + size = PAGE_ALIGN(size); + if (size == 0 || size > UINT_MAX) + return -EINVAL; + align = (memdesc->flags & KGSL_MEMALIGN_MASK) >> KGSL_MEMALIGN_SHIFT; /*