On Wed, 2019-01-23 at 13:18 -0500, Konrad Rzeszutek Wilk wrote: > On Wed, Jan 09, 2019 at 10:42:13AM +0100, KarimAllah Ahmed wrote: > > > > Use page_address_valid in a few more locations that is already checking for > > a page aligned address that does not cross the maximum physical address. > > Where is this page_address_valid declared? The latest linus's tree does > not have it, nor does your patchset? It is already defined in the code, I can not see any commits that removed it: $ git grep page_address_valid arch/x86/kvm/vmx/nested.c:static bool page_address_valid(struct kvm_vcpu *vcpu, gpa_t gpa) arch/x86/kvm/vmx/nested.c: if (!page_address_valid(vcpu, vmcs12- >io_bitmap_a) || arch/x86/kvm/vmx/nested.c: !page_address_valid(vcpu, vmcs12->io_bitmap_ b)) arch/x86/kvm/vmx/nested.c: if (!page_address_valid(vcpu, vmcs12- >msr_bitmap)) arch/x86/kvm/vmx/nested.c: if (!page_address_valid(vcpu, vmcs12- >virtual_apic_page_addr)) arch/x86/kvm/vmx/nested.c: !page_address_valid(vcpu, vmcs12- >apic_access_addr)) arch/x86/kvm/vmx/nested.c: !page_address_valid(vcpu, vmcs12- >pml_address)) arch/x86/kvm/vmx/nested.c: if (!page_address_valid(vcpu, vmcs12- >vmread_bitmap) || arch/x86/kvm/vmx/nested.c: !page_address_valid(vcpu, vmcs12- >vmwrite_bitmap)) arch/x86/kvm/vmx/nested.c: !page_address_valid(vcpu, vmcs12->eptp_list_address)) arch/x86/kvm/vmx/nested.c: if (!page_address_valid(vcpu, vmcs12- >vmcs_link_pointer)) arch/x86/kvm/vmx/nested.c: if (!page_address_valid(vcpu, kvm_state- >vmx.vmxon_pa)) arch/x86/kvm/vmx/nested.c: !page_address_valid(vcpu, kvm_state- >vmx.vmcs_pa)) > > > > > > Signed-off-by: KarimAllah Ahmed <karahmed@xxxxxxxxx> > > --- > > arch/x86/kvm/vmx/nested.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c > > index ccb3b63..77aad46 100644 > > --- a/arch/x86/kvm/vmx/nested.c > > +++ b/arch/x86/kvm/vmx/nested.c > > @@ -4203,7 +4203,7 @@ static int handle_vmon(struct kvm_vcpu *vcpu) > > * Note - IA32_VMX_BASIC[48] will never be 1 for the nested case; > > * which replaces physical address width with 32 > > */ > > - if (!PAGE_ALIGNED(vmptr) || (vmptr >> cpuid_maxphyaddr(vcpu))) > > + if (!page_address_valid(vcpu, vmptr)) > > return nested_vmx_failInvalid(vcpu); > > > > if (kvm_read_guest(vcpu->kvm, vmptr, &revision, sizeof(revision)) || > > @@ -4266,7 +4266,7 @@ static int handle_vmclear(struct kvm_vcpu *vcpu) > > if (nested_vmx_get_vmptr(vcpu, &vmptr)) > > return 1; > > > > - if (!PAGE_ALIGNED(vmptr) || (vmptr >> cpuid_maxphyaddr(vcpu))) > > + if (!page_address_valid(vcpu, vmptr)) > > return nested_vmx_failValid(vcpu, > > VMXERR_VMCLEAR_INVALID_ADDRESS); > > > > @@ -4473,7 +4473,7 @@ static int handle_vmptrld(struct kvm_vcpu *vcpu) > > if (nested_vmx_get_vmptr(vcpu, &vmptr)) > > return 1; > > > > - if (!PAGE_ALIGNED(vmptr) || (vmptr >> cpuid_maxphyaddr(vcpu))) > > + if (!page_address_valid(vcpu, vmptr)) > > return nested_vmx_failValid(vcpu, > > VMXERR_VMPTRLD_INVALID_ADDRESS); > > > > -- > > 2.7.4 > > Amazon Development Center Germany GmbH Krausenstr. 38 10117 Berlin Geschaeftsfuehrer: Christian Schlaeger, Ralf Herbrich Ust-ID: DE 289 237 879 Eingetragen am Amtsgericht Charlottenburg HRB 149173 B