On 1/25/26 14:39, Stanislav Kinsburskii wrote:
On Fri, Jan 23, 2026 at 04:16:33PM -0800, Mukesh R wrote:
On 1/23/26 14:20, 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.
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
Will this affect CRASH kexec? I see few CONFIG_CRASH_DUMP in kexec.c
implying that crash dump might be involved. Or did you test kdump
and it was fine?
Yes, it will. Crash kexec depends on normal kexec functionality, so it
will be affected as well.
So not sure I understand the reason for this patch. We can just block
kexec if there are any VMs running, right? Doing this would mean any
further developement would be without a ver important and major feature,
right?
Thanks,
Stanislav
Thanks,
-Mukesh