x86/hyperv: fix invalid writes to MSRs during root partition kexec
authorAnirudh Rayabharam <anrayabh@linux.microsoft.com>
Thu, 27 Oct 2022 09:57:29 +0000 (15:27 +0530)
committerWei Liu <wei.liu@kernel.org>
Thu, 3 Nov 2022 15:50:28 +0000 (15:50 +0000)
commit2982635a0b3d08d6fee2ff05632206286df0e703
treeab5ae06bb3699d30a9e46953ec5fa9db45404cdd
parent4ad1aa571214e8d6468a1806794d987b374b5a08
x86/hyperv: fix invalid writes to MSRs during root partition kexec

hyperv_cleanup resets the hypercall page by setting the MSR to 0. However,
the root partition is not allowed to write to the GPA bits of the MSR.
Instead, it uses the hypercall page provided by the MSR. Similar is the
case with the reference TSC MSR.

Clear only the enable bit instead of zeroing the entire MSR to make
the code valid for root partition too.

Signed-off-by: Anirudh Rayabharam <anrayabh@linux.microsoft.com>
Reviewed-by: Michael Kelley <mikelley@microsoft.com>
Link: https://lore.kernel.org/r/20221027095729.1676394-3-anrayabh@linux.microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
arch/x86/hyperv/hv_init.c