• Linus Torvalds's avatar
    Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · d1293776
    Linus Torvalds authored
    Pull kvm fixes from Paolo Bonzini:
     "ARM64:
    
       - Fix the guest view of the ID registers, making the relevant fields
         writable from userspace (affecting ID_AA64DFR0_EL1 and
         ID_AA64PFR1_EL1)
    
       - Correcly expose S1PIE to guests, fixing a regression introduced in
         6.12-rc1 with the S1POE support
    
       - Fix the recycling of stage-2 shadow MMUs by tracking the context
         (are we allowed to block or not) as well as the recycling state
    
       - Address a couple of issues with the vgic when userspace
         misconfigures the emulation, resulting in various splats. Headaches
         courtesy of our Syzkaller friends
    
       - Stop wasting space in the HYP idmap, as we are dangerously close to
         the 4kB limit, and this has already exploded in -next
    
       - Fix another race in vgic_init()
    
       - Fix a UBSAN error when faking the cache topology with MTE enabled
    
      RISCV:
    
       - RISCV: KVM: use raw_spinlock for critical section in imsic
    
      x86:
    
       - A bandaid for lack of XCR0 setup in selftests, which causes trouble
         if the compiler is configured to have x86-64-v3 (with AVX) as the
         default ISA. Proper XCR0 setup will come in the next merge window.
    
       - Fix an issue where KVM would not ignore low bits of the nested CR3
         and potentially leak up to 31 bytes out of the guest memory's
         bounds
    
       - Fix case in which an out-of-date cached value for the segments
         could by returned by KVM_GET_SREGS.
    
       - More cleanups for KVM_X86_QUIRK_SLOT_ZAP_ALL
    
       - Override MTRR state for KVM confidential guests, making it WB by
         default as is already the case for Hyper-V guests.
    
      Generic:
    
       - Remove a couple of unused functions"
    
    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (27 commits)
      RISCV: KVM: use raw_spinlock for critical section in imsic
      KVM: selftests: Fix out-of-bounds reads in CPUID test's array lookups
      KVM: selftests: x86: Avoid using SSE/AVX instructions
      KVM: nSVM: Ignore nCR3[4:0] when loading PDPTEs from memory
      KVM: VMX: reset the segment cache after segment init in vmx_vcpu_reset()
      KVM: x86: Clean up documentation for KVM_X86_QUIRK_SLOT_ZAP_ALL
      KVM: x86/mmu: Add lockdep assert to enforce safe usage of kvm_unmap_gfn_range()
      KVM: x86/mmu: Zap only SPs that shadow gPTEs when deleting memslot
      x86/kvm: Override default caching mode for SEV-SNP and TDX
      KVM: Remove unused kvm_vcpu_gfn_to_pfn_atomic
      KVM: Remove unused kvm_vcpu_gfn_to_pfn
      KVM: arm64: Ensure vgic_ready() is ordered against MMIO registration
      KVM: arm64: vgic: Don't check for vgic_ready() when setting NR_IRQS
      KVM: arm64: Fix shift-out-of-bounds bug
      KVM: arm64: Shave a few bytes from the EL2 idmap code
      KVM: arm64: Don't eagerly teardown the vgic on init error
      KVM: arm64: Expose S1PIE to guests
      KVM: arm64: nv: Clarify safety of allowing TLBI unmaps to reschedule
      KVM: arm64: nv: Punt stage-2 recycling to a vCPU request
      KVM: arm64: nv: Do not block when unmapping stage-2 if disallowed
      ...
    d1293776
kvm_main.c 167 KB