From: Lu Baolu Date: Fri, 1 Mar 2019 03:23:12 +0000 (+0800) Subject: iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm() X-Git-Tag: android-x86-9.0-r1~1^2~123^2~392 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c2f1708e14a504ca66639a6ef3c58943c6a37858;p=android-x86%2Fkernel.git iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm() [ Upstream commit c56cba5daf45d2d091ef1cfe2f1d6a930446687b ] 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 Signed-off-by: Joerg Roedel Signed-off-by: Sasha Levin --- diff --git a/drivers/iommu/intel-svm.c b/drivers/iommu/intel-svm.c index 188f4eaed6e5..fd8730b2cd46 100644 --- a/drivers/iommu/intel-svm.c +++ b/drivers/iommu/intel-svm.c @@ -293,7 +293,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)) {