[GIT PULL] KVM fixes for v4.15-rc3

From: Radim KrÄmÃÅ
Date: Sat Dec 09 2017 - 11:46:23 EST


Linus,

The following changes since commit ae64f9bd1d3621b5e60d7363bc20afb46aede215:

Linux 4.15-rc2 (2017-12-03 11:01:47 -0500)

are available in the Git repository at:

git://git.kernel.org/pub/scm/virt/kvm/kvm for-linus

for you to fetch changes up to b1394e745b9453dcb5b0671c205b770e87dedb87:

KVM: x86: fix APIC page invalidation (2017-12-06 16:10:34 +0100)

----------------------------------------------------------------
KVM fixes for v4.15-rc3

ARM:
* A number of issues in the vgic discovered using SMATCH
* A bit one-off calculation in out stage base address mask (32-bit and
64-bit)
* Fixes to single-step debugging instructions that trap for other
reasons such as MMMIO aborts
* Printing unavailable hyp mode as error
* Potential spinlock deadlock in the vgic
* Avoid calling vgic vcpu free more than once
* Broken bit calculation for big endian systems

s390:
* SPDX tags
* Fence storage key accesses from problem state
* Make sure that irq_state.flags is not used in the future

x86:
* Intercept port 0x80 accesses to prevent host instability (CVE)
* Use userspace FPU context for guest FPU (mainly an optimization that
fixes a double use of kernel FPU)
* Do not leak one page per module load
* Flush APIC page address cache from MMU invalidation notifiers

----------------------------------------------------------------
Alex BennÃe (5):
KVM: arm/arm64: debug: Introduce helper for single-step
kvm: arm64: handle single-stepping trapped instructions
kvm: arm64: handle single-step of userspace mmio instructions
kvm: arm64: handle single-step during SError exceptions
kvm: arm64: handle single-step of hyp emulated mmio instructions

Andre Przywara (1):
KVM: arm/arm64: VGIC: extend !vgic_is_initialized guard

Andrew Honig (1):
KVM: VMX: remove I/O port 0x80 bypass on Intel hosts

Andrew Jones (1):
KVM: arm/arm64: kvm_arch_destroy_vm cleanups

Ard Biesheuvel (1):
kvm: arm: don't treat unavailable HYP mode as an error

Christian Borntraeger (1):
KVM: s390: mark irq_state.flags as non-usable

Christoffer Dall (3):
KVM: arm/arm64: Don't enable/disable physical timer access on VHE
KVM: arm/arm64: Avoid attempting to load timer vgic state without a vgic
KVM: arm/arm64: Fix broken GICH_ELRSR big endian conversion

Greg Kroah-Hartman (2):
KVM: s390: add SPDX identifiers to the remaining files
KVM: s390: Remove redundant license text

Janosch Frank (1):
KVM: s390: Fix skey emulation permission check

Jim Mattson (1):
KVM: VMX: fix page leak in hardware_setup()

Kristina Martsenko (1):
arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one

Marc Zyngier (7):
KVM: arm/arm64: vgic-irqfd: Fix MSI entry allocation
KVM: arm/arm64: vgic: Preserve the revious read from the pending table
KVM: arm/arm64: vgic-its: Preserve the revious read from the pending table
KVM: arm/arm64: vgic-its: Check result of allocation before use
KVM: arm/arm64: vgic-v4: Only perform an unmap for valid vLPIs
arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
KVM: arm/arm64: Fix spinlock acquisition in vgic_set_owner

Radim KrÄmÃÅ (3):
Merge tag 'kvm-arm-fixes-for-v4.15-1' of git://git.kernel.org/.../kvmarm/kvmarm
Merge tag 'kvm-s390-master-4.15-1' of git://git.kernel.org/.../kvms390/linux
KVM: x86: fix APIC page invalidation

Rik van Riel (2):
x86,kvm: move qemu/guest FPU switching out to vcpu_run
x86,kvm: remove KVM emulator get_fpu / put_fpu

Documentation/virtual/kvm/api.txt | 15 +++++++--
arch/arm/include/asm/kvm_arm.h | 3 +-
arch/arm/include/asm/kvm_host.h | 5 +++
arch/arm64/include/asm/kvm_arm.h | 3 +-
arch/arm64/include/asm/kvm_host.h | 1 +
arch/arm64/kvm/debug.c | 21 +++++++++++++
arch/arm64/kvm/handle_exit.c | 57 +++++++++++++++++++++++++---------
arch/arm64/kvm/hyp/switch.c | 37 +++++++++++++++++-----
arch/s390/kvm/Makefile | 5 +--
arch/s390/kvm/diag.c | 5 +--
arch/s390/kvm/gaccess.h | 5 +--
arch/s390/kvm/guestdbg.c | 5 +--
arch/s390/kvm/intercept.c | 5 +--
arch/s390/kvm/interrupt.c | 5 +--
arch/s390/kvm/irq.h | 5 +--
arch/s390/kvm/kvm-s390.c | 11 +++----
arch/s390/kvm/kvm-s390.h | 5 +--
arch/s390/kvm/priv.c | 16 ++++++----
arch/s390/kvm/sigp.c | 5 +--
arch/s390/kvm/vsie.c | 5 +--
arch/x86/include/asm/kvm_emulate.h | 2 --
arch/x86/include/asm/kvm_host.h | 16 ++++++++++
arch/x86/kvm/emulate.c | 24 ---------------
arch/x86/kvm/vmx.c | 6 ----
arch/x86/kvm/x86.c | 63 +++++++++++++++++++-------------------
include/kvm/arm_arch_timer.h | 3 --
include/linux/kvm_host.h | 2 +-
include/uapi/linux/kvm.h | 4 +--
virt/kvm/arm/arch_timer.c | 11 +++----
virt/kvm/arm/arm.c | 7 +++--
virt/kvm/arm/hyp/timer-sr.c | 48 ++++++++++++-----------------
virt/kvm/arm/hyp/vgic-v2-sr.c | 4 ---
virt/kvm/arm/vgic/vgic-irqfd.c | 3 +-
virt/kvm/arm/vgic/vgic-its.c | 4 ++-
virt/kvm/arm/vgic/vgic-v3.c | 2 +-
virt/kvm/arm/vgic/vgic-v4.c | 6 ++--
virt/kvm/arm/vgic/vgic.c | 8 +++--
virt/kvm/kvm_main.c | 8 +++++
38 files changed, 239 insertions(+), 201 deletions(-)