lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 17 May 2019 05:59:36 +0200
From:   Paolo Bonzini <>
Subject: [GIT PULL] KVM changes for 5.2 merge window


The following changes since commit 7a223e06b1a411cef6c4cd7a9b9a33c8d225b10e:

  KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing (2019-04-16 15:38:08 +0200)

are available in the git repository at: tags/for-linus

for you to fetch changes up to dd53f6102c30a774e0db8e55d49017a38060f6f6:

  Merge tag 'kvmarm-for-v5.2' of git:// into HEAD (2019-05-15 23:41:43 +0200)


* ARM: support for SVE and Pointer Authentication in guests, PMU improvements

* POWER: support for direct access to the POWER9 XIVE interrupt controller,
memory and performance optimizations.

* x86: support for accessing memory not backed by struct page, fixes and refactoring

* Generic: dirty page tracking improvements

Aaron Lewis (5):
      tests: kvm: Add tests to .gitignore
      tests: kvm: Add tests for KVM_CAP_MAX_VCPUS and KVM_CAP_MAX_CPU_ID
      KVM: nVMX: KVM_SET_NESTED_STATE - Tear down old EVMCS state before setting new state
      tests: kvm: Add tests for KVM_SET_NESTED_STATE
      kvm: nVMX: Set nested_run_pending in vmx_set_nested_state after checks complete

Alexey Kardashevskiy (3):
      KVM: PPC: Book3S HV: Fix lockdep warning when entering the guest
      KVM: PPC: Book3S HV: Avoid lockdep debugging in TCE realmode handlers
      KVM: PPC: Book3S: Allocate guest TCEs on demand too

Amit Daniel Kachhap (3):
      KVM: arm64: Add a vcpu flag to control ptrauth for guest
      KVM: arm64: Add userspace flag to enable pointer authentication
      KVM: arm64: Add capability to advertise ptrauth for guest

Andrew Murray (9):
      arm64: arm_pmu: Remove unnecessary isb instruction
      arm64: KVM: Encapsulate kvm_cpu_context in kvm_host_data
      arm64: KVM: Add accessors to track guest/host only counters
      arm64: arm_pmu: Add !VHE support for exclude_host/exclude_guest attributes
      arm64: KVM: Enable !VHE support for :G/:H perf event modifiers
      arm64: KVM: Enable VHE support for :G/:H perf event modifiers
      arm64: KVM: Avoid isb's by using direct pmxevtyper sysreg
      arm64: docs: Document perf event attributes
      arm64: KVM: Fix perf cycle counter support for VHE

Borislav Petkov (1):
      x86/kvm: Implement HWCR support

Christian Borntraeger (9):
      KVM: s390: add vector enhancements facility 2 to cpumodel
      KVM: s390: add vector BCD enhancements facility to cpumodel
      KVM: s390: add MSA9 to cpumodel
      KVM: s390: provide query function for instructions returning 32 byte
      KVM: s390: add enhanced sort facilty to cpu model
      KVM: s390: add deflate conversion facilty to cpu model
      KVM: s390: enable MSA9 keywrapping functions depending on cpu model
      KVM: polling: add architecture backend to disable polling
      KVM: s390: provide kvm_arch_no_poll function

Colin Ian King (1):
      KVM: PPC: Book3S HV: XIVE: Fix spelling mistake "acessing" -> "accessing"

Cédric Le Goater (18):
      powerpc/xive: add OPAL extensions for the XIVE native exploitation support
      KVM: PPC: Book3S HV: Add a new KVM device for the XIVE native exploitation mode
      KVM: PPC: Book3S HV: XIVE: Introduce a new capability KVM_CAP_PPC_IRQ_XIVE
      KVM: PPC: Book3S HV: XIVE: add a control to initialize a source
      KVM: PPC: Book3S HV: XIVE: Add a control to configure a source
      KVM: PPC: Book3S HV: XIVE: Add controls for the EQ configuration
      KVM: PPC: Book3S HV: XIVE: Add a global reset control
      KVM: PPC: Book3S HV: XIVE: Add a control to sync the sources
      KVM: PPC: Book3S HV: XIVE: Add a control to dirty the XIVE EQ pages
      KVM: PPC: Book3S HV: XIVE: Add get/set accessors for the VP XIVE state
      KVM: Introduce a 'mmap' method for KVM devices
      KVM: PPC: Book3S HV: XIVE: Add a TIMA mapping
      KVM: PPC: Book3S HV: XIVE: Add a mapping for the source ESB pages
      KVM: PPC: Book3S HV: XIVE: Add passthrough support
      KVM: PPC: Book3S HV: XIVE: Activate XIVE exploitation mode
      KVM: Introduce a 'release' method for KVM devices
      KVM: PPC: Book3S HV: XIVE: Replace the 'destroy' method by a 'release' method
      KVM: PPC: Book3S: Remove useless checks in 'release' method of KVM device

Dan Carpenter (1):
      KVM: vmx: clean up some debug output

Dave Martin (41):
      KVM: Documentation: Document arm64 core registers in detail
      arm64: fpsimd: Always set TIF_FOREIGN_FPSTATE on task state flush
      KVM: arm64: Delete orphaned declaration for __fpsimd_enabled()
      KVM: arm64: Refactor kvm_arm_num_regs() for easier maintenance
      KVM: arm64: Add missing #includes to kvm_host.h
      arm64/sve: Clarify role of the VQ map maintenance functions
      arm64/sve: Check SVE virtualisability
      arm64/sve: Enable SVE state tracking for non-task contexts
      KVM: arm64: Add a vcpu flag to control SVE visibility for the guest
      KVM: arm64: Propagate vcpu into read_id_reg()
      KVM: arm64: Support runtime sysreg visibility filtering
      KVM: arm64/sve: System register context switch and access support
      KVM: arm64/sve: Context switch the SVE registers
      KVM: Allow 2048-bit register access via ioctl interface
      KVM: arm64: Add missing #include of <linux/string.h> in guest.c
      KVM: arm64: Factor out core register ID enumeration
      KVM: arm64: Reject ioctl access to FPSIMD V-regs on SVE vcpus
      KVM: arm64/sve: Add SVE support to register access ioctl interface
      KVM: arm64: Enumerate SVE register indices for KVM_GET_REG_LIST
      arm64/sve: In-kernel vector length availability query interface
      KVM: arm/arm64: Add hook for arch-specific KVM initialisation
      KVM: arm/arm64: Add KVM_ARM_VCPU_FINALIZE ioctl
      KVM: arm64/sve: Add pseudo-register for the guest's vector lengths
      KVM: arm64/sve: Allow userspace to enable SVE for vcpus
      KVM: arm64: Add a capability to advertise SVE support
      KVM: Document errors for KVM_GET_ONE_REG and KVM_SET_ONE_REG
      KVM: arm64/sve: Document KVM API extensions for SVE
      arm64/sve: Clarify vq map semantics
      KVM: arm/arm64: Demote kvm_arm_init_arch_resources() to just set up SVE
      KVM: arm: Make vcpu finalization stubs into inline functions
      KVM: arm64/sve: sys_regs: Demote redundant vcpu_has_sve() checks to WARNs
      KVM: arm64/sve: Clean up UAPI register ID definitions
      KVM: arm64/sve: Miscellaneous tidyups in guest.c
      KVM: arm64/sve: Make register ioctl access errors more consistent
      KVM: arm64/sve: WARN when avoiding divide-by-zero in sve_reg_to_region()
      KVM: arm64/sve: Simplify KVM_REG_ARM64_SVE_VLS array sizing
      KVM: arm64/sve: Explain validity checks in set_sve_vls()
      KVM: arm/arm64: Clean up vcpu finalization function parameter naming
      KVM: Clarify capability requirements for KVM_ARM_VCPU_FINALIZE
      KVM: Clarify KVM_{SET,GET}_ONE_REG error code documentation
      KVM: arm64: Clarify access behaviour for out-of-range SVE register slice IDs

Eric Farman (1):
      KVM: s390: Fix potential spectre warnings

Filippo Sironi (1):
      X86/KVM: Handle PFNs outside of kernel reach when touching GPTEs

Jiang Biao (1):
      kvm_main: fix some comments

Kai Huang (1):
      kvm: x86: Fix L1TF mitigation for shadow MMU

