1. 12 Mar, 2017 38 commits
  2. 26 Feb, 2017 2 commits
    • Greg Kroah-Hartman's avatar
      Linux 4.4.52 · dd4534d8
      Greg Kroah-Hartman authored
      dd4534d8
    • Peter Feiner's avatar
      kvm: vmx: ensure VMCS is current while enabling PML · c171caf7
      Peter Feiner authored
      commit 4e59516a upstream.
      
      Between loading the new VMCS and enabling PML, the CPU was unpinned.
      If the vCPU thread were migrated to another CPU in the interim (e.g.,
      due to preemption or sleeping alloc_page), then the VMWRITEs to enable
      PML would target the wrong VMCS -- or no VMCS at all:
      
        [ 2087.266950] vmwrite error: reg 200e value 3fe1d52000 (err -506126336)
        [ 2087.267062] vmwrite error: reg 812 value 1ff (err 511)
        [ 2087.267125] vmwrite error: reg 401e value 12229c00 (err 304258048)
      
      This patch ensures that the VMCS remains current while enabling PML by
      doing the VMWRITEs while the CPU is pinned. Allocation of the PML buffer
      is hoisted out of the critical section.
      Signed-off-by: default avatarPeter Feiner <pfeiner@google.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Cc: "Herongguang (Stephen)" <herongguang.he@huawei.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c171caf7