vfio-mdev: add back CONFIG_VFIO dependency

Message ID 20230126163719.3585002-1-arnd@kernel.org
State New
Headers
Series vfio-mdev: add back CONFIG_VFIO dependency |

Commit Message

Arnd Bergmann Jan. 26, 2023, 4:37 p.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

CONFIG_VFIO_MDEV cannot be selected when VFIO itself is
disabled, otherwise we get a link failure:

WARNING: unmet direct dependencies detected for VFIO_MDEV
  Depends on [n]: VFIO [=n]
  Selected by [y]:
  - SAMPLE_VFIO_MDEV_MTTY [=y] && SAMPLES [=y]
  - SAMPLE_VFIO_MDEV_MDPY [=y] && SAMPLES [=y]
  - SAMPLE_VFIO_MDEV_MBOCHS [=y] && SAMPLES [=y]
/home/arnd/cross/arm64/gcc-13.0.1-nolibc/x86_64-linux/bin/x86_64-linux-ld: samples/vfio-mdev/mdpy.o: in function `mdpy_remove':
mdpy.c:(.text+0x1e1): undefined reference to `vfio_unregister_group_dev'
/home/arnd/cross/arm64/gcc-13.0.1-nolibc/x86_64-linux/bin/x86_64-linux-ld: samples/vfio-mdev/mdpy.o: in function `mdpy_probe':
mdpy.c:(.text+0x149e): undefined reference to `_vfio_alloc_device'

Fixes: 8bf8c5ee1f38 ("vfio-mdev: turn VFIO_MDEV into a selectable symbol")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 samples/Kconfig | 3 +++
 1 file changed, 3 insertions(+)
  

Comments

Alex Williamson Jan. 26, 2023, 5:38 p.m. UTC | #1
On Thu, 26 Jan 2023 17:37:06 +0100
Arnd Bergmann <arnd@kernel.org> wrote:

> From: Arnd Bergmann <arnd@arndb.de>
> 
> CONFIG_VFIO_MDEV cannot be selected when VFIO itself is
> disabled, otherwise we get a link failure:
> 
> WARNING: unmet direct dependencies detected for VFIO_MDEV
>   Depends on [n]: VFIO [=n]
>   Selected by [y]:
>   - SAMPLE_VFIO_MDEV_MTTY [=y] && SAMPLES [=y]
>   - SAMPLE_VFIO_MDEV_MDPY [=y] && SAMPLES [=y]
>   - SAMPLE_VFIO_MDEV_MBOCHS [=y] && SAMPLES [=y]
> /home/arnd/cross/arm64/gcc-13.0.1-nolibc/x86_64-linux/bin/x86_64-linux-ld: samples/vfio-mdev/mdpy.o: in function `mdpy_remove':
> mdpy.c:(.text+0x1e1): undefined reference to `vfio_unregister_group_dev'
> /home/arnd/cross/arm64/gcc-13.0.1-nolibc/x86_64-linux/bin/x86_64-linux-ld: samples/vfio-mdev/mdpy.o: in function `mdpy_probe':
> mdpy.c:(.text+0x149e): undefined reference to `_vfio_alloc_device'
> 
> Fixes: 8bf8c5ee1f38 ("vfio-mdev: turn VFIO_MDEV into a selectable symbol")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  samples/Kconfig | 3 +++
>  1 file changed, 3 insertions(+)

Seems like it wouldn't just be the sample drivers with this issue,
don't VFIO_CCW, VFIO_AP, and DRM_I915_GVT_KVMGT all have this problem?
Thanks,

Alex

