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
