From 6c58829f4428f2564833743de7135f4451077e75 Mon Sep 17 00:00:00 2001 From: Harshitha Sai Neelati Date: Fri, 16 Apr 2021 18:10:02 +0530 Subject: [PATCH] msm: kgsl: Validate page offset before vmf_insert_page Validate page offset before vmf_insert_page to avoid out of bound access. Change-Id: I8fe91934ce0a955238dca25e518dc48d00de6941 Signed-off-by: Harshitha Sai Neelati --- drivers/gpu/msm/kgsl_sharedmem.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/msm/kgsl_sharedmem.c b/drivers/gpu/msm/kgsl_sharedmem.c index 76d51be3834c..ce05655c1687 100644 --- a/drivers/gpu/msm/kgsl_sharedmem.c +++ b/drivers/gpu/msm/kgsl_sharedmem.c @@ -366,8 +366,12 @@ static vm_fault_t kgsl_paged_vmfault(struct kgsl_memdesc *memdesc, struct vm_fault *vmf) { int pgoff; + unsigned int offset = vmf->address - vma->vm_start; - pgoff = (vmf->address - vma->vm_start) >> PAGE_SHIFT; + if (offset >= memdesc->size) + return VM_FAULT_SIGBUS; + + pgoff = offset >> PAGE_SHIFT; return vmf_insert_page(vma, vmf->address, memdesc->pages[pgoff]); }