Merge "msm: kgsl: Protect against a potential overflow in kgsl_sg_alloc"
diff --git a/drivers/gpu/msm/kgsl_sharedmem.h b/drivers/gpu/msm/kgsl_sharedmem.h
index b08c6d6..eff7ea7 100644
--- a/drivers/gpu/msm/kgsl_sharedmem.h
+++ b/drivers/gpu/msm/kgsl_sharedmem.h
@@ -138,6 +138,9 @@
static inline void *kgsl_sg_alloc(unsigned int sglen)
{
+ if (sglen >= ULONG_MAX / sizeof(struct scatterlist))
+ return NULL;
+
if ((sglen * sizeof(struct scatterlist)) < PAGE_SIZE)
return kzalloc(sglen * sizeof(struct scatterlist), GFP_KERNEL);
else {