On Wed, Nov 29, 2023, Jason Gunthorpe wrote: > On Tue, Nov 28, 2023 at 06:21:42PM -0800, Sean Christopherson wrote: > > diff --git a/include/linux/vfio.h b/include/linux/vfio.h > > index 454e9295970c..a65b2513f8cd 100644 > > --- a/include/linux/vfio.h > > +++ b/include/linux/vfio.h > > @@ -289,16 +289,12 @@ void vfio_combine_iova_ranges(struct rb_root_cached *root, u32 cur_nodes, > > /* > > * External user API > > */ > > -#if IS_ENABLED(CONFIG_VFIO_GROUP) > > struct iommu_group *vfio_file_iommu_group(struct file *file); > > + > > +#if IS_ENABLED(CONFIG_VFIO_GROUP) > > bool vfio_file_is_group(struct file *file); > > bool vfio_file_has_dev(struct file *file, struct vfio_device *device); > > #else > > -static inline struct iommu_group *vfio_file_iommu_group(struct file *file) > > -{ > > - return NULL; > > -} > > - > > static inline bool vfio_file_is_group(struct file *file) > > { > > return false; > > > > So you symbol get on a symbol that can never be defined? Still says to > me the kconfig needs fixing :| Yeah, I completely agree, and if KVM didn't already rely on this horrific behavior and there wasn't a more complete overhaul in-flight, I wouldn't suggest this. I'll send the KVM Kconfig/Makefile cleanups from my "Hide KVM internals from others" series separately (which is still the bulk of the series) so as to prioritize getting the cleanups landed.