> -----Original Message-----
> From: Lu Baolu [mailto:[email protected]]
> Sent: Friday, October 20, 2017 8:49 AM
> To: Liu, Yi L <[email protected]>; [email protected]; [email protected]
> Cc: [email protected]; [email protected]
> Subject: Re: [PATCH 1/3] iommu/vt-d: Missing checks for pasid tables if 
> allocation
> fails
> 
> Hi Yi,
> 
> On 10/19/2017 02:40 PM, Liu, Yi L wrote:
> >
> >> -----Original Message-----
> >> From: [email protected] [mailto:iommu-
> >> [email protected]] On Behalf Of Lu Baolu
> >> Sent: Thursday, October 19, 2017 8:39 AM
> >> To: [email protected]; [email protected]
> >> Cc: [email protected]; [email protected]
> >> Subject: [PATCH 1/3] iommu/vt-d: Missing checks for pasid tables if
> >> allocation fails
> >>
> >> intel_svm_alloc_pasid_tables() might return an error but never be
> >> checked by the callers. Later when intel_svm_bind_mm() is called,
> >> there are no checks for valid pasid tables before enabling them.
> >>
> >> Signed-off-by: Ashok Raj <[email protected]>
> >> Signed-off-by: Lu Baolu <[email protected]>
> >> ---
> >>  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 f6697e5..43280ca 100644
> >> --- a/drivers/iommu/intel-svm.c
> >> +++ b/drivers/iommu/intel-svm.c
> >> @@ -292,7 +292,7 @@ int intel_svm_bind_mm(struct device *dev, int
> >> *pasid, int flags, struct svm_dev_
> >>    int pasid_max;
> >>    int ret;
> >>
> >> -  if (WARN_ON(!iommu))
> >> +  if (WARN_ON(!iommu || !iommu->pasid_table))
> > [Liu, Yi L] Hi Baolu, I guess there also need a check to iommu->ecap ,
> > see if the pasid bit is reported. thoughts?
> >
> 
> If pasid bit is not set in ecap register, iommu->pasid_table won't be set.
> 
> We did this by:
> 
>                 if (pasid_enabled(iommu))
>                         intel_svm_alloc_pasid_tables(iommu);

[Liu, Yi L] Sounds good. thx.

Reviewed-by: Liu, Yi L <[email protected]>

Regards,
Yi L

Reply via email to