[GIT PULL] KVM fixes for v4.12-rc2

From: Radim KrÄmÃÅ
Date: Fri May 19 2017 - 14:43:51 EST


The following changes since commit 2ea659a9ef488125eb46da6eb571de5eae5c43f6:

Linux 4.12-rc1 (2017-05-13 13:19:49 -0700)

are available in the git repository at:

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

for you to fetch changes up to 92ceb7679ab8807d3b7fbcc6daf2279036954ef5:

KVM: x86: prevent uninitialized variable warning in check_svme() (2017-05-19 19:59:28 +0200)

KVM fixes for v4.12-rc2

- A fix for a build failure introduced in -rc1 when tracepoints are
enabled on 32-bit ARM.
- Disabling use of stack pointer protection in the hyp code which can
cause panics.
- A handful of VGIC fixes.
- A fix to the init of the redistributors on GICv3 systems that
prevented boot with kvmtool on GICv3 systems introduced in -rc1.
- A number of race conditions fixed in our MMU handling code.
- A fix for the guest being able to program the debug extensions for
the host on the 32-bit side.

- Fixes for build failures with PR KVM configurations.
- A fix for a host crash that can occur on POWER9 with radix guests.

- Fixes for nested PML and nested EPT.
- A fix for crashes caused by reserved bits in SSE MXCSR that could
have been set by userspace.
- An optimization of halt polling that fixes high CPU overhead.
- Fixes for four reports from Dan Carpenter's static checker.
- A protection around code that shouldn't have been preemptible.
- A fix for port IO emulation.

Christoffer Dall (2):
KVM: arm/arm64: Fix bug when registering redist iodevs
KVM: arm/arm64: Hold slots_lock when unregistering kvm io bus devices

Dan Carpenter (2):
kvm: nVMX: off by one in vmx_write_pml_buffer()
KVM: Silence underflow warning in avic_get_physical_id_entry()

Marc Zyngier (6):
ARM: KVM: Fix tracepoint generation after move to virt/kvm/arm/
arm64: KVM: Do not use stack-protector to compile EL2 code
arm: KVM: Do not use stack-protector to compile HYP code
KVM: arm/arm64: vgic-v2: Do not use Active+Pending state for a HW interrupt
KVM: arm/arm64: vgic-v3: Do not use Active+Pending state for a HW interrupt
KVM: arm/arm64: vgic-v3: Use PREbits to infer the number of ICH_APxRn_EL2 registers

Paolo Bonzini (2):
KVM: nVMX: fix EPT permissions as reported in exit qualification
KVM: x86: lower default for halt_poll_ns

Paul Mackerras (3):
KVM: PPC: Book3S HV: Add radix checks in real-mode hypercall handlers
KVM: PPC: Book3S PR: Check copy_to/from_user return values
KVM: PPC: Book3S PR: Don't include SPAPR TCE code on non-pseries platforms

Radim KrÄmÃÅ (5):
Merge branch 'kvm-ppc-fixes' of git://git.kernel.org/.../paulus/powerpc
Merge tag 'kvm-arm-for-v4.12-rc2' of git://git.kernel.org/.../kvmarm/kvmarm
KVM: x86: zero base3 of unusable segments
KVM: x86/vPMU: fix undefined shift in intel_pmu_refresh()
KVM: x86: prevent uninitialized variable warning in check_svme()

Suzuki K Poulose (3):
kvm: arm/arm64: Fix race in resetting stage2 PGD
kvm: arm/arm64: Force reading uncached stage2 PGD
kvm: arm/arm64: Fix use after free of stage2 page table

Wanpeng Li (4):
KVM: x86: Fix load damaged SSEx MXCSR register
KVM: VMX: Don't enable EPT A/D feature if EPT feature is disabled
KVM: x86: Fix potential preemption when get the current kvmclock timestamp
KVM: X86: Fix read out-of-bounds vulnerability in kvm pio emulation

Zhichao Huang (2):
KVM: arm: plug potential guest hardware debug leakage
KVM: arm: rename pm_fake handler to trap_raz_wi

arch/arm/include/asm/kvm_coproc.h | 3 +-
arch/arm/kvm/coproc.c | 106 ++++++++++++++++++++++++-----------
arch/arm/kvm/handle_exit.c | 4 +-
arch/arm/kvm/hyp/Makefile | 2 +
arch/arm/kvm/hyp/switch.c | 4 +-
arch/arm/kvm/trace.h | 8 +--
arch/arm64/kvm/hyp/Makefile | 2 +
arch/powerpc/kvm/Kconfig | 2 +-
arch/powerpc/kvm/Makefile | 4 +-
arch/powerpc/kvm/book3s_64_vio_hv.c | 13 +++++
arch/powerpc/kvm/book3s_hv_builtin.c | 9 ++-
arch/powerpc/kvm/book3s_pr_papr.c | 80 ++++++++++++++++++--------
arch/powerpc/kvm/powerpc.c | 4 +-
arch/x86/include/asm/kvm_host.h | 2 +-
arch/x86/kernel/fpu/init.c | 1 +
arch/x86/kvm/emulate.c | 2 +-
arch/x86/kvm/paging_tmpl.h | 35 +++++++-----
arch/x86/kvm/pmu_intel.c | 2 +-
arch/x86/kvm/svm.c | 3 +-
arch/x86/kvm/vmx.c | 4 +-
arch/x86/kvm/x86.c | 45 +++++++++++----
include/kvm/arm_vgic.h | 5 +-
virt/kvm/arm/hyp/vgic-v3-sr.c | 18 +++---
virt/kvm/arm/mmu.c | 33 +++++++----
virt/kvm/arm/vgic/vgic-init.c | 5 +-
virt/kvm/arm/vgic/vgic-mmio-v3.c | 12 +++-
virt/kvm/arm/vgic/vgic-v2.c | 7 +++
virt/kvm/arm/vgic/vgic-v3.c | 7 +++
28 files changed, 297 insertions(+), 125 deletions(-)