Loading drivers/gpu/msm/adreno_dispatch.c +2 −2 Original line number Diff line number Diff line Loading @@ -1125,8 +1125,8 @@ static inline bool _verify_ib(struct kgsl_device_private *dev_priv, } /* Make sure that the address is in range and dword aligned */ if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr) || !IS_ALIGNED(ib->gpuaddr, 4)) { if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr, ib->size) || !IS_ALIGNED(ib->gpuaddr, 4)) { pr_context(device, context, "ctxt %d invalid ib gpuaddr %llX\n", context->id, ib->gpuaddr); return false; Loading drivers/gpu/msm/adreno_hwsched.c +2 −1 Original line number Diff line number Diff line Loading @@ -657,7 +657,8 @@ static inline bool _verify_ib(struct kgsl_device_private *dev_priv, } /* Make sure that the address is mapped */ if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr)) { if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr, ib->size)) { pr_context(device, context, "ctxt %d invalid ib gpuaddr %llX\n", context->id, ib->gpuaddr); return false; Loading drivers/gpu/msm/kgsl.c +2 −2 Original line number Diff line number Diff line Loading @@ -1302,9 +1302,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, 0) && !kgsl_mmu_gpuaddr_in_range( private->pagetable->mmu->securepagetable, gpuaddr)) private->pagetable->mmu->securepagetable, gpuaddr, 0)) return NULL; spin_lock(&private->mem_lock); Loading drivers/gpu/msm/kgsl_iommu.c +4 −4 Original line number Diff line number Diff line Loading @@ -2287,20 +2287,20 @@ static int kgsl_iommu_svm_range(struct kgsl_pagetable *pagetable, } static bool kgsl_iommu_addr_in_range(struct kgsl_pagetable *pagetable, uint64_t gpuaddr) uint64_t gpuaddr, uint64_t size) { struct kgsl_iommu_pt *pt = pagetable->priv; if (gpuaddr == 0) return false; if (gpuaddr >= pt->va_start && gpuaddr < pt->va_end) if (gpuaddr >= pt->va_start && (gpuaddr + size) < pt->va_end) return true; if (gpuaddr >= pt->compat_va_start && gpuaddr < pt->compat_va_end) if (gpuaddr >= pt->compat_va_start && (gpuaddr + size) < pt->compat_va_end) return true; if (gpuaddr >= pt->svm_start && gpuaddr < pt->svm_end) if (gpuaddr >= pt->svm_start && (gpuaddr + size) < pt->svm_end) return true; return false; Loading drivers/gpu/msm/kgsl_mmu.c +3 −3 Original line number Diff line number Diff line Loading @@ -529,10 +529,10 @@ enum kgsl_mmutype kgsl_mmu_get_mmutype(struct kgsl_device *device) } bool kgsl_mmu_gpuaddr_in_range(struct kgsl_pagetable *pagetable, uint64_t gpuaddr) uint64_t gpuaddr, uint64_t size) { if (PT_OP_VALID(pagetable, addr_in_range)) return pagetable->pt_ops->addr_in_range(pagetable, gpuaddr); return pagetable->pt_ops->addr_in_range(pagetable, gpuaddr, size); return false; } Loading @@ -544,7 +544,7 @@ bool kgsl_mmu_gpuaddr_in_range(struct kgsl_pagetable *pagetable, */ static bool nommu_gpuaddr_in_range(struct kgsl_pagetable *pagetable, uint64_t gpuaddr) uint64_t gpuaddr, uint64_t size) { return (gpuaddr != 0) ? true : false; } Loading Loading
drivers/gpu/msm/adreno_dispatch.c +2 −2 Original line number Diff line number Diff line Loading @@ -1125,8 +1125,8 @@ static inline bool _verify_ib(struct kgsl_device_private *dev_priv, } /* Make sure that the address is in range and dword aligned */ if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr) || !IS_ALIGNED(ib->gpuaddr, 4)) { if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr, ib->size) || !IS_ALIGNED(ib->gpuaddr, 4)) { pr_context(device, context, "ctxt %d invalid ib gpuaddr %llX\n", context->id, ib->gpuaddr); return false; Loading
drivers/gpu/msm/adreno_hwsched.c +2 −1 Original line number Diff line number Diff line Loading @@ -657,7 +657,8 @@ static inline bool _verify_ib(struct kgsl_device_private *dev_priv, } /* Make sure that the address is mapped */ if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr)) { if (!kgsl_mmu_gpuaddr_in_range(private->pagetable, ib->gpuaddr, ib->size)) { pr_context(device, context, "ctxt %d invalid ib gpuaddr %llX\n", context->id, ib->gpuaddr); return false; Loading
drivers/gpu/msm/kgsl.c +2 −2 Original line number Diff line number Diff line Loading @@ -1302,9 +1302,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, 0) && !kgsl_mmu_gpuaddr_in_range( private->pagetable->mmu->securepagetable, gpuaddr)) private->pagetable->mmu->securepagetable, gpuaddr, 0)) return NULL; spin_lock(&private->mem_lock); Loading
drivers/gpu/msm/kgsl_iommu.c +4 −4 Original line number Diff line number Diff line Loading @@ -2287,20 +2287,20 @@ static int kgsl_iommu_svm_range(struct kgsl_pagetable *pagetable, } static bool kgsl_iommu_addr_in_range(struct kgsl_pagetable *pagetable, uint64_t gpuaddr) uint64_t gpuaddr, uint64_t size) { struct kgsl_iommu_pt *pt = pagetable->priv; if (gpuaddr == 0) return false; if (gpuaddr >= pt->va_start && gpuaddr < pt->va_end) if (gpuaddr >= pt->va_start && (gpuaddr + size) < pt->va_end) return true; if (gpuaddr >= pt->compat_va_start && gpuaddr < pt->compat_va_end) if (gpuaddr >= pt->compat_va_start && (gpuaddr + size) < pt->compat_va_end) return true; if (gpuaddr >= pt->svm_start && gpuaddr < pt->svm_end) if (gpuaddr >= pt->svm_start && (gpuaddr + size) < pt->svm_end) return true; return false; Loading
drivers/gpu/msm/kgsl_mmu.c +3 −3 Original line number Diff line number Diff line Loading @@ -529,10 +529,10 @@ enum kgsl_mmutype kgsl_mmu_get_mmutype(struct kgsl_device *device) } bool kgsl_mmu_gpuaddr_in_range(struct kgsl_pagetable *pagetable, uint64_t gpuaddr) uint64_t gpuaddr, uint64_t size) { if (PT_OP_VALID(pagetable, addr_in_range)) return pagetable->pt_ops->addr_in_range(pagetable, gpuaddr); return pagetable->pt_ops->addr_in_range(pagetable, gpuaddr, size); return false; } Loading @@ -544,7 +544,7 @@ bool kgsl_mmu_gpuaddr_in_range(struct kgsl_pagetable *pagetable, */ static bool nommu_gpuaddr_in_range(struct kgsl_pagetable *pagetable, uint64_t gpuaddr) uint64_t gpuaddr, uint64_t size) { return (gpuaddr != 0) ? true : false; } Loading