On Wed, Apr 28, 2021 at 08:36:06AM +0200, Greg Kroah-Hartman wrote: > On Wed, Apr 28, 2021 at 08:07:03AM +0200, Christoph Hellwig wrote: > > On Mon, Apr 26, 2021 at 05:00:11PM -0300, Jason Gunthorpe wrote: > > > Preserve VFIO's design of allowing mdev drivers to be !GPL by allowing the > > > three functions that replace this module for !GPL usage. This goes along > > > with the other 19 symbols that are already marked !GPL in VFIO. > > > > NAK. This was a sneak by Nvidia to try a GPL condom, and now that we > > remove that not working condom it does not mean core symbols can be > > just changed. > > Agreed, these symbols should not be changed. During the development on this series I got a private email that people have existing !GPL mdev drivers. When I checked I saw that VFIO community seems to have decided that !GPL is OK for mdev. I say this because many essential symbols for implementing a mdev in vfio.c have been marked !GPL: drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_info_cap_shift); drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_info_add_capability); drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_set_irqs_validate_and_prepare); drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_pin_pages); drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_unpin_pages); drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_group_pin_pages); drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_group_unpin_pages); drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_dma_rw); drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_register_notifier); drivers/vfio/vfio.c:EXPORT_SYMBOL(vfio_unregister_notifier); Why it is like this, I do not know. IMHO it is not some "condom" if a chunk of the core vfio.c code is marked !GPL and is called by mdev drivers. The Linux standard is one patch one change. It is inapporiate for me to backdoor sneak revert the VFIO communities past decisions on licensing inside some unrelated cleanup patch. If you two want to argue VFIO has err'd and should be using GPL for its API toward mdev then please send a patch to switch the above symbols and I'll rebase this series ontop of it. That way the change can get a proper airing and not be sneakily buried inside a cleanup patch. Otherwise this patch changes nothing - what existed today continues to exist, and nothing new is being allowed. Jason