Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 793842d0 authored by Patrick Daly's avatar Patrick Daly Committed by Liam Mark
Browse files

iommu: arm-smmu: Fix locking issue



Hold the appropriate lock when adding/removing from the list of pages
requiring a hyp_assign call.

Change-Id: I10eb5bfded898e50e3cf2d88d867fda857d570fe
Signed-off-by: default avatarPatrick Daly <pdaly@codeaurora.org>
parent 73a030f0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2628,6 +2628,8 @@ static size_t arm_smmu_map_sg(struct iommu_domain *domain, unsigned long iova,
	if (ret)
		return ret;

	arm_smmu_secure_domain_lock(smmu_domain);

	__saved_iova_start = iova;
	idx_start = idx_end = 0;
	sg_start = sg_end = sg;
@@ -2665,6 +2667,7 @@ static size_t arm_smmu_map_sg(struct iommu_domain *domain, unsigned long iova,
		arm_smmu_unmap(domain, __saved_iova_start, size_to_unmap);
		iova = __saved_iova_start;
	}
	arm_smmu_secure_domain_unlock(smmu_domain);
	arm_smmu_domain_power_off(domain, smmu_domain->smmu);
	return iova - __saved_iova_start;
}