On Wed, 18 Oct 2023 21:27:00 +0100 Joao Martins <joao.m.martins@xxxxxxxxxx> 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@xxxxxxxxxx> > Signed-off-by: Joao Martins <joao.m.martins@xxxxxxxxxx> > --- > 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@xxxxxxxxxx> > 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@xxxxxxxxxx>"); > MODULE_AUTHOR("Yishai Hadas <yishaih@xxxxxxxxxx>"); > 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@xxxxxxx>"); > 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);