KarimAllah Ahmed (13):
      X86/nVMX: handle_vmon: Read 4 bytes from guest memory
      X86/nVMX: Update the PML table without mapping and unmapping the page
      KVM: Introduce a new guest mapping API
      X86/nVMX: handle_vmptrld: Use kvm_vcpu_map when copying VMCS12 from guest memory
      KVM/nVMX: Use kvm_vcpu_map when mapping the L1 MSR bitmap
      KVM/nVMX: Use kvm_vcpu_map when mapping the virtual APIC page
      KVM/nVMX: Use kvm_vcpu_map when mapping the posted interrupt descriptor table
      KVM/X86: Use kvm_vcpu_map in emulator_cmpxchg_emulated
      KVM/nSVM: Use the new mapping API for mapping guest memory
      KVM/nVMX: Use kvm_vcpu_map for accessing the shadow VMCS
      KVM/nVMX: Use kvm_vcpu_map for accessing the enlightened VMCS
      KVM/nVMX: Use page_address_valid in a few more locations
      kvm, x86: Properly check whether a pfn is an MMIO or not

Krish Sadhukhan (2):
      kvm: nVMX: Check "load IA32_PAT" VM-exit control on vmentry
      kvm: nVMX: Check "load IA32_PAT" VM-entry control on vmentry

Kristina Martsenko (1):
      KVM: arm64: Fix ptrauth ID register masking logic

Liran Alon (1):
      KVM: VMX: Nop emulation of MSR_IA32_POWER_CTL

Luwei Kang (2):
      KVM: x86: Inject PMI for KVM guest
      KVM: x86: Add support of clear Trace_ToPA_PMI status

Marc Zyngier (1):
      arm64: KVM: Fix system register enumeration

Mark Rutland (1):
      KVM: arm/arm64: Context-switch ptrauth registers

Michael Neuling (1):
      powerpc: Add force enable of DAWR on P9 option

Palmer Dabbelt (1):
      KVM: PPC: Book3S HV: smb->smp comment fixup

Paolo Bonzini (10):
      KVM: vmx: print more APICv fields in dump_vmcs
      KVM: x86: clear VM_EXIT_SAVE_IA32_PAT
      KVM: x86: optimize check for valid PAT value
      KVM: nVMX: Return -EINVAL when signaling failure in pre-VM-Entry helpers
      kvm: move KVM_CAP_NR_MEMSLOTS to common code
      Merge tag 'kvm-s390-next-5.2-1' of git:// into HEAD
      KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned size
      KVM: x86: use direct accessors for RIP and RSP
      Merge tag 'kvm-ppc-next-5.2-2' of git:// into HEAD
      Merge tag 'kvmarm-for-v5.2' of git:// into HEAD

Paul Mackerras (7):
      KVM: PPC: Book3S HV: Fix XICS-on-XIVE H_IPI when priority = 0
      KVM: PPC: Book3S HV: Move HPT guest TLB flushing to C code
      KVM: PPC: Book3S HV: Flush TLB on secondary radix threads
      Merge remote-tracking branch 'remotes/powerpc/topic/ppc-kvm' into kvm-ppc-next
      KVM: PPC: Book3S HV: XIVE: Prevent races when releasing device
      KVM: PPC: Book3S HV: XIVE: Clear escalation interrupt pointers on device close
      KVM: PPC: Book3S HV: Make sure to load LPID for radix VCPUs

Peter Xu (3):
      KVM: Fix the bitmap range to copy during clear dirty
      KVM: Fix kvm_clear_dirty_log_protect off-by-(minus-)one

Pierre Morel (2):
      KVM: s390: vsie: Do not shadow CRYCB when no AP and no keys
      KVM: s390: vsie: Return correct values for Invalid CRYCB format

Radim Krčmář (1):
      Revert "KVM: doc: Document the life cycle of a VM and its resources"

Sean Christopherson (15):
      KVM: nVMX: Move guest non-reg state checks to VM-Exit path
      KVM: nVMX: Rename and split top-level consistency checks to match SDM
      KVM: nVMX: Return -EINVAL when signaling failure in VM-Entry helpers
      KVM: x86: Skip EFER vs. guest CPUID checks for host-initiated writes
      KVM: x86: Inject #GP if guest attempts to set unsupported EFER bits
      KVM: lapic: Busy wait for timer to expire when using hv_timer
      KVM: lapic: Explicitly cancel the hv timer if it's pre-expired
      KVM: lapic: Refactor ->set_hv_timer to use an explicit expired param
      KVM: lapic: Check for a pending timer intr prior to start_hv_timer()
      KVM: VMX: Skip delta_tsc shift-and-divide if the dividend is zero
      KVM: VMX: Include architectural defs header in capabilities.h
      KVM: x86: Omit caching logic for always-available GPRs
      KVM: VMX: Use accessors for GPRs outside of dedicated caching logic
      KVM: nVMX: Disable intercept for FS/GS base MSRs in vmcs02 when possible
      Revert "KVM: nVMX: Expose RDPMC-exiting only when guest supports PMU"

