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

Commit 3ddbe913 authored by Kevin Mitchell's avatar Kevin Mitchell Committed by Joerg Roedel
Browse files

iommu/amd: Make iommu_disable safer



Make it safe to call iommu_disable during early init error conditions
before mmio_base is set, but after the struct amd_iommu has been added
to the amd_iommu_list. For example, this happens if firmware fails to
fill in mmio_phys in the ACPI table leading to a NULL pointer
dereference in iommu_feature_disable.

Fixes: 2c0ae172 ('iommu/amd: Convert iommu initialization to state machine')
Signed-off-by: default avatarKevin Mitchell <kevmitch@arista.com>
Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent c1ddcf1c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -418,6 +418,9 @@ static void iommu_enable(struct amd_iommu *iommu)

static void iommu_disable(struct amd_iommu *iommu)
{
	if (!iommu->mmio_base)
		return;

	/* Disable command buffer */
	iommu_feature_disable(iommu, CONTROL_CMDBUF_EN);