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

Commit 38b9d28b authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "iommu/arm-smmu: restrict secure vmid update while attached"

parents f542dbf4 caa096c6
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -3602,6 +3602,12 @@ static int __arm_smmu_domain_set_attr(struct iommu_domain *domain,
		break;
	}
	case DOMAIN_ATTR_SECURE_VMID:
		/* can't be changed while attached */
		if (smmu_domain->smmu != NULL) {
			ret = -EBUSY;
			break;
		}

		if (smmu_domain->secure_vmid != VMID_INVAL) {
			ret = -ENODEV;
			WARN(1, "secure vmid already set!");
@@ -3615,6 +3621,12 @@ static int __arm_smmu_domain_set_attr(struct iommu_domain *domain,
		 * force DOMAIN_ATTR_ATOMIC to bet set.
		 */
	case DOMAIN_ATTR_FAST:
		/* can't be changed while attached */
		if (smmu_domain->smmu != NULL) {
			ret = -EBUSY;
			break;
		}

		if (*((int *)data)) {
			if (IS_ENABLED(CONFIG_IOMMU_IO_PGTABLE_FAST)) {
				set_bit(DOMAIN_ATTR_FAST,