* [PATCH] mshv: add vmbus dependency
@ 2026-05-20 7:40 Arnd Bergmann
2026-05-20 13:46 ` Michael Kelley
2026-05-20 17:15 ` Jork Loeser
0 siblings, 2 replies; 5+ messages in thread
From: Arnd Bergmann @ 2026-05-20 7:40 UTC (permalink / raw)
To: K. Y. Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui, Long Li,
Anirudh Rayabharam (Microsoft), Jork Loeser,
Stanislav Kinsburskii
Cc: Arnd Bergmann, linux-hyperv, linux-kernel
From: Arnd Bergmann <arnd@arndb.de>
When the vmbus driver is not part of the kernel, the mvhv_root
driver now fails to link:
ERROR: modpost: "hv_vmbus_exists" [drivers/hv/mshv_root.ko] undefined!
Avoid this by adding an explicit Kconfig dependency. Note that
stubbing out the hv_vmbus_exists() based on configuration would
also work for some cases, but not with MSHV_ROOT=y and HYPERV_VMBUS=m.
Fixes: f1a9e67c1138 ("mshv: limit SynIC management to MSHV-owned resources")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/hv/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig
index 52af086fdeb2..21193b571a80 100644
--- a/drivers/hv/Kconfig
+++ b/drivers/hv/Kconfig
@@ -75,6 +75,7 @@ config MSHV_ROOT
# e.g. When withdrawing memory, the hypervisor gives back 4k pages in
# no particular order, making it impossible to reassemble larger pages
depends on PAGE_SIZE_4KB
+ depends on HYPERV_VMBUS
select EVENTFD
select VIRT_XFER_TO_GUEST_WORK
select HMM_MIRROR
--
2.39.5
^ permalink raw reply related [flat|nested] 5+ messages in thread* RE: [PATCH] mshv: add vmbus dependency 2026-05-20 7:40 [PATCH] mshv: add vmbus dependency Arnd Bergmann @ 2026-05-20 13:46 ` Michael Kelley 2026-05-20 13:51 ` Arnd Bergmann 2026-05-20 17:15 ` Jork Loeser 1 sibling, 1 reply; 5+ messages in thread From: Michael Kelley @ 2026-05-20 13:46 UTC (permalink / raw) To: Arnd Bergmann, K. Y. Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui, Long Li, Anirudh Rayabharam (Microsoft), Jork Loeser, Stanislav Kinsburskii Cc: Arnd Bergmann, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org From: Arnd Bergmann <arnd@kernel.org> Sent: Wednesday, May 20, 2026 12:40 AM > > When the vmbus driver is not part of the kernel, the mvhv_root > driver now fails to link: > > ERROR: modpost: "hv_vmbus_exists" [drivers/hv/mshv_root.ko] undefined! > > Avoid this by adding an explicit Kconfig dependency. Note that > stubbing out the hv_vmbus_exists() based on configuration would > also work for some cases, but not with MSHV_ROOT=y and HYPERV_VMBUS=m. Conceptually, the MSHV root code should not have a dependency on VMBus. The "does VMBus exist?" question should handled differently by setting up a boolean in the core Hyper-V code that defaults to "false". If the VMBus driver loads, it would set the boolean to "true". MSHV root code would query the boolean. Michael > > Fixes: f1a9e67c1138 ("mshv: limit SynIC management to MSHV-owned resources") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/hv/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig > index 52af086fdeb2..21193b571a80 100644 > --- a/drivers/hv/Kconfig > +++ b/drivers/hv/Kconfig > @@ -75,6 +75,7 @@ config MSHV_ROOT > # e.g. When withdrawing memory, the hypervisor gives back 4k pages in > # no particular order, making it impossible to reassemble larger pages > depends on PAGE_SIZE_4KB > + depends on HYPERV_VMBUS > select EVENTFD > select VIRT_XFER_TO_GUEST_WORK > select HMM_MIRROR > -- > 2.39.5 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mshv: add vmbus dependency 2026-05-20 13:46 ` Michael Kelley @ 2026-05-20 13:51 ` Arnd Bergmann 2026-05-20 17:13 ` Jork Loeser 0 siblings, 1 reply; 5+ messages in thread From: Arnd Bergmann @ 2026-05-20 13:51 UTC (permalink / raw) To: Michael Kelley, Arnd Bergmann, K. Y. Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui, Long Li, Anirudh Rayabharam (Microsoft), Jork Loeser, Stanislav Kinsburskii Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org On Wed, May 20, 2026, at 15:46, Michael Kelley wrote: > From: Arnd Bergmann <arnd@kernel.org> Sent: Wednesday, May 20, 2026 12:40 AM >> >> When the vmbus driver is not part of the kernel, the mvhv_root >> driver now fails to link: >> >> ERROR: modpost: "hv_vmbus_exists" [drivers/hv/mshv_root.ko] undefined! >> >> Avoid this by adding an explicit Kconfig dependency. Note that >> stubbing out the hv_vmbus_exists() based on configuration would >> also work for some cases, but not with MSHV_ROOT=y and HYPERV_VMBUS=m. > > Conceptually, the MSHV root code should not have a dependency on > VMBus. The "does VMBus exist?" question should handled differently > by setting up a boolean in the core Hyper-V code that defaults to "false". > If the VMBus driver loads, it would set the boolean to "true". MSHV > root code would query the boolean. That makes sense to me, but it's outside of my area for a drive-by build fix. Please treat my patch as a 'Reported-by' then, I expect this can easily be addressed by Jork or someone else in the hyperv team. Arnd ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mshv: add vmbus dependency 2026-05-20 13:51 ` Arnd Bergmann @ 2026-05-20 17:13 ` Jork Loeser 0 siblings, 0 replies; 5+ messages in thread From: Jork Loeser @ 2026-05-20 17:13 UTC (permalink / raw) To: Arnd Bergmann Cc: Michael Kelley, Arnd Bergmann, K. Y. Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui, Long Li, Anirudh Rayabharam (Microsoft), Stanislav Kinsburskii, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org On Wed, 20 May 2026, Arnd Bergmann wrote: > On Wed, May 20, 2026, at 15:46, Michael Kelley wrote: >> From: Arnd Bergmann <arnd@kernel.org> Sent: Wednesday, May 20, 2026 12:40 AM >>> >>> When the vmbus driver is not part of the kernel, the mvhv_root >>> driver now fails to link: >>> >>> ERROR: modpost: "hv_vmbus_exists" [drivers/hv/mshv_root.ko] undefined! >>> >>> Avoid this by adding an explicit Kconfig dependency. Note that >>> stubbing out the hv_vmbus_exists() based on configuration would >>> also work for some cases, but not with MSHV_ROOT=y and HYPERV_VMBUS=m. >> >> Conceptually, the MSHV root code should not have a dependency on >> VMBus. The "does VMBus exist?" question should handled differently >> by setting up a boolean in the core Hyper-V code that defaults to "false". >> If the VMBus driver loads, it would set the boolean to "true". MSHV >> root code would query the boolean. > > That makes sense to me, but it's outside of my area for a drive-by > build fix. Please treat my patch as a 'Reported-by' then, I expect > this can easily be addressed by Jork or someone else in the > hyperv team. Apologies for letting this linger - we were looking for the best fix internally. While Michael is correct that conceptually the dependency is not ideal, I think it's the right fix *for now*. Yes, this would not allow MSHV root without VMBUS, which is relevant for MSHV root only, which misses a few other components. For L1VH it is the right fix that also enforces module load order. Ultimately (and this is planned), we need a SYNIC driver, and the hv_vmbus_exists() will vanish for this usecase. It is a hack even now. Best, Jork ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mshv: add vmbus dependency 2026-05-20 7:40 [PATCH] mshv: add vmbus dependency Arnd Bergmann 2026-05-20 13:46 ` Michael Kelley @ 2026-05-20 17:15 ` Jork Loeser 1 sibling, 0 replies; 5+ messages in thread From: Jork Loeser @ 2026-05-20 17:15 UTC (permalink / raw) To: Arnd Bergmann Cc: K. Y. Srinivasan, Haiyang Zhang, Wei Liu, Dexuan Cui, Long Li, Anirudh Rayabharam (Microsoft), Stanislav Kinsburskii, Arnd Bergmann, linux-hyperv, linux-kernel On Wed, 20 May 2026, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@arndb.de> > > When the vmbus driver is not part of the kernel, the mvhv_root > driver now fails to link: > > ERROR: modpost: "hv_vmbus_exists" [drivers/hv/mshv_root.ko] undefined! > > Avoid this by adding an explicit Kconfig dependency. Note that > stubbing out the hv_vmbus_exists() based on configuration would > also work for some cases, but not with MSHV_ROOT=y and HYPERV_VMBUS=m. > > Fixes: f1a9e67c1138 ("mshv: limit SynIC management to MSHV-owned resources") > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/hv/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig > index 52af086fdeb2..21193b571a80 100644 > --- a/drivers/hv/Kconfig > +++ b/drivers/hv/Kconfig > @@ -75,6 +75,7 @@ config MSHV_ROOT > # e.g. When withdrawing memory, the hypervisor gives back 4k pages in > # no particular order, making it impossible to reassemble larger pages > depends on PAGE_SIZE_4KB > + depends on HYPERV_VMBUS > select EVENTFD > select VIRT_XFER_TO_GUEST_WORK > select HMM_MIRROR > -- > 2.39.5 > Yes, this is the right short-term fix. We will need to solve the root case (no VMBUS required) with a separate SYNIC driver abstraction. Reviewed-by: Jork Loeser <jloeser@linux.microsoft.com> Thank you! Jork ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-05-20 17:16 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-05-20 7:40 [PATCH] mshv: add vmbus dependency Arnd Bergmann 2026-05-20 13:46 ` Michael Kelley 2026-05-20 13:51 ` Arnd Bergmann 2026-05-20 17:13 ` Jork Loeser 2026-05-20 17:15 ` Jork Loeser
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox