Loading drivers/gpu/msm/kgsl_iommu.c +9 −5 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2011-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #include <linux/compat.h> Loading Loading @@ -2428,14 +2428,18 @@ static uint64_t kgsl_iommu_find_svm_region(struct kgsl_pagetable *pagetable, static bool iommu_addr_in_svm_ranges(struct kgsl_iommu_pt *pt, u64 gpuaddr, u64 size) { u64 end = gpuaddr + size; /* Make sure size is not zero and we don't wrap around */ if (end <= gpuaddr) return false; if ((gpuaddr >= pt->compat_va_start && gpuaddr < pt->compat_va_end) && ((gpuaddr + size) > pt->compat_va_start && (gpuaddr + size) <= pt->compat_va_end)) (end > pt->compat_va_start && end <= pt->compat_va_end)) return true; if ((gpuaddr >= pt->svm_start && gpuaddr < pt->svm_end) && ((gpuaddr + size) > pt->svm_start && (gpuaddr + size) <= pt->svm_end)) (end > pt->svm_start && end <= pt->svm_end)) return true; return false; Loading Loading
drivers/gpu/msm/kgsl_iommu.c +9 −5 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2011-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #include <linux/compat.h> Loading Loading @@ -2428,14 +2428,18 @@ static uint64_t kgsl_iommu_find_svm_region(struct kgsl_pagetable *pagetable, static bool iommu_addr_in_svm_ranges(struct kgsl_iommu_pt *pt, u64 gpuaddr, u64 size) { u64 end = gpuaddr + size; /* Make sure size is not zero and we don't wrap around */ if (end <= gpuaddr) return false; if ((gpuaddr >= pt->compat_va_start && gpuaddr < pt->compat_va_end) && ((gpuaddr + size) > pt->compat_va_start && (gpuaddr + size) <= pt->compat_va_end)) (end > pt->compat_va_start && end <= pt->compat_va_end)) return true; if ((gpuaddr >= pt->svm_start && gpuaddr < pt->svm_end) && ((gpuaddr + size) > pt->svm_start && (gpuaddr + size) <= pt->svm_end)) (end > pt->svm_start && end <= pt->svm_end)) return true; return false; Loading