On Fri, Jan 23, 2026 at 10:20:53PM +0000, Stanislav Kinsburskii wrote: > The MSHV driver deposits kernel-allocated pages to the hypervisor during > runtime and never withdraws them. This creates a fundamental incompatibility > with KEXEC, as these deposited pages remain unavailable to the new kernel > loaded via KEXEC, leading to potential system crashes upon kernel accessing > hypervisor deposited pages. > > Make MSHV mutually exclusive with KEXEC until proper page lifecycle > management is implemented.
Someone might want to stop all guest VMs and do a kexec. Which is valid and would work without any issue for L1VH. Also, I don't think it is reasonable at all that someone needs to disable basic kernel functionality such as kexec in order to use our driver. Thanks, Anirudh. > > Signed-off-by: Stanislav Kinsburskii <[email protected]> > --- > drivers/hv/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig > index 7937ac0cbd0f..cfd4501db0fa 100644 > --- a/drivers/hv/Kconfig > +++ b/drivers/hv/Kconfig > @@ -74,6 +74,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 !KEXEC > select EVENTFD > select VIRT_XFER_TO_GUEST_WORK > select HMM_MIRROR > >