Suraj Jitindar Singh (4):
      KVM: PPC: Book3S HV: Implement virtual mode H_PAGE_INIT handler
      KVM: PPC: Book3S HV: Implement real mode H_PAGE_INIT handler
      KVM: PPC: Book3S HV: Handle virtual mode in XIVE VCPU push code
      KVM: PPC: Book3S HV: Save/restore vrsave register in kvmhv_p9_guest_entry()

 Documentation/arm64/perf.txt                       |   85 ++
 Documentation/arm64/pointer-authentication.txt     |   22 +-
 Documentation/powerpc/DAWR-POWER9.txt              |   32 +
 Documentation/virtual/kvm/api.txt                  |  230 +++-
 Documentation/virtual/kvm/devices/vm.txt           |    3 +-
 Documentation/virtual/kvm/devices/xive.txt         |  197 +++
 arch/arm/include/asm/kvm_emulate.h                 |    2 +
 arch/arm/include/asm/kvm_host.h                    |   26 +-
 arch/arm64/Kconfig                                 |    6 +-
 arch/arm64/include/asm/fpsimd.h                    |   29 +-
 arch/arm64/include/asm/kvm_asm.h                   |    3 +-
 arch/arm64/include/asm/kvm_emulate.h               |   16 +
 arch/arm64/include/asm/kvm_host.h                  |  101 +-
 arch/arm64/include/asm/kvm_hyp.h                   |    1 -
 arch/arm64/include/asm/kvm_ptrauth.h               |  111 ++
 arch/arm64/include/asm/sysreg.h                    |    3 +
 arch/arm64/include/uapi/asm/kvm.h                  |   43 +
 arch/arm64/kernel/asm-offsets.c                    |    7 +
 arch/arm64/kernel/cpufeature.c                     |    2 +-
 arch/arm64/kernel/fpsimd.c                         |  179 ++-
 arch/arm64/kernel/perf_event.c                     |   50 +-
 arch/arm64/kernel/signal.c                         |    5 -
 arch/arm64/kvm/Makefile                            |    2 +-
 arch/arm64/kvm/fpsimd.c                            |   17 +-
 arch/arm64/kvm/guest.c                             |  415 ++++++-
 arch/arm64/kvm/handle_exit.c                       |   36 +-
 arch/arm64/kvm/hyp/entry.S                         |   15 +
 arch/arm64/kvm/hyp/switch.c                        |   80 +-
 arch/arm64/kvm/pmu.c                               |  239 ++++
 arch/arm64/kvm/reset.c                             |  167 ++-
 arch/arm64/kvm/sys_regs.c                          |  183 ++-
 arch/arm64/kvm/sys_regs.h                          |   25 +
 arch/powerpc/include/asm/hw_breakpoint.h           |    8 +
 arch/powerpc/include/asm/kvm_host.h                |   11 +-
 arch/powerpc/include/asm/kvm_ppc.h                 |   41 +-
 arch/powerpc/include/asm/opal-api.h                |    7 +-
 arch/powerpc/include/asm/opal.h                    |    7 +
 arch/powerpc/include/asm/xive.h                    |   17 +
 arch/powerpc/include/uapi/asm/kvm.h                |   46 +
 arch/powerpc/kernel/hw_breakpoint.c                |   62 +-
 arch/powerpc/kernel/process.c                      |    9 +-
 arch/powerpc/kernel/ptrace.c                       |    3 +-
 arch/powerpc/kvm/Makefile                          |    2 +-
 arch/powerpc/kvm/book3s.c                          |   42 +-
 arch/powerpc/kvm/book3s_64_vio.c                   |  102 +-
 arch/powerpc/kvm/book3s_64_vio_hv.c                |  105 +-
 arch/powerpc/kvm/book3s_hv.c                       |  159 ++-
 arch/powerpc/kvm/book3s_hv_builtin.c               |   57 +
 arch/powerpc/kvm/book3s_hv_rm_mmu.c                |  144 +++
 arch/powerpc/kvm/book3s_hv_rmhandlers.S            |  109 +-
 arch/powerpc/kvm/book3s_xive.c                     |  250 +++-
 arch/powerpc/kvm/book3s_xive.h                     |   37 +
 arch/powerpc/kvm/book3s_xive_native.c              | 1249 ++++++++++++++++++++
 arch/powerpc/kvm/book3s_xive_template.c            |   78 +-
 arch/powerpc/kvm/powerpc.c                         |   40 +-
 arch/powerpc/platforms/powernv/opal-call.c         |    3 +
 arch/powerpc/sysdev/xive/native.c                  |  110 ++
 arch/s390/include/asm/cpacf.h                      |    1 +
 arch/s390/include/asm/kvm_host.h                   |    2 +
 arch/s390/include/uapi/asm/kvm.h                   |    5 +-
 arch/s390/kvm/Kconfig                              |    1 +
 arch/s390/kvm/interrupt.c                          |   11 +-
 arch/s390/kvm/kvm-s390.c                           |  120 +-
 arch/s390/kvm/vsie.c                               |   13 +-
 arch/s390/tools/gen_facilities.c                   |    3 +
 arch/x86/events/intel/core.c                       |    6 +-
 arch/x86/include/asm/e820/api.h                    |    1 +
 arch/x86/include/asm/kvm_host.h                    |    7 +-
 arch/x86/include/asm/msr-index.h                   |    8 +
 arch/x86/kernel/e820.c                             |   18 +-
 arch/x86/kvm/cpuid.c                               |   12 +-
 arch/x86/kvm/hyperv.c                              |   24 +-
 arch/x86/kvm/kvm_cache_regs.h                      |   42 +-
 arch/x86/kvm/lapic.c                               |   38 +-
 arch/x86/kvm/mmu.c                                 |   23 +-
 arch/x86/kvm/mtrr.c                                |   10 +-
 arch/x86/kvm/paging_tmpl.h                         |   38 +-
 arch/x86/kvm/svm.c                                 |  128 +-
 arch/x86/kvm/vmx/capabilities.h                    |    2 +
 arch/x86/kvm/vmx/nested.c                          |  348 +++---
 arch/x86/kvm/vmx/pmu_intel.c                       |    8 +-
 arch/x86/kvm/vmx/vmx.c                             |   90 +-
 arch/x86/kvm/vmx/vmx.h                             |   11 +-
 arch/x86/kvm/x86.c                                 |  199 ++--
 arch/x86/kvm/x86.h                                 |   10 +
 include/linux/kvm_host.h                           |   48 +
 include/linux/perf_event.h                         |    1 +
 include/uapi/linux/kvm.h                           |   15 +-
 tools/arch/s390/include/uapi/asm/kvm.h             |    3 +-
 tools/testing/selftests/kvm/.gitignore             |    7 +-
 tools/testing/selftests/kvm/Makefile               |    2 +
 tools/testing/selftests/kvm/dirty_log_test.c       |    8 +-
 tools/testing/selftests/kvm/include/kvm_util.h     |    4 +
 tools/testing/selftests/kvm/lib/kvm_util.c         |   32 +
 .../selftests/kvm/x86_64/kvm_create_max_vcpus.c    |   70 ++
 .../kvm/x86_64/vmx_set_nested_state_test.c         |  280 +++++
 virt/kvm/Kconfig                                   |    3 +
 virt/kvm/arm/arm.c                                 |   43 +-
 virt/kvm/kvm_main.c                                |  108 +-
 99 files changed, 5838 insertions(+), 995 deletions(-)
 create mode 100644 Documentation/arm64/perf.txt
 create mode 100644 Documentation/virtual/kvm/devices/xive.txt
 create mode 100644 arch/arm64/include/asm/kvm_ptrauth.h
 create mode 100644 arch/arm64/kvm/pmu.c
 create mode 100644 arch/powerpc/kvm/book3s_xive_native.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/kvm_create_max_vcpus.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/vmx_set_nested_state_test.c

Powered by blists - more mailing lists