mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
arch/x86/kvm/vmx.c: use PAGE_ALIGNED instead of IS_ALIGNED(PAGE_SIZE
use mm.h definition Cc: Gleb Natapov <gleb@kernel.org> Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Fabian Frederick <fabf@skynet.be> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
bdc907222c
commit
bc39c4db71
@ -5918,7 +5918,7 @@ static int nested_vmx_check_vmptr(struct kvm_vcpu *vcpu, int exit_reason,
|
|||||||
* which replaces physical address width with 32
|
* which replaces physical address width with 32
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
if (!IS_ALIGNED(vmptr, PAGE_SIZE) || (vmptr >> maxphyaddr)) {
|
if (!PAGE_ALIGNED(vmptr) || (vmptr >> maxphyaddr)) {
|
||||||
nested_vmx_failInvalid(vcpu);
|
nested_vmx_failInvalid(vcpu);
|
||||||
skip_emulated_instruction(vcpu);
|
skip_emulated_instruction(vcpu);
|
||||||
return 1;
|
return 1;
|
||||||
@ -5936,7 +5936,7 @@ static int nested_vmx_check_vmptr(struct kvm_vcpu *vcpu, int exit_reason,
|
|||||||
vmx->nested.vmxon_ptr = vmptr;
|
vmx->nested.vmxon_ptr = vmptr;
|
||||||
break;
|
break;
|
||||||
case EXIT_REASON_VMCLEAR:
|
case EXIT_REASON_VMCLEAR:
|
||||||
if (!IS_ALIGNED(vmptr, PAGE_SIZE) || (vmptr >> maxphyaddr)) {
|
if (!PAGE_ALIGNED(vmptr) || (vmptr >> maxphyaddr)) {
|
||||||
nested_vmx_failValid(vcpu,
|
nested_vmx_failValid(vcpu,
|
||||||
VMXERR_VMCLEAR_INVALID_ADDRESS);
|
VMXERR_VMCLEAR_INVALID_ADDRESS);
|
||||||
skip_emulated_instruction(vcpu);
|
skip_emulated_instruction(vcpu);
|
||||||
@ -5951,7 +5951,7 @@ static int nested_vmx_check_vmptr(struct kvm_vcpu *vcpu, int exit_reason,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EXIT_REASON_VMPTRLD:
|
case EXIT_REASON_VMPTRLD:
|
||||||
if (!IS_ALIGNED(vmptr, PAGE_SIZE) || (vmptr >> maxphyaddr)) {
|
if (!PAGE_ALIGNED(vmptr) || (vmptr >> maxphyaddr)) {
|
||||||
nested_vmx_failValid(vcpu,
|
nested_vmx_failValid(vcpu,
|
||||||
VMXERR_VMPTRLD_INVALID_ADDRESS);
|
VMXERR_VMPTRLD_INVALID_ADDRESS);
|
||||||
skip_emulated_instruction(vcpu);
|
skip_emulated_instruction(vcpu);
|
||||||
@ -8113,14 +8113,14 @@ static int nested_vmx_run(struct kvm_vcpu *vcpu, bool launch)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((vmcs12->cpu_based_vm_exec_control & CPU_BASED_USE_MSR_BITMAPS) &&
|
if ((vmcs12->cpu_based_vm_exec_control & CPU_BASED_USE_MSR_BITMAPS) &&
|
||||||
!IS_ALIGNED(vmcs12->msr_bitmap, PAGE_SIZE)) {
|
!PAGE_ALIGNED(vmcs12->msr_bitmap)) {
|
||||||
/*TODO: Also verify bits beyond physical address width are 0*/
|
/*TODO: Also verify bits beyond physical address width are 0*/
|
||||||
nested_vmx_failValid(vcpu, VMXERR_ENTRY_INVALID_CONTROL_FIELD);
|
nested_vmx_failValid(vcpu, VMXERR_ENTRY_INVALID_CONTROL_FIELD);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nested_cpu_has2(vmcs12, SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES) &&
|
if (nested_cpu_has2(vmcs12, SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES) &&
|
||||||
!IS_ALIGNED(vmcs12->apic_access_addr, PAGE_SIZE)) {
|
!PAGE_ALIGNED(vmcs12->apic_access_addr)) {
|
||||||
/*TODO: Also verify bits beyond physical address width are 0*/
|
/*TODO: Also verify bits beyond physical address width are 0*/
|
||||||
nested_vmx_failValid(vcpu, VMXERR_ENTRY_INVALID_CONTROL_FIELD);
|
nested_vmx_failValid(vcpu, VMXERR_ENTRY_INVALID_CONTROL_FIELD);
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user