KVM: x86: popf emulation should not change RF
authorNadav Amit <namit@cs.technion.ac.il>
Mon, 21 Jul 2014 11:37:28 +0000 (14:37 +0300)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 21 Jul 2014 11:41:58 +0000 (13:41 +0200)
RFLAGS.RF is always zero after popf. Therefore, popf should not updated RF, as
anyhow emulating popf, just as any other instruction should clear RFLAGS.RF.

Signed-off-by: Nadav Amit <namit@cs.technion.ac.il>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/emulate.c

index dd074106d0c9bee26f3a603278c77f2d9361b53c..cf117bfe952197dec3facaac084e0e39ff763c7c 100644 (file)
@@ -1675,7 +1675,7 @@ static int emulate_popf(struct x86_emulate_ctxt *ctxt,
                return rc;
 
        change_mask = EFLG_CF | EFLG_PF | EFLG_AF | EFLG_ZF | EFLG_SF | EFLG_OF
-               | EFLG_TF | EFLG_DF | EFLG_NT | EFLG_RF | EFLG_AC | EFLG_ID;
+               | EFLG_TF | EFLG_DF | EFLG_NT | EFLG_AC | EFLG_ID;
 
        switch(ctxt->mode) {
        case X86EMUL_MODE_PROT64: