Patchwork [3/4] iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm()

mail settings
Submitter Lu Baolu
Date March 1, 2019, 3:23 a.m.
Message ID <>
Download mbox | patch
Permalink /patch/738831/
State New
Headers show


Lu Baolu - March 1, 2019, 3:23 a.m.
Intel IOMMU could be turned off with intel_iommu=off. If Intel
IOMMU is off,  the intel_iommu struct will not be initialized.
When device drivers call intel_svm_bind_mm(), the NULL pointer
reference will happen there.

Add dmar_disabled check to avoid NULL pointer reference.

Cc: Ashok Raj <>
Cc: Jacob Pan <>
Reported-by: Dave Jiang <>
Fixes: 2f26e0a9c9860 ("iommu/vt-d: Add basic SVM PASID support")
Signed-off-by: Lu Baolu <>
 drivers/iommu/intel-svm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


diff --git a/drivers/iommu/intel-svm.c b/drivers/iommu/intel-svm.c
index c79540deaf00..3a4b09ae8561 100644
--- a/drivers/iommu/intel-svm.c
+++ b/drivers/iommu/intel-svm.c
@@ -234,7 +234,7 @@  int intel_svm_bind_mm(struct device *dev, int *pasid, int flags, struct svm_dev_
 	int pasid_max;
 	int ret;
-	if (!iommu)
+	if (!iommu || dmar_disabled)
 		return -EINVAL;
 	if (dev_is_pci(dev)) {