2019-11-18 19:39:49

by Jacob Pan

[permalink] [raw]
Subject: [PATCH v2 03/10] iommu/vt-d: Reject SVM bind for failed capability check

Add a check during SVM bind to ensure CPU and IOMMU hardware capabilities
are met.

Signed-off-by: Jacob Pan <[email protected]>
Acked-by: Lu Baolu <[email protected]>
---
drivers/iommu/intel-svm.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/iommu/intel-svm.c b/drivers/iommu/intel-svm.c
index 716c543488f6..74df10a39dfc 100644
--- a/drivers/iommu/intel-svm.c
+++ b/drivers/iommu/intel-svm.c
@@ -238,6 +238,9 @@ int intel_svm_bind_mm(struct device *dev, int *pasid, int flags, struct svm_dev_
if (!iommu || dmar_disabled)
return -EINVAL;

+ if (!intel_svm_capable(iommu))
+ return -ENOTSUPP;
+
if (dev_is_pci(dev)) {
pasid_max = pci_max_pasids(to_pci_dev(dev));
if (pasid_max < 0)
--
2.7.4


2019-11-18 20:57:41

by Eric Auger

[permalink] [raw]
Subject: Re: [PATCH v2 03/10] iommu/vt-d: Reject SVM bind for failed capability check

Hi Jacob,

On 11/18/19 8:42 PM, Jacob Pan wrote:
> Add a check during SVM bind to ensure CPU and IOMMU hardware capabilities
> are met.
>
> Signed-off-by: Jacob Pan <[email protected]>
> Acked-by: Lu Baolu <[email protected]>
> ---
> drivers/iommu/intel-svm.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/iommu/intel-svm.c b/drivers/iommu/intel-svm.c
> index 716c543488f6..74df10a39dfc 100644
> --- a/drivers/iommu/intel-svm.c
> +++ b/drivers/iommu/intel-svm.c
> @@ -238,6 +238,9 @@ int intel_svm_bind_mm(struct device *dev, int *pasid, int flags, struct svm_dev_
> if (!iommu || dmar_disabled)
> return -EINVAL;
>
> + if (!intel_svm_capable(iommu))
> + return -ENOTSUPP;
> +
> if (dev_is_pci(dev)) {
> pasid_max = pci_max_pasids(to_pci_dev(dev));
> if (pasid_max < 0)
>

Reviewed-by: Eric Auger <[email protected]>
Thanks

Eric