Messages in this thread | | | From | Shameerali Kolothum Thodi <> | Subject | RE: [PATCH v7 2/6] vfio/type1: Check reserve region conflict and update iova list | Date | Thu, 4 Jul 2019 22:06:23 +0000 |
| |
> -----Original Message----- > From: Shameerali Kolothum Thodi > Sent: 04 July 2019 13:51 > To: 'Alex Williamson' <alex.williamson@redhat.com> > Cc: eric.auger@redhat.com; kvm@vger.kernel.org; > linux-kernel@vger.kernel.org; iommu@lists.linux-foundation.org; Linuxarm > <linuxarm@huawei.com>; John Garry <john.garry@huawei.com>; xuwei (O) > <xuwei5@huawei.com>; kevin.tian@intel.com > Subject: RE: [PATCH v7 2/6] vfio/type1: Check reserve region conflict and > update iova list > > > > > -----Original Message----- > > From: kvm-owner@vger.kernel.org [mailto:kvm-owner@vger.kernel.org] On > > Behalf Of Alex Williamson > > Sent: 03 July 2019 21:34 > > To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com> > > Cc: eric.auger@redhat.com; pmorel@linux.vnet.ibm.com; > > kvm@vger.kernel.org; linux-kernel@vger.kernel.org; > > iommu@lists.linux-foundation.org; Linuxarm <linuxarm@huawei.com>; John > > Garry <john.garry@huawei.com>; xuwei (O) <xuwei5@huawei.com>; > > kevin.tian@intel.com > > Subject: Re: [PATCH v7 2/6] vfio/type1: Check reserve region conflict and > > update iova list > > > > On Wed, 26 Jun 2019 16:12:44 +0100 > > Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> wrote: > > > > > This retrieves the reserved regions associated with dev group and > > > checks for conflicts with any existing dma mappings. Also update > > > the iova list excluding the reserved regions. > > > > > > Reserved regions with type IOMMU_RESV_DIRECT_RELAXABLE are > > > excluded from above checks as they are considered as directly > > > mapped regions which are known to be relaxable. > > > > > > Signed-off-by: Shameer Kolothum > <shameerali.kolothum.thodi@huawei.com> > > > --- > > > drivers/vfio/vfio_iommu_type1.c | 96 > > +++++++++++++++++++++++++++++++++ > > > 1 file changed, 96 insertions(+) > > > > > > diff --git a/drivers/vfio/vfio_iommu_type1.c > > b/drivers/vfio/vfio_iommu_type1.c > > > index 970d1ec06aed..b6bfdfa16c33 100644 > > > --- a/drivers/vfio/vfio_iommu_type1.c > > > +++ b/drivers/vfio/vfio_iommu_type1.c > > > @@ -1559,6 +1641,7 @@ static int vfio_iommu_type1_attach_group(void > > *iommu_data, > > > phys_addr_t resv_msi_base; > > > struct iommu_domain_geometry geo; > > > LIST_HEAD(iova_copy); > > > + LIST_HEAD(group_resv_regions); > > > > > > mutex_lock(&iommu->lock); > > > > > > @@ -1644,6 +1727,13 @@ static int vfio_iommu_type1_attach_group(void > > *iommu_data, > > > goto out_detach; > > > } > > > > > > + iommu_get_group_resv_regions(iommu_group, > &group_resv_regions); > > > > This can fail and should have an error case. I assume we'd fail the > > group attach on failure. Thanks, > > Right. I will add the check. Do you think we should do the same in > vfio_iommu_has_sw_msi() > as well? (In fact, it looks like iommu_get_group_resv_regions() ret is not > checked anywhere in > kernel).
Ah..forgot the fact that patch 6/6 should take care of vfio_iommu_has_sw_msi() case as we are removing the duplicate iommu_get_group_resv_regions() there.
Thanks, Shameer
| |