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

Commit 51acce33 authored by Jiang Liu's avatar Jiang Liu Committed by Joerg Roedel
Browse files

iommu/vt-d: Enhance error recovery in function intel_enable_irq_remapping()



Enhance error recovery in function intel_enable_irq_remapping()
by tearing down all created data structures.

Signed-off-by: default avatarJiang Liu <jiang.liu@linux.intel.com>
Reviewed-by: default avatarYijing Wang <wangyijing@huawei.com>
Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent a7a3dad9
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -702,9 +702,11 @@ static int __init intel_enable_irq_remapping(void)
	return eim ? IRQ_REMAP_X2APIC_MODE : IRQ_REMAP_XAPIC_MODE;

error:
	/*
	 * handle error condition gracefully here!
	 */
	for_each_iommu(iommu, drhd)
		if (ecap_ir_support(iommu->ecap)) {
			iommu_disable_irq_remapping(iommu);
			intel_teardown_irq_remapping(iommu);
		}

	if (x2apic_present)
		pr_warn("Failed to enable irq remapping.  You are vulnerable to irq-injection attacks.\n");