KVM: Correct wrong vmcs reading
PATCH 1/1 KVM: Correct wrong vmcs reading
Some 64bit reading should be natrual wide reading...
Signed-off-by Sheng Yang <[email protected]>
--- arch/x86/kvm/vmx.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)
arch/x86/kvm/vmx.c +6 -6
@@ -2983,7 +2983,7 @@ static int handle_vmcall(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)static int handle_invlpg (struct kvm_vcpu *vcpu,struct kvm_run *kvm_run) { -u64 exit_qualification =vmcs_read64 (EXIT_QUALIFICATION ); +unsigned long exit_qualification =vmcs_readl (EXIT_QUALIFICATION );kvm_mmu_invlpg (vcpu, exit_qualification);skip_emulated_instruction (vcpu);
@@ -2999,11 +2999,11 @@ static int handle_wbinvd(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)static int handle_apic_access (struct kvm_vcpu *vcpu,struct kvm_run *kvm_run) { -u64 exit_qualification; +unsigned long exit_qualification;enum emulation_result er;unsigned long offset; - exit_qualification =vmcs_read64 (EXIT_QUALIFICATION ); + exit_qualification =vmcs_readl (EXIT_QUALIFICATION ); offset = exit_qualification &0xffful ; er =emulate_instruction (vcpu, kvm_run,0 ,0 ,0 );
@@ -3054,11 +3054,11 @@ static int handle_task_switch(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)static int handle_ept_violation (struct kvm_vcpu *vcpu,struct kvm_run *kvm_run) { -u64 exit_qualification; +unsigned long exit_qualification;gpa_t gpa;int gla_validity; - exit_qualification =vmcs_read64 (EXIT_QUALIFICATION ); + exit_qualification =vmcs_readl (EXIT_QUALIFICATION );if (exit_qualification & (1 <<6 )) {printk (KERN_ERR "EPT: GPA exceeds GAW!\n" );
@@ -3070,7 +3070,7 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)printk (KERN_ERR "EPT: Handling EPT violation failed!\n" );printk (KERN_ERR "EPT: GPA: 0x%lx, GVA: 0x%lx\n" , (long unsigned int )vmcs_read64 (GUEST_PHYSICAL_ADDRESS ), - (long unsigned int )vmcs_read64 (GUEST_LINEAR_ADDRESS )); +vmcs_readl (GUEST_LINEAR_ADDRESS ));printk (KERN_ERR "EPT: Exit qualification is 0x%lx\n" , (long unsigned int )exit_qualification); kvm_run->exit_reason =KVM_EXIT_UNKNOWN ;
Signature · 1 line
1.5.4.5
Avi Kivity
AppliedQuoted 2 lines · Sheng Yang
Some 64bit reading should be natrual wide reading...
Applied, thanks.
Signature · 1 line
error compiling committee.c: too many arguments to function