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

Commit d3bca166 authored by Will Deacon's avatar Will Deacon
Browse files

iommu/arm-smmu: fix capability checking prior to device attach



If somebody attempts to check the capability of an IOMMU domain prior to
device attach, then we'll try to dereference a NULL SMMU pointer through
the SMMU domain (since we can't determine the actual SMMU instance until
we have a device attached).

This patch fixes the capability check so that non-global features are
reported as being absent when no device is attached to the domain.

Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent 9c5c92e3
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1509,7 +1509,8 @@ static int arm_smmu_domain_has_cap(struct iommu_domain *domain,
				   unsigned long cap)
{
	struct arm_smmu_domain *smmu_domain = domain->priv;
	u32 features = smmu_domain->smmu->features;
	struct arm_smmu_device *smmu = smmu_domain->smmu;
	u32 features = smmu ? smmu->features : 0;

	switch (cap) {
	case IOMMU_CAP_CACHE_COHERENCY: