From ab30b65f61107752f4df4009028ed0ad9a44ca6e Mon Sep 17 00:00:00 2001 From: Puranam V G Tejaswi Date: Mon, 8 Mar 2021 14:38:46 +0530 Subject: [PATCH] msm: kgsl: Return a valid entry in case of secure GPU address Currently kgsl_sharedmem_find always returns NULL in case of a secure GPU address as the address would not be part of process pagetable. This can lead to not freeing secure memory as part of kgsl_ioctl_sharedmem_free. Fix this by also checking if the address lies in the secure pagetable range before returning NULL. Change-Id: I79b5686a8fcaf580fc79b8f528b91c987f9138a9 Signed-off-by: Puranam V G Tejaswi --- drivers/gpu/msm/kgsl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c index 565ecd6e25be..1120e1e36f3c 100644 --- a/drivers/gpu/msm/kgsl.c +++ b/drivers/gpu/msm/kgsl.c @@ -1200,7 +1200,9 @@ kgsl_sharedmem_find(struct kgsl_process_private *private, uint64_t gpuaddr) if (!private) return NULL; - if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, gpuaddr)) + if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, gpuaddr) && + !kgsl_mmu_gpuaddr_in_range( + private->pagetable->mmu->securepagetable, gpuaddr)) return NULL; spin_lock(&private->mem_lock);