[PATCH v1 8/8] iommu/arm-smmu-v3: Probe a guest-level Realm VSMMU via RSI commands
Nicolin Chen
nicolinc at nvidia.com
Wed Sep 9 21:23:34 PDT 2026
On Wed, Sep 09, 2026 at 08:32:51PM -0700, Nicolin Chen wrote:
> @@ -5542,6 +5591,12 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
> }
> ioaddr = res->start;
>
> + if (is_realm_world()) {
> + ret = arm_smmu_probe_realm_vsmmu(smmu, res);
> + if (ret)
> + return ret;
Sashiko pointed out a new finding (didn't appear in my local runs)
that arm_smmu_impl_probe() would allow an untrusted hypervisor to
provide a malicious ACPI/DT table specifying a vendor extension.
I think it's valid, So, we likely need a guard, until impl has RMM
level support with additional RSI validation:
- smmu = arm_smmu_impl_probe(smmu);
- if (IS_ERR(smmu))
- return PTR_ERR(smmu);
+ if (!is_realm_world()) {
+ smmu = arm_smmu_impl_probe(smmu);
+ if (IS_ERR(smmu))
+ return PTR_ERR(smmu);
+ }
Nicolin
More information about the linux-arm-kernel
mailing list