• Sean Christopherson's avatar
    KVM: VMX: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB path · c7cb2d65
    Sean Christopherson authored
    Clear CF and ZF in the VM-Exit path after doing __FILL_RETURN_BUFFER so
    that KVM doesn't interpret clobbered RFLAGS as a VM-Fail.  Filling the
    RSB has always clobbered RFLAGS, its current incarnation just happens
    clear CF and ZF in the processs.  Relying on the macro to clear CF and
    ZF is extremely fragile, e.g. commit 089dd8e5 ("x86/speculation:
    Change FILL_RETURN_BUFFER to work with objtool") tweaks the loop such
    that the ZF flag is always set.
    Reported-by: default avatarQian Cai <cai@lca.pw>
    Cc: Rick Edgecombe <rick.p.edgecombe@intel.com>
    Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: stable@vger.kernel.org
    Fixes: f2fde6a5 ("KVM: VMX: Move RSB stuffing to before the first RET after VM-Exit")
    Signed-off-by: default avatarSean Christopherson <sean.j.christopherson@intel.com>
    Message-Id: <20200506035355.2242-1-sean.j.christopherson@intel.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    c7cb2d65
vmenter.S 6.95 KB