From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nadav Amit Subject: [PATCH 00/21] Fixes for various KVM bugs Date: Sun, 2 Nov 2014 11:54:40 +0200 Message-ID: <1414922101-17626-1-git-send-email-namit@cs.technion.ac.il> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: kvm@vger.kernel.org, nadav.amit@gmail.com, Nadav Amit To: pbonzini@redhat.com Return-path: Received: from mailgw12.technion.ac.il ([132.68.225.12]:52328 "EHLO mailgw12.technion.ac.il" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751133AbaKBJzP (ORCPT ); Sun, 2 Nov 2014 04:55:15 -0500 Sender: kvm-owner@vger.kernel.org List-ID: This patch-set fixes various KVM bugs, mainly in the emulator. Each patch is independent, except for patches 15-16 (which are intended to fix a single bug). Patch 19 ist not a real fix for bug but improves the behavior of KVM when it cannot handle a certain guest behavior. Some previous fixes were found to be incomplete or faulty. Patches 18,20 handle these cases. Thanks for reviewing the patches. A separate patch-set which deals with __lienarize (emulator) related bugs would follow. Nadav Amit (21): KVM: x86: decode_modrm does not regard modrm correctly KVM: x86: No error-code on real-mode exceptions KVM: x86: Emulator should set DR6 upon GD like real CPU KVM: x86: Clear DR6[0:3] on #DB during handle_dr KVM: x86: Breakpoints do not consider CS.base KVM: x86: Emulator MOV-sreg uses incorrect size KVM: x86: Emulator considers imm as memory operand KVM: x86: Reset FPU state during reset KVM: x86: SYSCALL cannot clear eflags[1] KVM: x86: Wrong flags on CMPS and SCAS emulation KVM: x86: Emulate push sreg as done in Core KVM: x86: MOV to CR3 can set bit 63 KVM: x86: Do not update EFLAGS on faulting emulation KVM: x86: Software disabled APIC should still deliver NMIs KVM: x86: Combine the lgdt and lidt emulation logic KVM: x86: Inject #GP when loading system segments with non-canonical base KVM: x86: Remove redundant and incorrect cpl check on task-switch KVM: x86: Emulator mis-decodes VEX instructions on real-mode KVM: x86: Warn on APIC base relocation KVM: x86: MOVNTI emulation min opsize is not respected KVM: x86: Return UNHANDLABLE on unsupported SYSENTER arch/x86/include/asm/kvm_host.h | 2 + arch/x86/kvm/emulate.c | 107 +++++++++++++++++++++++++--------------- arch/x86/kvm/lapic.c | 27 +++++++--- arch/x86/kvm/vmx.c | 5 +- arch/x86/kvm/x86.c | 40 +++++++++------ 5 files changed, 116 insertions(+), 65 deletions(-) -- 1.9.1