> 
> diff --git a/samples/Kconfig b/samples/Kconfig
> index 56b191d128d8..44a09dfa8a0b 100644
> --- a/samples/Kconfig
> +++ b/samples/Kconfig
> @@ -185,6 +185,7 @@ config SAMPLE_UHID
>  
>  config SAMPLE_VFIO_MDEV_MTTY
>  	tristate "Build VFIO mtty example mediated device sample code"
> +	depends on VFIO
>  	select VFIO_MDEV
>  	help
>  	  Build a virtual tty sample driver for use as a VFIO
> @@ -192,6 +193,7 @@ config SAMPLE_VFIO_MDEV_MTTY
>  
>  config SAMPLE_VFIO_MDEV_MDPY
>  	tristate "Build VFIO mdpy example mediated device sample code"
> +	depends on VFIO
>  	select VFIO_MDEV
>  	help
>  	  Build a virtual display sample driver for use as a VFIO
> @@ -209,6 +211,7 @@ config SAMPLE_VFIO_MDEV_MDPY_FB
>  
>  config SAMPLE_VFIO_MDEV_MBOCHS
>  	tristate "Build VFIO mdpy example mediated device sample code"
> +	depends on VFIO
>  	select VFIO_MDEV
>  	select DMA_SHARED_BUFFER
>  	help
  
Christoph Hellwig Jan. 26, 2023, 5:40 p.m. UTC | #2
On Thu, Jan 26, 2023 at 10:38:11AM -0700, Alex Williamson wrote:
> Seems like it wouldn't just be the sample drivers with this issue,
> don't VFIO_CCW, VFIO_AP, and DRM_I915_GVT_KVMGT all have this problem?
> Thanks,

Yes, they all need to depend on VFIO.

Should I resend the series with that fixed?
  
Alex Williamson Jan. 26, 2023, 5:45 p.m. UTC | #3
On Thu, 26 Jan 2023 18:40:44 +0100
Christoph Hellwig <hch@lst.de> wrote:

> On Thu, Jan 26, 2023 at 10:38:11AM -0700, Alex Williamson wrote:
> > Seems like it wouldn't just be the sample drivers with this issue,
> > don't VFIO_CCW, VFIO_AP, and DRM_I915_GVT_KVMGT all have this problem?
> > Thanks,  
> 
> Yes, they all need to depend on VFIO.
> 
> Should I resend the series with that fixed?

The culprit is already in my next branch, we just need a fix that
includes all the cases.  A respin of Arnd's patch would be preferable
to keep the fixes in one place.  Thanks,

Alex
  
Christoph Hellwig Jan. 30, 2023, 7:33 a.m. UTC | #4
On Thu, Jan 26, 2023 at 10:45:15AM -0700, Alex Williamson wrote:
> The culprit is already in my next branch, we just need a fix that
> includes all the cases.  A respin of Arnd's patch would be preferable
> to keep the fixes in one place.  Thanks,

Arnd, do you plan to resend the patch, or should I take care of it?
  
Arnd Bergmann Jan. 30, 2023, 1:34 p.m. UTC | #5
On Mon, Jan 30, 2023, at 08:33, Christoph Hellwig wrote:
> On Thu, Jan 26, 2023 at 10:45:15AM -0700, Alex Williamson wrote:
>> The culprit is already in my next branch, we just need a fix that
>> includes all the cases.  A respin of Arnd's patch would be preferable
>> to keep the fixes in one place.  Thanks,
>
> Arnd, do you plan to resend the patch, or should I take care of it?

I sent the v2 last week, it looks like I forgot to add you to Cc there:

https://lore.kernel.org/all/20230126211211.1762319-1-arnd@kernel.org/

      Arnd
  
Arnd Bergmann Jan. 30, 2023, 1:39 p.m. UTC | #6
On Mon, Jan 30, 2023, at 14:34, Arnd Bergmann wrote:
> On Mon, Jan 30, 2023, at 08:33, Christoph Hellwig wrote:
>> On Thu, Jan 26, 2023 at 10:45:15AM -0700, Alex Williamson wrote:
>>> The culprit is already in my next branch, we just need a fix that
>>> includes all the cases.  A respin of Arnd's patch would be preferable
>>> to keep the fixes in one place.  Thanks,
>>
>> Arnd, do you plan to resend the patch, or should I take care of it?
>
> I sent the v2 last week, it looks like I forgot to add you to Cc there:
>
> https://lore.kernel.org/all/20230126211211.1762319-1-arnd@kernel.org/

