From patchwork Wed Dec 10 09:19:03 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 5467651 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 723019F1D4 for ; Wed, 10 Dec 2014 09:19:22 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A2162200E8 for ; Wed, 10 Dec 2014 09:19:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0820920115 for ; Wed, 10 Dec 2014 09:19:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751568AbaLJJTN (ORCPT ); Wed, 10 Dec 2014 04:19:13 -0500 Received: from mailgw10.technion.ac.il ([132.68.225.10]:64745 "EHLO mailgw10.technion.ac.il" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751122AbaLJJTM (ORCPT ); Wed, 10 Dec 2014 04:19:12 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmMBAEIPiFSERCABjGdsb2JhbABZ0CcCgRYWAQEBAQEBEAEBASdChAMBBSdSEFFXGYg40gOFEwEBAQEGAgEfjx9kBxaEIAWsPWyBA4FAAQEB X-IPAS-Result: AmMBAEIPiFSERCABjGdsb2JhbABZ0CcCgRYWAQEBAQEBEAEBASdChAMBBSdSEFFXGYg40gOFEwEBAQEGAgEfjx9kBxaEIAWsPWyBA4FAAQEB X-IronPort-AV: E=Sophos;i="5.07,551,1413234000"; d="scan'208";a="1026096" Received: from csa.cs.technion.ac.il ([132.68.32.1]) by mailgw10.technion.ac.il with ESMTP; 10 Dec 2014 11:19:11 +0200 Received: from csn.cs.technion.ac.il (csn.cs.technion.ac.il [132.68.32.15]) by csa.cs.technion.ac.il (Postfix) with ESMTP id 0FE2A14003D; Wed, 10 Dec 2014 11:19:10 +0200 (IST) Received: from csl-tapuz20.cs.technion.ac.il (csl-tapuz20.cs.technion.ac.il [132.68.206.58]) by csn.cs.technion.ac.il (Postfix) with ESMTPSA id E89BAA1CBC; Wed, 10 Dec 2014 11:19:09 +0200 (IST) From: Nadav Amit To: pbonzini@redhat.com Cc: kvm@vger.kernel.org, Nadav Amit Subject: [PATCH 1/2] KVM: x86: Do not push eflags.vm on pushf Date: Wed, 10 Dec 2014 11:19:03 +0200 Message-Id: <1418203144-18434-2-git-send-email-namit@cs.technion.ac.il> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1418203144-18434-1-git-send-email-namit@cs.technion.ac.il> References: <1418203144-18434-1-git-send-email-namit@cs.technion.ac.il> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The pushf instruction does not push eflags.VM, so emulation should not do so as well. Although eflags.RF should not be pushed as well, it is already cleared by the time pushf is executed. Signed-off-by: Nadav Amit --- arch/x86/kvm/emulate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index 33ecfcf..5cd5401 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c @@ -1863,7 +1863,7 @@ static int em_pusha(struct x86_emulate_ctxt *ctxt) static int em_pushf(struct x86_emulate_ctxt *ctxt) { - ctxt->src.val = (unsigned long)ctxt->eflags; + ctxt->src.val = (unsigned long)ctxt->eflags & ~EFLG_VM; return em_push(ctxt); }