During randconfig build testing, I ran into a configuration that has
CONFIG_VHOST=m, CONFIG_VHOST_IOTLB=m and CONFIG_VHOST_RING=y, which
makes the iotlb implementation left out from vhost_ring, and in turn
leads to a link failure of the vdpa_sim module:
ERROR: modpost: "vringh_set_iotlb" [drivers/vdpa/vdpa_sim/vdpa_sim.ko]
undefined!
ERROR: modpost: "vringh_init_iotlb"
[drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined!
ERROR: modpost: "vringh_iov_push_iotlb"
[drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined!
ERROR: modpost: "vringh_iov_pull_iotlb"
[drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined!
ERROR: modpost: "vringh_complete_iotlb"
[drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined!
ERROR: modpost: "vringh_getdesc_iotlb"
[drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined!
Work around it by setting the default for VHOST_IOTLB to avoid this
configuration.
Fixes: e6faeaa12841 ("vhost: drop vring dependency on iotlb")
Signed-off-by: Arnd Bergmann <arnd at arndb.de>
---
I fixed this a while ago locally but never got around to sending the
fix. If the problem has been addressed differently in the meantime,
please ignore this one.
---
drivers/vhost/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig
index 2c75d164b827..ee5f85761024 100644
--- a/drivers/vhost/Kconfig
+++ b/drivers/vhost/Kconfig
@@ -1,6 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
config VHOST_IOTLB
tristate
+ default y if VHOST=m && VHOST_RING=y
help
Generic IOTLB implementation for vhost and vringh.
This option is selected by any driver which needs to support
--
2.26.0
On Wed, Apr 29, 2020 at 04:23:04PM +0200, Arnd Bergmann wrote:> During randconfig build testing, I ran into a configuration that has > CONFIG_VHOST=m, CONFIG_VHOST_IOTLB=m and CONFIG_VHOST_RING=y, which > makes the iotlb implementation left out from vhost_ring, and in turn > leads to a link failure of the vdpa_sim module: > > ERROR: modpost: "vringh_set_iotlb" [drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined! > ERROR: modpost: "vringh_init_iotlb" [drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined! > ERROR: modpost: "vringh_iov_push_iotlb" [drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined! > ERROR: modpost: "vringh_iov_pull_iotlb" [drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined! > ERROR: modpost: "vringh_complete_iotlb" [drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined! > ERROR: modpost: "vringh_getdesc_iotlb" [drivers/vdpa/vdpa_sim/vdpa_sim.ko] undefined! > > Work around it by setting the default for VHOST_IOTLB to avoid this > configuration. > > Fixes: e6faeaa12841 ("vhost: drop vring dependency on iotlb") > Signed-off-by: Arnd Bergmann <arnd at arndb.de> > --- > I fixed this a while ago locally but never got around to sending the > fix. If the problem has been addressed differently in the meantime, > please ignore this one.So I ended up not sending e6faeaa12841 upstream because of this problem. But hey, that's a nice idea! I'll queue something like this for the next release.> --- > drivers/vhost/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/vhost/Kconfig b/drivers/vhost/Kconfig > index 2c75d164b827..ee5f85761024 100644 > --- a/drivers/vhost/Kconfig > +++ b/drivers/vhost/Kconfig > @@ -1,6 +1,7 @@ > # SPDX-License-Identifier: GPL-2.0-only > config VHOST_IOTLB > tristate > + default y if VHOST=m && VHOST_RING=y > help > Generic IOTLB implementation for vhost and vringh. > This option is selected by any driver which needs to support > -- > 2.26.0
Reasonably Related Threads
- linux-next: Tree for Apr 15 (vdpa)
- linux-next: Tree for Apr 15 (vdpa)
- linux-next: Tree for Apr 15 (vdpa)
- [vhost:vhost 22/22] vdpa_sim.c:undefined reference to `vringh_iov_push_iotlb'
- [vhost:vhost 22/22] riscv64-linux-ld: vdpa_sim.c:undefined reference to `vringh_getdesc_iotlb'