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

Guenter Roeck
2014-08-09T23:27:14Z

On 08/09/2014 04:18 PM, Alex Williamson wrote:
> 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,
>

I'll wait for -next to see if there are any problems in practice.

Guenter