Skip to content
  1. Oct 27, 2021
  2. Oct 25, 2021
  3. Oct 20, 2021
  4. Sep 28, 2021
  5. Sep 27, 2021
    • Zhenzhong Duan's avatar
      KVM: VMX: Fix a TSX_CTRL_CPUID_CLEAR field mask issue · 5c49d185
      Zhenzhong Duan authored
      When updating the host's mask for its MSR_IA32_TSX_CTRL user return entry,
      clear the mask in the found uret MSR instead of vmx->guest_uret_msrs[i].
      Modifying guest_uret_msrs directly is completely broken as 'i' does not
      point at the MSR_IA32_TSX_CTRL entry.  In fact, it's guaranteed to be an
      out-of-bounds accesses as is always set to kvm_nr_uret_msrs in a prior
      loop. By sheer dumb luck, the fallout is limited to "only" failing to
      preserve the host's TSX_CTRL_CPUID_CLEAR.  The out-of-bounds access is
      benign as it's guaranteed to clear a bit in a guest MSR value, which are
      always zero at vCPU creation on both x86-64 and i386.
      
      Cc: stable@vger.kernel.org
      Fixes: 8ea8b8d6
      
       ("KVM: VMX: Use common x86's uret MSR list as the one true list")
      Signed-off-by: default avatarZhenzhong Duan <zhenzhong.duan@intel.com>
      Reviewed-by: default avatarSean Christopherson <seanjc@google.com>
      Message-Id: <20210926015545.281083-1-zhenzhong.duan@intel.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      5c49d185
  6. Sep 24, 2021
    • Paolo Bonzini's avatar
      Merge tag 'kvmarm-fixes-5.15-1' of... · 50b07818
      Paolo Bonzini authored
      Merge tag 'kvmarm-fixes-5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master
      
      KVM/arm64 fixes for 5.15, take #1
      
      - Add missing FORCE target when building the EL2 object
      - Fix a PMU probe regression on some platforms
      50b07818
    • Oliver Upton's avatar
      selftests: KVM: Explicitly use movq to read xmm registers · 386ca9d7
      Oliver Upton authored
      Compiling the KVM selftests with clang emits the following warning:
      
      >> include/x86_64/processor.h:297:25: error: variable 'xmm0' is uninitialized when used here [-Werror,-Wuninitialized]
      >>                return (unsigned long)xmm0;
      
      where xmm0 is accessed via an uninitialized register variable.
      
      Indeed, this is a misuse of register variables, which really should only
      be used for specifying register constraints on variables passed to
      inline assembly. Rather than attempting to read xmm registers via
      register variables, just explicitly perform the movq from the desired
      xmm register.
      
      Fixes: 783e9e51
      
       ("kvm: selftests: add API testing infrastructure")
      Signed-off-by: default avatarOliver Upton <oupton@google.com>
      Message-Id: <20210924005147.1122357-1-oupton@google.com>
      Reviewed-by: default avatarRicardo Koller <ricarkol@google.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      386ca9d7
    • Oliver Upton's avatar
      selftests: KVM: Call ucall_init when setting up in rseq_test · fbf094ce
      Oliver Upton authored
      While x86 does not require any additional setup to use the ucall
      infrastructure, arm64 needs to set up the MMIO address used to signal a
      ucall to userspace. rseq_test does not initialize the MMIO address,
      resulting in the test spinning indefinitely.
      
      Fix the issue by calling ucall_init() during setup.
      
      Fixes: 61e52f16
      
       ("KVM: selftests: Add a test for KVM_RUN+rseq to detect task migration bugs")
      Signed-off-by: default avatarOliver Upton <oupton@google.com>
      Message-Id: <20210923220033.4172362-1-oupton@google.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      fbf094ce
  7. Sep 23, 2021
  8. Sep 22, 2021