Re: [PATCH] kvm: vmx: Fix typos in vmentry/vmexit control setting

From: Paolo Bonzini
Date: Thu Jan 31 2019 - 17:51:26 EST


On 31/01/19 04:26, Yu Zhang wrote:
> Previously, 'commit f99e3daf94ff ("KVM: x86: Add Intel PT
> virtualization work mode")' work mode' offered framework
> to support Intel PT virtualization. However, the patch has
> some typos in vmx_vmentry_ctrl() and vmx_vmexit_ctrl(), e.g.
> used wrong flags and wrong variable, which will cause the
> VM entry failure later.
>
> Fixes: 'commit f99e3daf94ff ("KVM: x86: Add Intel PT virtualization work mode")'
> Signed-off-by: Yu Zhang <yu.c.zhang@xxxxxxxxxxxxxxx>
> ---
> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> Cc: "Radim KrÄmÃÅ" <rkrcmar@xxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Borislav Petkov <bp@xxxxxxxxx>
> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> arch/x86/kvm/vmx/vmx.h | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx/vmx.h b/arch/x86/kvm/vmx/vmx.h
> index 9932895..267de48 100644
> --- a/arch/x86/kvm/vmx/vmx.h
> +++ b/arch/x86/kvm/vmx/vmx.h
> @@ -445,7 +445,8 @@ static inline u32 vmx_vmentry_ctrl(void)
> {
> u32 vmentry_ctrl = vmcs_config.vmentry_ctrl;
> if (pt_mode == PT_MODE_SYSTEM)
> - vmentry_ctrl &= ~(VM_EXIT_PT_CONCEAL_PIP | VM_EXIT_CLEAR_IA32_RTIT_CTL);
> + vmentry_ctrl &= ~(VM_ENTRY_PT_CONCEAL_PIP |
> + VM_ENTRY_LOAD_IA32_RTIT_CTL);
> /* Loading of EFER and PERF_GLOBAL_CTRL are toggled dynamically */
> return vmentry_ctrl &
> ~(VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VM_ENTRY_LOAD_IA32_EFER);
> @@ -455,9 +456,10 @@ static inline u32 vmx_vmexit_ctrl(void)
> {
> u32 vmexit_ctrl = vmcs_config.vmexit_ctrl;
> if (pt_mode == PT_MODE_SYSTEM)
> - vmexit_ctrl &= ~(VM_ENTRY_PT_CONCEAL_PIP | VM_ENTRY_LOAD_IA32_RTIT_CTL);
> + vmexit_ctrl &= ~(VM_EXIT_PT_CONCEAL_PIP |
> + VM_EXIT_CLEAR_IA32_RTIT_CTL);
> /* Loading of EFER and PERF_GLOBAL_CTRL are toggled dynamically */
> - return vmcs_config.vmexit_ctrl &
> + return vmexit_ctrl &
> ~(VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL | VM_EXIT_LOAD_IA32_EFER);
> }
>
>

Queued, thanks.

Paolo