On 2013-02-11 11:07, Nadav Har'El wrote:
> On Sun, Feb 10, 2013, Jan Kiszka wrote about "[PATCH] KVM: nVMX: Improve I/O 
> exit handling":
>> +static bool nested_vmx_exit_handled_io(struct kvm_vcpu *vcpu,
>> +                                   struct vmcs12 *vmcs12)
>> +{
>> +    unsigned long exit_qualification;
>> +    gpa_t bitmap, last_bitmap;
>> +    bool string, rep;
>> +    u16 port;
>> +    int size;
>> +    u8 b;
>> +
>> +    if (nested_cpu_has(get_vmcs12(vcpu), CPU_BASED_UNCOND_IO_EXITING))
>> +            return 1;
> 
> Instead of calling get_vmcs12(vcpu), you can just use "vmcs12" variable
> which you already have. I see I left the same redundant call also in
> nested_vmx_exit_handled_msr :(

Indeed, copy&pasted from there...

> 
>> +            if (port < 0x8000)
>> +                    bitmap = vmcs12->io_bitmap_a;
>> +            else
>> +                    bitmap = vmcs12->io_bitmap_b;
>> +            bitmap += port / 8;
> 
> In the port >= 0x8000, I believe need to subtract 0x8000 from the port
> number before using it as an offset into io_bitmap_b?

Oops. There was already a stupid bug in that path, failed to validate it
again. v2 will follow.

Thanks for reviewing,
Jan


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to