summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIndira Biruduraju <ibirudur@codeaurora.org>2020-08-11 15:24:16 +0530
committerIndira Biruduraju <ibirudur@codeaurora.org>2020-08-24 12:38:48 +0530
commitcbc3c21971dfb3b5322e080df458ad9d2d477633 (patch)
tree3138f26124f6aab69b08baadbf28ae191ee45d4b
parent45d0ff3112465a5172b4c802ffe021311a5d352b (diff)
msm: kgsl: Remove VM_MAYWRITE flag to restrict mprotect
When VM_MAYWRITE flag is used during mmap(), mprotect() can be used later to change the protection of memstore to allow write. Make sure this does not happen by removing VM_MAYWRITE from the vm_flags of vma. Change-Id: I6f69f05858ea40611d512cfa796caabeaa88cdb5 Signed-off-by: Indira Biruduraju <ibirudur@codeaurora.org>
-rw-r--r--drivers/gpu/msm/kgsl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c
index 44522cac7c42..1e30cd9e3524 100644
--- a/drivers/gpu/msm/kgsl.c
+++ b/drivers/gpu/msm/kgsl.c
@@ -4202,6 +4202,8 @@ kgsl_mmap_memstore(struct kgsl_device *device, struct vm_area_struct *vma)
if (vma->vm_flags & VM_WRITE)
return -EPERM;
+ vma->vm_flags &= ~VM_MAYWRITE;
+
if (memdesc->size != vma_size) {
KGSL_MEM_ERR(device, "memstore bad size: %d should be %llu\n",
vma_size, memdesc->size);