Re: [PATCH] vfio: Fix build failure seen if vfio is built as module and EEH is enabled

Alex Williamson
2014-08-09T23:18:10Z

On Sat, 2014-08-09 at 15:28 -0700, Guenter Roeck wrote:
> On 08/09/2014 12:28 PM, Alex Williamson wrote:
> > On Sat, 2014-08-09 at 10:04 -0700, Guenter Roeck wrote:
> >> The following build failure is seen with ppc:allmodconfig.
> >>
> >> ERROR: ".vfio_spapr_iommu_eeh_ioctl" [drivers/vfio/vfio_iommu_spapr_tce.ko] undefined!
> >> ERROR: ".vfio_spapr_pci_eeh_open" [drivers/vfio/pci/vfio-pci.ko] undefined!
> >> ERROR: ".vfio_spapr_pci_eeh_release" [drivers/vfio/pci/vfio-pci.ko] undefined!
> >>
> >> Simply exporting the missing symbols is insufficient, since drivers/vfio
> >> can be built as module but drivers/vfio/vfio_spapr_eeh.c depends on
> >> EEH which is boolean. The combination of obj-m for drivers/vfio and obj-y
> >> for drivers/vfio/vfio_spapr_eeh.o results in the symbols being missed even
> >> if exported.
> >>
> >> Export missing symbols and introduce new tristate configuration option
> >> VFIO_EEH depending on both EEH and VFIO to fix the problem.
> >>
> >> Cc: Gavin Shan <gwshan@linux.vnet.ibm.com>
> >> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> >> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> >
> > Please try:
> >
> > git://github.com/awilliam/linux-vfio.git next
> >
> > This will be part of the next linux-next build, should resolve the
> > problem, and I plan to ask for a pull early this coming week. Thanks,
> >
>
> That should do for the most part, but it will select VFIO_SPAPR_EEH
> even if EEH is not configured. You would need something like
> select VFIO_SPAPR_EEH if (PPC_POWERNV || PPC_PSERIES) && EEH
> to prevent that.

Feel free to post a patch against this branch. Thanks,

Alex