Message ID | 20231018202715.69734-4-joao.m.martins@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | IOMMUFD Dirty Tracking | expand |
On Wed, Oct 18, 2023 at 09:27:00PM +0100, Joao Martins wrote: > Have the IOVA bitmap exported symbols adhere to the IOMMUFD symbol > export convention i.e. using the IOMMUFD namespace. In doing so, > import the namespace in the current users. This means VFIO and the > vfio-pci drivers that use iova_bitmap_set(). > > Suggested-by: Jason Gunthorpe <jgg@nvidia.com> > Signed-off-by: Joao Martins <joao.m.martins@oracle.com> > --- > drivers/iommu/iommufd/iova_bitmap.c | 8 ++++---- > drivers/vfio/pci/mlx5/main.c | 1 + > drivers/vfio/pci/pds/pci_drv.c | 1 + > drivers/vfio/vfio_main.c | 1 + > 4 files changed, 7 insertions(+), 4 deletions(-) Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Jason
On 10/18/2023 1:27 PM, Joao Martins wrote: > Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. > > > Have the IOVA bitmap exported symbols adhere to the IOMMUFD symbol > export convention i.e. using the IOMMUFD namespace. In doing so, > import the namespace in the current users. This means VFIO and the > vfio-pci drivers that use iova_bitmap_set(). > > Suggested-by: Jason Gunthorpe <jgg@nvidia.com> > Signed-off-by: Joao Martins <joao.m.martins@oracle.com> > --- > drivers/iommu/iommufd/iova_bitmap.c | 8 ++++---- > drivers/vfio/pci/mlx5/main.c | 1 + > drivers/vfio/pci/pds/pci_drv.c | 1 + > drivers/vfio/vfio_main.c | 1 + > 4 files changed, 7 insertions(+), 4 deletions(-) Reviewed-by: Brett Creeley <brett.creeley@amd.com> Thanks, Brett > > diff --git a/drivers/iommu/iommufd/iova_bitmap.c b/drivers/iommu/iommufd/iova_bitmap.c > index f54b56388e00..0a92c9eeaf7f 100644 > --- a/drivers/iommu/iommufd/iova_bitmap.c > +++ b/drivers/iommu/iommufd/iova_bitmap.c > @@ -268,7 +268,7 @@ struct iova_bitmap *iova_bitmap_alloc(unsigned long iova, size_t length, > iova_bitmap_free(bitmap); > return ERR_PTR(rc); > } > -EXPORT_SYMBOL_GPL(iova_bitmap_alloc); > +EXPORT_SYMBOL_NS_GPL(iova_bitmap_alloc, IOMMUFD); > > /** > * iova_bitmap_free() - Frees an IOVA bitmap object > @@ -290,7 +290,7 @@ void iova_bitmap_free(struct iova_bitmap *bitmap) > > kfree(bitmap); > } > -EXPORT_SYMBOL_GPL(iova_bitmap_free); > +EXPORT_SYMBOL_NS_GPL(iova_bitmap_free, IOMMUFD); > > /* > * Returns the remaining bitmap indexes from mapped_total_index to process for > @@ -389,7 +389,7 @@ int iova_bitmap_for_each(struct iova_bitmap *bitmap, void *opaque, > > return ret; > } > -EXPORT_SYMBOL_GPL(iova_bitmap_for_each); > +EXPORT_SYMBOL_NS_GPL(iova_bitmap_for_each, IOMMUFD); > > /** > * iova_bitmap_set() - Records an IOVA range in bitmap > @@ -423,4 +423,4 @@ void iova_bitmap_set(struct iova_bitmap *bitmap, > cur_bit += nbits; > } while (cur_bit <= last_bit); > } > -EXPORT_SYMBOL_GPL(iova_bitmap_set); > +EXPORT_SYMBOL_NS_GPL(iova_bitmap_set, IOMMUFD); > diff --git a/drivers/vfio/pci/mlx5/main.c b/drivers/vfio/pci/mlx5/main.c > index 42ec574a8622..5cf2b491d15a 100644 > --- a/drivers/vfio/pci/mlx5/main.c > +++ b/drivers/vfio/pci/mlx5/main.c > @@ -1376,6 +1376,7 @@ static struct pci_driver mlx5vf_pci_driver = { > > module_pci_driver(mlx5vf_pci_driver); > > +MODULE_IMPORT_NS(IOMMUFD); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Max Gurtovoy <mgurtovoy@nvidia.com>"); > MODULE_AUTHOR("Yishai Hadas <yishaih@nvidia.com>"); > diff --git a/drivers/vfio/pci/pds/pci_drv.c b/drivers/vfio/pci/pds/pci_drv.c > index ab4b5958e413..dd8c00c895a2 100644 > --- a/drivers/vfio/pci/pds/pci_drv.c > +++ b/drivers/vfio/pci/pds/pci_drv.c > @@ -204,6 +204,7 @@ static struct pci_driver pds_vfio_pci_driver = { > > module_pci_driver(pds_vfio_pci_driver); > > +MODULE_IMPORT_NS(IOMMUFD); > MODULE_DESCRIPTION(PDS_VFIO_DRV_DESCRIPTION); > MODULE_AUTHOR("Brett Creeley <brett.creeley@amd.com>"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/vfio/vfio_main.c b/drivers/vfio/vfio_main.c > index 40732e8ed4c6..a96d97da367d 100644 > --- a/drivers/vfio/vfio_main.c > +++ b/drivers/vfio/vfio_main.c > @@ -1693,6 +1693,7 @@ static void __exit vfio_cleanup(void) > module_init(vfio_init); > module_exit(vfio_cleanup); > > +MODULE_IMPORT_NS(IOMMUFD); > MODULE_VERSION(DRIVER_VERSION); > MODULE_LICENSE("GPL v2"); > MODULE_AUTHOR(DRIVER_AUTHOR); > -- > 2.17.2 >
> From: Joao Martins <joao.m.martins@oracle.com> > Sent: Thursday, October 19, 2023 4:27 AM > > Have the IOVA bitmap exported symbols adhere to the IOMMUFD symbol > export convention i.e. using the IOMMUFD namespace. In doing so, > import the namespace in the current users. This means VFIO and the > vfio-pci drivers that use iova_bitmap_set(). > > Suggested-by: Jason Gunthorpe <jgg@nvidia.com> > Signed-off-by: Joao Martins <joao.m.martins@oracle.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com>
On Wed, 18 Oct 2023 21:27:00 +0100 Joao Martins <joao.m.martins@oracle.com> wrote: > Have the IOVA bitmap exported symbols adhere to the IOMMUFD symbol > export convention i.e. using the IOMMUFD namespace. In doing so, > import the namespace in the current users. This means VFIO and the > vfio-pci drivers that use iova_bitmap_set(). > > Suggested-by: Jason Gunthorpe <jgg@nvidia.com> > Signed-off-by: Joao Martins <joao.m.martins@oracle.com> > --- > drivers/iommu/iommufd/iova_bitmap.c | 8 ++++---- > drivers/vfio/pci/mlx5/main.c | 1 + > drivers/vfio/pci/pds/pci_drv.c | 1 + > drivers/vfio/vfio_main.c | 1 + > 4 files changed, 7 insertions(+), 4 deletions(-) > Reviewed-by: Alex Williamson <alex.williamson@redhat.com> > diff --git a/drivers/iommu/iommufd/iova_bitmap.c b/drivers/iommu/iommufd/iova_bitmap.c > index f54b56388e00..0a92c9eeaf7f 100644 > --- a/drivers/iommu/iommufd/iova_bitmap.c > +++ b/drivers/iommu/iommufd/iova_bitmap.c > @@ -268,7 +268,7 @@ struct iova_bitmap *iova_bitmap_alloc(unsigned long iova, size_t length, > iova_bitmap_free(bitmap); > return ERR_PTR(rc); > } > -EXPORT_SYMBOL_GPL(iova_bitmap_alloc); > +EXPORT_SYMBOL_NS_GPL(iova_bitmap_alloc, IOMMUFD); > > /** > * iova_bitmap_free() - Frees an IOVA bitmap object > @@ -290,7 +290,7 @@ void iova_bitmap_free(struct iova_bitmap *bitmap) > > kfree(bitmap); > } > -EXPORT_SYMBOL_GPL(iova_bitmap_free); > +EXPORT_SYMBOL_NS_GPL(iova_bitmap_free, IOMMUFD); > > /* > * Returns the remaining bitmap indexes from mapped_total_index to process for > @@ -389,7 +389,7 @@ int iova_bitmap_for_each(struct iova_bitmap *bitmap, void *opaque, > > return ret; > } > -EXPORT_SYMBOL_GPL(iova_bitmap_for_each); > +EXPORT_SYMBOL_NS_GPL(iova_bitmap_for_each, IOMMUFD); > > /** > * iova_bitmap_set() - Records an IOVA range in bitmap > @@ -423,4 +423,4 @@ void iova_bitmap_set(struct iova_bitmap *bitmap, > cur_bit += nbits; > } while (cur_bit <= last_bit); > } > -EXPORT_SYMBOL_GPL(iova_bitmap_set); > +EXPORT_SYMBOL_NS_GPL(iova_bitmap_set, IOMMUFD); > diff --git a/drivers/vfio/pci/mlx5/main.c b/drivers/vfio/pci/mlx5/main.c > index 42ec574a8622..5cf2b491d15a 100644 > --- a/drivers/vfio/pci/mlx5/main.c > +++ b/drivers/vfio/pci/mlx5/main.c > @@ -1376,6 +1376,7 @@ static struct pci_driver mlx5vf_pci_driver = { > > module_pci_driver(mlx5vf_pci_driver); > > +MODULE_IMPORT_NS(IOMMUFD); > MODULE_LICENSE("GPL"); > MODULE_AUTHOR("Max Gurtovoy <mgurtovoy@nvidia.com>"); > MODULE_AUTHOR("Yishai Hadas <yishaih@nvidia.com>"); > diff --git a/drivers/vfio/pci/pds/pci_drv.c b/drivers/vfio/pci/pds/pci_drv.c > index ab4b5958e413..dd8c00c895a2 100644 > --- a/drivers/vfio/pci/pds/pci_drv.c > +++ b/drivers/vfio/pci/pds/pci_drv.c > @@ -204,6 +204,7 @@ static struct pci_driver pds_vfio_pci_driver = { > > module_pci_driver(pds_vfio_pci_driver); > > +MODULE_IMPORT_NS(IOMMUFD); > MODULE_DESCRIPTION(PDS_VFIO_DRV_DESCRIPTION); > MODULE_AUTHOR("Brett Creeley <brett.creeley@amd.com>"); > MODULE_LICENSE("GPL"); > diff --git a/drivers/vfio/vfio_main.c b/drivers/vfio/vfio_main.c > index 40732e8ed4c6..a96d97da367d 100644 > --- a/drivers/vfio/vfio_main.c > +++ b/drivers/vfio/vfio_main.c > @@ -1693,6 +1693,7 @@ static void __exit vfio_cleanup(void) > module_init(vfio_init); > module_exit(vfio_cleanup); > > +MODULE_IMPORT_NS(IOMMUFD); > MODULE_VERSION(DRIVER_VERSION); > MODULE_LICENSE("GPL v2"); > MODULE_AUTHOR(DRIVER_AUTHOR);
diff --git a/drivers/iommu/iommufd/iova_bitmap.c b/drivers/iommu/iommufd/iova_bitmap.c index f54b56388e00..0a92c9eeaf7f 100644 --- a/drivers/iommu/iommufd/iova_bitmap.c +++ b/drivers/iommu/iommufd/iova_bitmap.c @@ -268,7 +268,7 @@ struct iova_bitmap *iova_bitmap_alloc(unsigned long iova, size_t length, iova_bitmap_free(bitmap); return ERR_PTR(rc); } -EXPORT_SYMBOL_GPL(iova_bitmap_alloc); +EXPORT_SYMBOL_NS_GPL(iova_bitmap_alloc, IOMMUFD); /** * iova_bitmap_free() - Frees an IOVA bitmap object @@ -290,7 +290,7 @@ void iova_bitmap_free(struct iova_bitmap *bitmap) kfree(bitmap); } -EXPORT_SYMBOL_GPL(iova_bitmap_free); +EXPORT_SYMBOL_NS_GPL(iova_bitmap_free, IOMMUFD); /* * Returns the remaining bitmap indexes from mapped_total_index to process for @@ -389,7 +389,7 @@ int iova_bitmap_for_each(struct iova_bitmap *bitmap, void *opaque, return ret; } -EXPORT_SYMBOL_GPL(iova_bitmap_for_each); +EXPORT_SYMBOL_NS_GPL(iova_bitmap_for_each, IOMMUFD); /** * iova_bitmap_set() - Records an IOVA range in bitmap @@ -423,4 +423,4 @@ void iova_bitmap_set(struct iova_bitmap *bitmap, cur_bit += nbits; } while (cur_bit <= last_bit); } -EXPORT_SYMBOL_GPL(iova_bitmap_set); +EXPORT_SYMBOL_NS_GPL(iova_bitmap_set, IOMMUFD); diff --git a/drivers/vfio/pci/mlx5/main.c b/drivers/vfio/pci/mlx5/main.c index 42ec574a8622..5cf2b491d15a 100644 --- a/drivers/vfio/pci/mlx5/main.c +++ b/drivers/vfio/pci/mlx5/main.c @@ -1376,6 +1376,7 @@ static struct pci_driver mlx5vf_pci_driver = { module_pci_driver(mlx5vf_pci_driver); +MODULE_IMPORT_NS(IOMMUFD); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Max Gurtovoy <mgurtovoy@nvidia.com>"); MODULE_AUTHOR("Yishai Hadas <yishaih@nvidia.com>"); diff --git a/drivers/vfio/pci/pds/pci_drv.c b/drivers/vfio/pci/pds/pci_drv.c index ab4b5958e413..dd8c00c895a2 100644 --- a/drivers/vfio/pci/pds/pci_drv.c +++ b/drivers/vfio/pci/pds/pci_drv.c @@ -204,6 +204,7 @@ static struct pci_driver pds_vfio_pci_driver = { module_pci_driver(pds_vfio_pci_driver); +MODULE_IMPORT_NS(IOMMUFD); MODULE_DESCRIPTION(PDS_VFIO_DRV_DESCRIPTION); MODULE_AUTHOR("Brett Creeley <brett.creeley@amd.com>"); MODULE_LICENSE("GPL"); diff --git a/drivers/vfio/vfio_main.c b/drivers/vfio/vfio_main.c index 40732e8ed4c6..a96d97da367d 100644 --- a/drivers/vfio/vfio_main.c +++ b/drivers/vfio/vfio_main.c @@ -1693,6 +1693,7 @@ static void __exit vfio_cleanup(void) module_init(vfio_init); module_exit(vfio_cleanup); +MODULE_IMPORT_NS(IOMMUFD); MODULE_VERSION(DRIVER_VERSION); MODULE_LICENSE("GPL v2"); MODULE_AUTHOR(DRIVER_AUTHOR);
Have the IOVA bitmap exported symbols adhere to the IOMMUFD symbol export convention i.e. using the IOMMUFD namespace. In doing so, import the namespace in the current users. This means VFIO and the vfio-pci drivers that use iova_bitmap_set(). Suggested-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Joao Martins <joao.m.martins@oracle.com> --- drivers/iommu/iommufd/iova_bitmap.c | 8 ++++---- drivers/vfio/pci/mlx5/main.c | 1 + drivers/vfio/pci/pds/pci_drv.c | 1 + drivers/vfio/vfio_main.c | 1 + 4 files changed, 7 insertions(+), 4 deletions(-)