2019-01-31 03:31:06

by Yu Zhang

[permalink] [raw]
Subject: [PATCH] kvm: vmx: Fix typos in vmentry/vmexit control setting

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 <[email protected]>
---
Cc: Paolo Bonzini <[email protected]>
Cc: "Radim Krčmář" <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: [email protected]
---
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);
}

--
1.9.1



2019-01-31 23:28:39

by Paolo Bonzini

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

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 <[email protected]>
> ---
> Cc: Paolo Bonzini <[email protected]>
> Cc: "Radim Krčmář" <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Borislav Petkov <[email protected]>
> Cc: "H. Peter Anvin" <[email protected]>
> Cc: [email protected]
> ---
> 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