[GIT PULL] KVM/arm64 fixes for 5.12, take #1

2021-03-05 Thread Marc Zyngier
Hi Paolo,

Here's the first batch of fixes for 5.12. We have a handful of low
level world-switch regressions, a page table walker fix, more PMU
tidying up, and a workaround for systems with creative firmware.

Note that this is based on -rc1 despite the breakage, as I didn't feel
like holding these patches until -rc2.

Please pull,

M.

The following changes since commit fe07bfda2fb9cdef8a4d4008a409bb02f35f1bd8:

  Linux 5.12-rc1 (2021-02-28 16:05:19 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git 
tags/kvmarm-fixes-5.12-1

for you to fetch changes up to e85583b3f1fe62c9b371a3100c1c91af94005ca9:

  KVM: arm64: Fix range alignment when walking page tables (2021-03-04 09:54:12 
+)


KVM/arm64 fixes for 5.12, take #1

- Fix SPE context save/restore on nVHE
- Fix some subtle host context corruption on vcpu exit
- Fix panic handling on nVHE
- Prevent the hypervisor from accessing PMU registers when there is none
- Workaround broken firmwares advertising bogus GICv2 compatibility
- Fix Stage-2 unaligned range unmapping


Andrew Scull (1):
  KVM: arm64: Fix nVHE hyp panic host context restore

Jia He (1):
  KVM: arm64: Fix range alignment when walking page tables

Marc Zyngier (4):
  KVM: arm64: Turn kvm_arm_support_pmu_v3() into a static key
  KVM: arm64: Don't access PMSELR_EL0/PMUSERENR_EL0 when no PMU is available
  KVM: arm64: Rename __vgic_v3_get_ich_vtr_el2() to 
__vgic_v3_get_gic_config()
  KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 
compatibility

Suzuki K Poulose (1):
  KVM: arm64: nvhe: Save the SPE context early

Will Deacon (1):
  KVM: arm64: Avoid corrupting vCPU context register in guest exit

 arch/arm64/include/asm/kvm_asm.h|  4 ++--
 arch/arm64/include/asm/kvm_hyp.h|  8 ++-
 arch/arm64/kernel/image-vars.h  |  3 +++
 arch/arm64/kvm/hyp/entry.S  |  2 +-
 arch/arm64/kvm/hyp/include/hyp/switch.h |  9 +---
 arch/arm64/kvm/hyp/nvhe/debug-sr.c  | 12 --
 arch/arm64/kvm/hyp/nvhe/host.S  | 15 +++--
 arch/arm64/kvm/hyp/nvhe/hyp-main.c  |  6 ++---
 arch/arm64/kvm/hyp/nvhe/switch.c| 14 +---
 arch/arm64/kvm/hyp/pgtable.c|  1 +
 arch/arm64/kvm/hyp/vgic-v3-sr.c | 40 +++--
 arch/arm64/kvm/perf.c   | 10 +
 arch/arm64/kvm/pmu-emul.c   | 10 -
 arch/arm64/kvm/vgic/vgic-v3.c   | 12 +++---
 include/kvm/arm_pmu.h   |  9 ++--
 15 files changed, 116 insertions(+), 39 deletions(-)
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm


Re: [GIT PULL] KVM/arm64 fixes for 5.12, take #1

2021-03-05 Thread Paolo Bonzini

On 05/03/21 17:49, Marc Zyngier wrote:

Hi Paolo,

Here's the first batch of fixes for 5.12. We have a handful of low
level world-switch regressions, a page table walker fix, more PMU
tidying up, and a workaround for systems with creative firmware.

Note that this is based on -rc1 despite the breakage, as I didn't feel
like holding these patches until -rc2.

Please pull,

M.

The following changes since commit fe07bfda2fb9cdef8a4d4008a409bb02f35f1bd8:

   Linux 5.12-rc1 (2021-02-28 16:05:19 -0800)

are available in the Git repository at:

   git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git 
tags/kvmarm-fixes-5.12-1

for you to fetch changes up to e85583b3f1fe62c9b371a3100c1c91af94005ca9:

   KVM: arm64: Fix range alignment when walking page tables (2021-03-04 
09:54:12 +)


Hi Marc,

due to a severe data corruption bug in 5.12-rc1, Linus suggested not 
including 5.12-rc1 in trees to avoid it eating our filesystems 
unwittingly during future bisections.


Would it be a problem for you to rebase on top of your merge window pull 
request?  If there are conflicts, another possibility is for you to just 
send me the patch series.  I will handle all the topic branch juggling.


This will mean rewriting kvmarm.git's history, but it does seem to be 
the lesser (or the most future-proof) evil.


Thanks,

Paolo



KVM/arm64 fixes for 5.12, take #1

- Fix SPE context save/restore on nVHE
- Fix some subtle host context corruption on vcpu exit
- Fix panic handling on nVHE
- Prevent the hypervisor from accessing PMU registers when there is none
- Workaround broken firmwares advertising bogus GICv2 compatibility
- Fix Stage-2 unaligned range unmapping


Andrew Scull (1):
   KVM: arm64: Fix nVHE hyp panic host context restore

Jia He (1):
   KVM: arm64: Fix range alignment when walking page tables

Marc Zyngier (4):
   KVM: arm64: Turn kvm_arm_support_pmu_v3() into a static key
   KVM: arm64: Don't access PMSELR_EL0/PMUSERENR_EL0 when no PMU is 
available
   KVM: arm64: Rename __vgic_v3_get_ich_vtr_el2() to 
__vgic_v3_get_gic_config()
   KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 
compatibility

Suzuki K Poulose (1):
   KVM: arm64: nvhe: Save the SPE context early

Will Deacon (1):
   KVM: arm64: Avoid corrupting vCPU context register in guest exit

  arch/arm64/include/asm/kvm_asm.h|  4 ++--
  arch/arm64/include/asm/kvm_hyp.h|  8 ++-
  arch/arm64/kernel/image-vars.h  |  3 +++
  arch/arm64/kvm/hyp/entry.S  |  2 +-
  arch/arm64/kvm/hyp/include/hyp/switch.h |  9 +---
  arch/arm64/kvm/hyp/nvhe/debug-sr.c  | 12 --
  arch/arm64/kvm/hyp/nvhe/host.S  | 15 +++--
  arch/arm64/kvm/hyp/nvhe/hyp-main.c  |  6 ++---
  arch/arm64/kvm/hyp/nvhe/switch.c| 14 +---
  arch/arm64/kvm/hyp/pgtable.c|  1 +
  arch/arm64/kvm/hyp/vgic-v3-sr.c | 40 +++--
  arch/arm64/kvm/perf.c   | 10 +
  arch/arm64/kvm/pmu-emul.c   | 10 -
  arch/arm64/kvm/vgic/vgic-v3.c   | 12 +++---
  include/kvm/arm_pmu.h   |  9 ++--
  15 files changed, 116 insertions(+), 39 deletions(-)



___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm


Re: [GIT PULL] KVM/arm64 fixes for 5.12, take #1

2021-03-05 Thread Marc Zyngier
Hi Paolo,

On Fri, 05 Mar 2021 17:27:36 +,
Paolo Bonzini  wrote:
> 
> On 05/03/21 17:49, Marc Zyngier wrote:
> > Hi Paolo,
> > 
> > Here's the first batch of fixes for 5.12. We have a handful of low
> > level world-switch regressions, a page table walker fix, more PMU
> > tidying up, and a workaround for systems with creative firmware.
> > 
> > Note that this is based on -rc1 despite the breakage, as I didn't feel
> > like holding these patches until -rc2.
> > 
> > Please pull,
> > 
> > M.
> > 
> > The following changes since commit fe07bfda2fb9cdef8a4d4008a409bb02f35f1bd8:
> > 
> >Linux 5.12-rc1 (2021-02-28 16:05:19 -0800)
> > 
> > are available in the Git repository at:
> > 
> >git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git 
> > tags/kvmarm-fixes-5.12-1
> > 
> > for you to fetch changes up to e85583b3f1fe62c9b371a3100c1c91af94005ca9:
> > 
> >KVM: arm64: Fix range alignment when walking page tables (2021-03-04 
> > 09:54:12 +)
> 
> Hi Marc,
> 
> due to a severe data corruption bug in 5.12-rc1, Linus suggested not
> including 5.12-rc1 in trees to avoid it eating our filesystems
> unwittingly during future bisections.
> 
> Would it be a problem for you to rebase on top of your merge window
> pull request?  If there are conflicts, another possibility is for you
> to just send me the patch series.  I will handle all the topic branch
> juggling.
> 
> This will mean rewriting kvmarm.git's history, but it does seem to be
> the lesser (or the most future-proof) evil.

The problem is that this is not only kvmarm, but also the Android
tree, which directly pulls from the kvmarm stable branches. I guess
we'll have to live with it.

I'll reply to this email with the patch series.

Thanks,

M.

-- 
Without deviation from the norm, progress is not possible.
___
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm