[PATCH] KVM: VMX: Fix a wrong MSR update in add_atomic_switch_msr()

Namhyung Kim posted 1 patch 1 month, 3 weeks ago
arch/x86/kvm/vmx/vmx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] KVM: VMX: Fix a wrong MSR update in add_atomic_switch_msr()
Posted by Namhyung Kim 1 month, 3 weeks ago
The previous change had a bug to update a guest MSR with a host value.

Fixes: c3d6a7210a4de9096 ("KVM: VMX: Dedup code for adding MSR to VMCS's auto list")
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 arch/x86/kvm/vmx/vmx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 967b58a8ab9d0d47..83d057cfa8164937 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -1149,7 +1149,7 @@ static void add_atomic_switch_msr(struct vcpu_vmx *vmx, unsigned msr,
 	}
 
 	vmx_add_auto_msr(&m->guest, msr, guest_val, VM_ENTRY_MSR_LOAD_COUNT, kvm);
-	vmx_add_auto_msr(&m->guest, msr, host_val, VM_EXIT_MSR_LOAD_COUNT, kvm);
+	vmx_add_auto_msr(&m->host, msr, host_val, VM_EXIT_MSR_LOAD_COUNT, kvm);
 }
 
 static bool update_transition_efer(struct vcpu_vmx *vmx)
-- 
2.53.0.371.g1d285c8824-goog
Re: [PATCH] KVM: VMX: Fix a wrong MSR update in add_atomic_switch_msr()
Posted by Sean Christopherson 1 month, 1 week ago
On Fri, 20 Feb 2026 14:02:16 -0800, Namhyung Kim wrote:
> The previous change had a bug to update a guest MSR with a host value.

Applied to kvm-x86 fixes, thanks!

[1/1] KVM: VMX: Fix a wrong MSR update in add_atomic_switch_msr()
      https://github.com/kvm-x86/linux/commit/5d3f0518caa7

--
https://github.com/kvm-x86/linux/tree/next
Re: [PATCH] KVM: VMX: Fix a wrong MSR update in add_atomic_switch_msr()
Posted by Mi, Dapeng 1 month, 3 weeks ago
On 2/21/2026 6:02 AM, Namhyung Kim wrote:
> The previous change had a bug to update a guest MSR with a host value.
>
> Fixes: c3d6a7210a4de9096 ("KVM: VMX: Dedup code for adding MSR to VMCS's auto list")
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> ---
>  arch/x86/kvm/vmx/vmx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> index 967b58a8ab9d0d47..83d057cfa8164937 100644
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -1149,7 +1149,7 @@ static void add_atomic_switch_msr(struct vcpu_vmx *vmx, unsigned msr,
>  	}
>  
>  	vmx_add_auto_msr(&m->guest, msr, guest_val, VM_ENTRY_MSR_LOAD_COUNT, kvm);
> -	vmx_add_auto_msr(&m->guest, msr, host_val, VM_EXIT_MSR_LOAD_COUNT, kvm);
> +	vmx_add_auto_msr(&m->host, msr, host_val, VM_EXIT_MSR_LOAD_COUNT, kvm);
>  }
>  
>  static bool update_transition_efer(struct vcpu_vmx *vmx)

Reviewed-by: Dapeng Mi <dapeng1.mi@linux.intel.com>