• Paolo Bonzini's avatar
    KVM: x86: cleanup CR3 reserved bits checks · c1c35cf7
    Paolo Bonzini authored
    If not in long mode, the low bits of CR3 are reserved but not enforced to
    be zero, so remove those checks.  If in long mode, however, the MBZ bits
    extend down to the highest physical address bit of the guest, excluding
    the encryption bit.
    
    Make the checks consistent with the above, and match them between
    nested_vmcb_checks and KVM_SET_SREGS.
    
    Cc: stable@vger.kernel.org
    Fixes: 761e4169 ("KVM: nSVM: Check that MBZ bits in CR3 and CR4 are not set on vmrun of nested guests")
    Fixes: a780a3ea ("KVM: X86: Fix reserved bits check for MOV to CR3")
    Reviewed-by: default avatarSean Christopherson <seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    c1c35cf7
nested.c 32.9 KB