Commit 934ed458 authored by Colin Ian King's avatar Colin Ian King Committed by Joerg Roedel
Browse files

iommu/vt-d: Fix dereference of pointer info before it is null checked



The assignment of iommu from info->iommu occurs before info is null checked
hence leading to a potential null pointer dereference issue. Fix this by
assigning iommu and checking if iommu is null after null checking info.

Addresses-Coverity: ("Dereference before null check")
Fixes: 4c82b886 ("iommu/vt-d: Allocate/register iopf queue for sva devices")
Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
Link: https://lore.kernel.org/r/20210611135024.32781-1-colin.king@canonical.com


Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent d6a9642b
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -5329,10 +5329,14 @@ static int intel_iommu_disable_auxd(struct device *dev)
static int intel_iommu_enable_sva(struct device *dev)
{
	struct device_domain_info *info = get_domain_info(dev);
	struct intel_iommu *iommu = info->iommu;
	struct intel_iommu *iommu;
	int ret;

	if (!info || !iommu || dmar_disabled)
	if (!info || dmar_disabled)
		return -EINVAL;

	iommu = info->iommu;
	if (!iommu)
		return -EINVAL;

	if (!(iommu->flags & VTD_FLAG_SVM_CAPABLE))