I just tried again and see that neither my own script nor the
normal scripts/get_maintainer.pl picks up the hch@lst.de address
from the Signed-off-by line in the "Fixes" commit, though it does
pick up the addresses from Jason, Tony and Alex. I have no idea
what is going on there.

       arnd
  
Jason Gunthorpe Jan. 30, 2023, 1:44 p.m. UTC | #7
On Mon, Jan 30, 2023 at 02:39:36PM +0100, Arnd Bergmann wrote:
> On Mon, Jan 30, 2023, at 14:34, Arnd Bergmann wrote:
> > On Mon, Jan 30, 2023, at 08:33, Christoph Hellwig wrote:
> >> On Thu, Jan 26, 2023 at 10:45:15AM -0700, Alex Williamson wrote:
> >>> The culprit is already in my next branch, we just need a fix that
> >>> includes all the cases.  A respin of Arnd's patch would be preferable
> >>> to keep the fixes in one place.  Thanks,
> >>
> >> Arnd, do you plan to resend the patch, or should I take care of it?
> >
> > I sent the v2 last week, it looks like I forgot to add you to Cc there:
> >
> > https://lore.kernel.org/all/20230126211211.1762319-1-arnd@kernel.org/
> 
> I just tried again and see that neither my own script nor the
> normal scripts/get_maintainer.pl picks up the hch@lst.de address
> from the Signed-off-by line in the "Fixes" commit, though it does
> pick up the addresses from Jason, Tony and Alex. I have no idea
> what is going on there.

Christoph is in .get_maintainer.ignore

Jason
  
Alex Williamson Jan. 30, 2023, 7:32 p.m. UTC | #8
On Mon, 30 Jan 2023 14:34:54 +0100
"Arnd Bergmann" <arnd@arndb.de> wrote:

> On Mon, Jan 30, 2023, at 08:33, Christoph Hellwig wrote:
> > On Thu, Jan 26, 2023 at 10:45:15AM -0700, Alex Williamson wrote:  
> >> The culprit is already in my next branch, we just need a fix that
> >> includes all the cases.  A respin of Arnd's patch would be preferable
> >> to keep the fixes in one place.  Thanks,  
> >
> > Arnd, do you plan to resend the patch, or should I take care of it?  
> 
> I sent the v2 last week, it looks like I forgot to add you to Cc there:
> 
> https://lore.kernel.org/all/20230126211211.1762319-1-arnd@kernel.org/

Thanks for the v2, Arnd.  Last call for any acks on the above, this is
setting off too many build failures.  Thanks,

Alex
  

Patch

diff --git a/samples/Kconfig b/samples/Kconfig
index 56b191d128d8..44a09dfa8a0b 100644
--- a/samples/Kconfig
+++ b/samples/Kconfig
@@ -185,6 +185,7 @@  config SAMPLE_UHID
 
 config SAMPLE_VFIO_MDEV_MTTY
 	tristate "Build VFIO mtty example mediated device sample code"
+	depends on VFIO
 	select VFIO_MDEV
 	help
 	  Build a virtual tty sample driver for use as a VFIO
@@ -192,6 +193,7 @@  config SAMPLE_VFIO_MDEV_MTTY
 
 config SAMPLE_VFIO_MDEV_MDPY
 	tristate "Build VFIO mdpy example mediated device sample code"
+	depends on VFIO
 	select VFIO_MDEV
 	help
 	  Build a virtual display sample driver for use as a VFIO
@@ -209,6 +211,7 @@  config SAMPLE_VFIO_MDEV_MDPY_FB
 
 config SAMPLE_VFIO_MDEV_MBOCHS
 	tristate "Build VFIO mdpy example mediated device sample code"
+	depends on VFIO
 	select VFIO_MDEV
 	select DMA_SHARED_BUFFER
 	help