On 2013-12-30 21:56, Zhihui Zhang wrote:
> According to Table C-1 of Intel SDM 3C, a VM exit happens on an I/O 
> instruction when
> "use I/O bitmaps" VM-execution control was 0 _and_ the "unconditional I/O 
> exiting"
> VM-execution control was 1. So we can't just check "unconditional I/O 
> exiting" alone.
> This patch was improved by suggestion from Jan Kiszka.
> 
> Signed-off-by: Zhihui Zhang <[email protected]>
> ---
>  arch/x86/kvm/vmx.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index b2fe1c2..45617db 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -6460,11 +6460,8 @@ static bool nested_vmx_exit_handled_io(struct kvm_vcpu 
> *vcpu,
>       int size;
>       u8 b;
>  
> -     if (nested_cpu_has(vmcs12, CPU_BASED_UNCOND_IO_EXITING))
> -             return 1;
> -
>       if (!nested_cpu_has(vmcs12, CPU_BASED_USE_IO_BITMAPS))
> -             return 0;
> +             return nested_cpu_has(vmcs12, CPU_BASED_UNCOND_IO_EXITING);
>  
>       exit_qualification = vmcs_readl(EXIT_QUALIFICATION);
>  
> 

Reviewed-by: Jan Kiszka <[email protected]>


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to