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
Apparently Analagous 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'