mbox series

[SRU,Xenial,PULL] x86/kvm: Backport fixup and missing commits (LP: #1811646)

Message ID 20190115072549.10198-1-juergh@canonical.com
State New
Headers show
Series [SRU,Xenial,PULL] x86/kvm: Backport fixup and missing commits (LP: #1811646) | expand

Pull-request

git://git.launchpad.net/~juergh/+git/xenial-linux lp1811646

Message

Juerg Haefliger Jan. 15, 2019, 7:25 a.m. UTC
== SRU Justification ==

The update to stable 4.4.168 contains a couple of x86/kvm related commits that have later fixup commits in upstream. Also, there are a couple of commits in stable 4.4. that we're missing.

== Fix ==

Cherry-pick or backport the relevant commits.

== Regression Potential ==

Low. The relevant commits have been in upstream for quite a while.

== Test Case ==

Not available. It's unclear what the impact is of not having those fixups but it's clear from upstream's commit messages that they fix real issues.

Compile-tested all architectres. Ran release regression tests (locally).

Signed-off-by: Juerg Haefliger <juergh@canonical.com>
---

The following changes since commit 6aea40b78942cf00d2c8a9e2e204e7950f988a10:

  Linux 4.4.170 (2019-01-14 09:43:46 +0100)

are available in the Git repository at:

  git://git.launchpad.net/~juergh/+git/xenial-linux lp1811646

for you to fetch changes up to 04474027f01c02570ab512b0a127ad1e377e220d:

  UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent (2019-01-14 13:07:48 +0100)

----------------------------------------------------------------
Jim Mattson (4):
      kvm: nVMX: VMCLEAR an active shadow VMCS after last use
      kvm: x86: IA32_ARCH_CAPABILITIES is always supported
      kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb
      kvm: vmx: Scrub hardware GPRs at VM-exit

Juerg Haefliger (2):
      UBUNTU: SAUCE: [Fix] x86/KVM/VMX: Add L1D flush logic
      UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent

KarimAllah Ahmed (1):
      X86/nVMX: Properly set spec_ctrl and pred_cmd before merging MSRs

Paolo Bonzini (3):
      KVM: x86: avoid vmalloc(0) in the KVM_SET_CPUID
      KVM/VMX: Optimize vmx_vcpu_run() and svm_vcpu_run() by marking the RDMSR path as unlikely()
      KVM: VMX: fixes for vmentry_l1d_flush module parameter

Thomas Gleixner (1):
      KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled

Tom Lendacky (1):
      KVM: SVM: Add MSR-based feature support for serializing LFENCE

Wanpeng Li (1):
      KVM: X86: Allow userspace to define the microcode version

 arch/x86/include/asm/kvm_host.h |  1 +
 arch/x86/kvm/cpuid.c            | 27 +++++++-----
 arch/x86/kvm/cpuid.h            | 44 ++++++++++----------
 arch/x86/kvm/svm.c              | 91 ++++++++++++++++++++++++++++++++++-------
 arch/x86/kvm/vmx.c              | 78 +++++++++++++++++++++++------------
 arch/x86/kvm/x86.c              | 12 +++++-
 6 files changed, 179 insertions(+), 74 deletions(-)

Comments

Stefan Bader Feb. 1, 2019, 8:56 a.m. UTC | #1
On 15.01.19 08:25, Juerg Haefliger wrote:
> == SRU Justification ==
> 
> The update to stable 4.4.168 contains a couple of x86/kvm related commits that have later fixup commits in upstream. Also, there are a couple of commits in stable 4.4. that we're missing.
> 
> == Fix ==
> 
> Cherry-pick or backport the relevant commits.
> 
> == Regression Potential ==
> 
> Low. The relevant commits have been in upstream for quite a while.
> 
> == Test Case ==
> 
> Not available. It's unclear what the impact is of not having those fixups but it's clear from upstream's commit messages that they fix real issues.
> 
> Compile-tested all architectres. Ran release regression tests (locally).
> 
> Signed-off-by: Juerg Haefliger <juergh@canonical.com>
> ---
> 
> The following changes since commit 6aea40b78942cf00d2c8a9e2e204e7950f988a10:
> 
>   Linux 4.4.170 (2019-01-14 09:43:46 +0100)
> 
> are available in the Git repository at:
> 
>   git://git.launchpad.net/~juergh/+git/xenial-linux lp1811646
> 
> for you to fetch changes up to 04474027f01c02570ab512b0a127ad1e377e220d:
> 
>   UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent (2019-01-14 13:07:48 +0100)
> 
> ----------------------------------------------------------------
> Jim Mattson (4):
>       kvm: nVMX: VMCLEAR an active shadow VMCS after last use
>       kvm: x86: IA32_ARCH_CAPABILITIES is always supported
>       kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb
>       kvm: vmx: Scrub hardware GPRs at VM-exit
> 
> Juerg Haefliger (2):
>       UBUNTU: SAUCE: [Fix] x86/KVM/VMX: Add L1D flush logic
>       UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent
> 
> KarimAllah Ahmed (1):
>       X86/nVMX: Properly set spec_ctrl and pred_cmd before merging MSRs
> 
> Paolo Bonzini (3):
>       KVM: x86: avoid vmalloc(0) in the KVM_SET_CPUID
>       KVM/VMX: Optimize vmx_vcpu_run() and svm_vcpu_run() by marking the RDMSR path as unlikely()
>       KVM: VMX: fixes for vmentry_l1d_flush module parameter
> 
> Thomas Gleixner (1):
>       KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled
> 
> Tom Lendacky (1):
>       KVM: SVM: Add MSR-based feature support for serializing LFENCE
> 
> Wanpeng Li (1):
>       KVM: X86: Allow userspace to define the microcode version
> 
>  arch/x86/include/asm/kvm_host.h |  1 +
>  arch/x86/kvm/cpuid.c            | 27 +++++++-----
>  arch/x86/kvm/cpuid.h            | 44 ++++++++++----------
>  arch/x86/kvm/svm.c              | 91 ++++++++++++++++++++++++++++++++++-------
>  arch/x86/kvm/vmx.c              | 78 +++++++++++++++++++++++------------
>  arch/x86/kvm/x86.c              | 12 +++++-
>  6 files changed, 179 insertions(+), 74 deletions(-)
> 
Mainly based on testing and it being limited to kvm. Speaking of, your testing,
was that done inside of VMs running on a modified host? And Intel CPU only or
also AMD`(for the svm changes)?

Acked-by: Stefan Bader <stefan.bader@canonical.com>
Juerg Haefliger Feb. 4, 2019, 11:40 a.m. UTC | #2
On Fri, 1 Feb 2019 09:56:06 +0100
Stefan Bader <stefan.bader@canonical.com> wrote:

> On 15.01.19 08:25, Juerg Haefliger wrote:
> > == SRU Justification ==
> > 
> > The update to stable 4.4.168 contains a couple of x86/kvm related commits that have later fixup commits in upstream. Also, there are a couple of commits in stable 4.4. that we're missing.
> > 
> > == Fix ==
> > 
> > Cherry-pick or backport the relevant commits.
> > 
> > == Regression Potential ==
> > 
> > Low. The relevant commits have been in upstream for quite a while.
> > 
> > == Test Case ==
> > 
> > Not available. It's unclear what the impact is of not having those fixups but it's clear from upstream's commit messages that they fix real issues.
> > 
> > Compile-tested all architectres. Ran release regression tests (locally).
> > 
> > Signed-off-by: Juerg Haefliger <juergh@canonical.com>
> > ---
> > 
> > The following changes since commit 6aea40b78942cf00d2c8a9e2e204e7950f988a10:
> > 
> >   Linux 4.4.170 (2019-01-14 09:43:46 +0100)
> > 
> > are available in the Git repository at:
> > 
> >   git://git.launchpad.net/~juergh/+git/xenial-linux lp1811646
> > 
> > for you to fetch changes up to 04474027f01c02570ab512b0a127ad1e377e220d:
> > 
> >   UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent (2019-01-14 13:07:48 +0100)
> > 
> > ----------------------------------------------------------------
> > Jim Mattson (4):
> >       kvm: nVMX: VMCLEAR an active shadow VMCS after last use
> >       kvm: x86: IA32_ARCH_CAPABILITIES is always supported
> >       kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb
> >       kvm: vmx: Scrub hardware GPRs at VM-exit
> > 
> > Juerg Haefliger (2):
> >       UBUNTU: SAUCE: [Fix] x86/KVM/VMX: Add L1D flush logic
> >       UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent
> > 
> > KarimAllah Ahmed (1):
> >       X86/nVMX: Properly set spec_ctrl and pred_cmd before merging MSRs
> > 
> > Paolo Bonzini (3):
> >       KVM: x86: avoid vmalloc(0) in the KVM_SET_CPUID
> >       KVM/VMX: Optimize vmx_vcpu_run() and svm_vcpu_run() by marking the RDMSR path as unlikely()
> >       KVM: VMX: fixes for vmentry_l1d_flush module parameter
> > 
> > Thomas Gleixner (1):
> >       KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled
> > 
> > Tom Lendacky (1):
> >       KVM: SVM: Add MSR-based feature support for serializing LFENCE
> > 
> > Wanpeng Li (1):
> >       KVM: X86: Allow userspace to define the microcode version
> > 
> >  arch/x86/include/asm/kvm_host.h |  1 +
> >  arch/x86/kvm/cpuid.c            | 27 +++++++-----
> >  arch/x86/kvm/cpuid.h            | 44 ++++++++++----------
> >  arch/x86/kvm/svm.c              | 91 ++++++++++++++++++++++++++++++++++-------
> >  arch/x86/kvm/vmx.c              | 78 +++++++++++++++++++++++------------
> >  arch/x86/kvm/x86.c              | 12 +++++-
> >  6 files changed, 179 insertions(+), 74 deletions(-)
> >   
> Mainly based on testing and it being limited to kvm. Speaking of, your testing,
> was that done inside of VMs running on a modified host?

Just running the release regression tests on a local baremetal Xeon system.
Quite frankly I'm not sure how much that exercises the relevant KVM portion of
the kernel.


> And Intel CPU only or
> also AMD`(for the svm changes)?

Intel only.

...Juerg



> Acked-by: Stefan Bader <stefan.bader@canonical.com>
>
Kleber Sacilotto de Souza Feb. 4, 2019, 12:25 p.m. UTC | #3
On 1/15/19 8:25 AM, Juerg Haefliger wrote:
> == SRU Justification ==
>
> The update to stable 4.4.168 contains a couple of x86/kvm related commits that have later fixup commits in upstream. Also, there are a couple of commits in stable 4.4. that we're missing.
>
> == Fix ==
>
> Cherry-pick or backport the relevant commits.
>
> == Regression Potential ==
>
> Low. The relevant commits have been in upstream for quite a while.
>
> == Test Case ==
>
> Not available. It's unclear what the impact is of not having those fixups but it's clear from upstream's commit messages that they fix real issues.
>
> Compile-tested all architectres. Ran release regression tests (locally).
>
> Signed-off-by: Juerg Haefliger <juergh@canonical.com>
> ---
>
> The following changes since commit 6aea40b78942cf00d2c8a9e2e204e7950f988a10:
>
>   Linux 4.4.170 (2019-01-14 09:43:46 +0100)
>
> are available in the Git repository at:
>
>   git://git.launchpad.net/~juergh/+git/xenial-linux lp1811646
>
> for you to fetch changes up to 04474027f01c02570ab512b0a127ad1e377e220d:
>
>   UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent (2019-01-14 13:07:48 +0100)
>
> ----------------------------------------------------------------
> Jim Mattson (4):
>       kvm: nVMX: VMCLEAR an active shadow VMCS after last use
>       kvm: x86: IA32_ARCH_CAPABILITIES is always supported
>       kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb
>       kvm: vmx: Scrub hardware GPRs at VM-exit
>
> Juerg Haefliger (2):
>       UBUNTU: SAUCE: [Fix] x86/KVM/VMX: Add L1D flush logic
>       UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent
>
> KarimAllah Ahmed (1):
>       X86/nVMX: Properly set spec_ctrl and pred_cmd before merging MSRs
>
> Paolo Bonzini (3):
>       KVM: x86: avoid vmalloc(0) in the KVM_SET_CPUID
>       KVM/VMX: Optimize vmx_vcpu_run() and svm_vcpu_run() by marking the RDMSR path as unlikely()
>       KVM: VMX: fixes for vmentry_l1d_flush module parameter
>
> Thomas Gleixner (1):
>       KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled
>
> Tom Lendacky (1):
>       KVM: SVM: Add MSR-based feature support for serializing LFENCE
>
> Wanpeng Li (1):
>       KVM: X86: Allow userspace to define the microcode version
>
>  arch/x86/include/asm/kvm_host.h |  1 +
>  arch/x86/kvm/cpuid.c            | 27 +++++++-----
>  arch/x86/kvm/cpuid.h            | 44 ++++++++++----------
>  arch/x86/kvm/svm.c              | 91 ++++++++++++++++++++++++++++++++++-------
>  arch/x86/kvm/vmx.c              | 78 +++++++++++++++++++++++------------
>  arch/x86/kvm/x86.c              | 12 +++++-
>  6 files changed, 179 insertions(+), 74 deletions(-)
>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Kleber Sacilotto de Souza Feb. 5, 2019, 9:40 a.m. UTC | #4
On 1/15/19 8:25 AM, Juerg Haefliger wrote:
> == SRU Justification ==
>
> The update to stable 4.4.168 contains a couple of x86/kvm related commits that have later fixup commits in upstream. Also, there are a couple of commits in stable 4.4. that we're missing.
>
> == Fix ==
>
> Cherry-pick or backport the relevant commits.
>
> == Regression Potential ==
>
> Low. The relevant commits have been in upstream for quite a while.
>
> == Test Case ==
>
> Not available. It's unclear what the impact is of not having those fixups but it's clear from upstream's commit messages that they fix real issues.
>
> Compile-tested all architectres. Ran release regression tests (locally).
>
> Signed-off-by: Juerg Haefliger <juergh@canonical.com>
> ---
>
> The following changes since commit 6aea40b78942cf00d2c8a9e2e204e7950f988a10:
>
>   Linux 4.4.170 (2019-01-14 09:43:46 +0100)
>
> are available in the Git repository at:
>
>   git://git.launchpad.net/~juergh/+git/xenial-linux lp1811646
>
> for you to fetch changes up to 04474027f01c02570ab512b0a127ad1e377e220d:
>
>   UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent (2019-01-14 13:07:48 +0100)
>
> ----------------------------------------------------------------
> Jim Mattson (4):
>       kvm: nVMX: VMCLEAR an active shadow VMCS after last use
>       kvm: x86: IA32_ARCH_CAPABILITIES is always supported
>       kvm: svm: Ensure an IBPB on all affected CPUs when freeing a vmcb
>       kvm: vmx: Scrub hardware GPRs at VM-exit
>
> Juerg Haefliger (2):
>       UBUNTU: SAUCE: [Fix] x86/KVM/VMX: Add L1D flush logic
>       UBUNTU: SAUCE: KVM: Move code fragments, cleanup and re-indent
>
> KarimAllah Ahmed (1):
>       X86/nVMX: Properly set spec_ctrl and pred_cmd before merging MSRs
>
> Paolo Bonzini (3):
>       KVM: x86: avoid vmalloc(0) in the KVM_SET_CPUID
>       KVM/VMX: Optimize vmx_vcpu_run() and svm_vcpu_run() by marking the RDMSR path as unlikely()
>       KVM: VMX: fixes for vmentry_l1d_flush module parameter
>
> Thomas Gleixner (1):
>       KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled
>
> Tom Lendacky (1):
>       KVM: SVM: Add MSR-based feature support for serializing LFENCE
>
> Wanpeng Li (1):
>       KVM: X86: Allow userspace to define the microcode version
>
>  arch/x86/include/asm/kvm_host.h |  1 +
>  arch/x86/kvm/cpuid.c            | 27 +++++++-----
>  arch/x86/kvm/cpuid.h            | 44 ++++++++++----------
>  arch/x86/kvm/svm.c              | 91 ++++++++++++++++++++++++++++++++++-------
>  arch/x86/kvm/vmx.c              | 78 +++++++++++++++++++++++------------
>  arch/x86/kvm/x86.c              | 12 +++++-
>  6 files changed, 179 insertions(+), 74 deletions(-)
>
Applied to xenial/master-next branch.

Thanks,
Kleber