The referenced addresses also need checking against MAXPHYSADDR.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Sergey Dyasli <sergey.dyasli@citrix.com>
Acked-by: Kevin Tian <kevin.tian@intel.com>
if ( rc != X86EMUL_OKAY )
return rc;
- if ( gpa & 0xfff )
+ if ( (gpa & ~PAGE_MASK) || !gfn_valid(v->domain, gaddr_to_gfn(gpa)) )
{
vmfail(regs, VMX_INSN_VMPTRLD_INVALID_PHYADDR);
goto out;
goto out;
}
- if ( gpa & 0xfff )
+ if ( (gpa & ~PAGE_MASK) || !gfn_valid(v->domain, gaddr_to_gfn(gpa)) )
{
vmfail(regs, VMX_INSN_VMCLEAR_INVALID_PHYADDR);
goto out;