mbox series

[0/3] KVM/arm64 fixes for AArch32 handling

Message ID 20240524141956.1450304-1-maz@kernel.org (mailing list archive)
Headers show
Series KVM/arm64 fixes for AArch32 handling | expand

Message

Marc Zyngier May 24, 2024, 2:19 p.m. UTC
The (very much unloved) AArch32 handling has recently been found
lacking in a number of ways:

- Nina spotted a brown paper-bag quality bug in the register narrowing
  code when writing one of the core registers (GPRs, PSTATE) from
  userspace

- We never allowed System mode to be restored. Nobody ever complained,
  but this is wrong nonetheless

- The handling of traps failing their condition check went from dodgy
  to outright broken when the handling of ESR_EL2 was upgraded from 32
  to 64 bit (patch already posted).

All these are stable material, and I plan to merge them after -rc1
is released.

        M.

Marc Zyngier (3):
  KVM: arm64: Fix AArch32 register narrowing on userspace write
  KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode
  KVM: arm64: AArch32: Fix spurious trapping of conditional instructions

 arch/arm64/kvm/guest.c       |  3 ++-
 arch/arm64/kvm/hyp/aarch32.c | 18 ++++++++++++++++--
 2 files changed, 18 insertions(+), 3 deletions(-)

Comments

Oliver Upton May 24, 2024, 7:13 p.m. UTC | #1
On Fri, May 24, 2024 at 03:19:53PM +0100, Marc Zyngier wrote:
> The (very much unloved) AArch32 handling has recently been found
> lacking in a number of ways:
> 
> - Nina spotted a brown paper-bag quality bug in the register narrowing
>   code when writing one of the core registers (GPRs, PSTATE) from
>   userspace

Yuck!

> - We never allowed System mode to be restored. Nobody ever complained,
>   but this is wrong nonetheless
> 
> - The handling of traps failing their condition check went from dodgy
>   to outright broken when the handling of ESR_EL2 was upgraded from 32
>   to 64 bit (patch already posted).
> 
> All these are stable material, and I plan to merge them after -rc1
> is released.

Please do!

Acked-by: Oliver Upton <oliver.upton@linux.dev>
Marc Zyngier May 27, 2024, 4:48 p.m. UTC | #2
On Fri, 24 May 2024 15:19:53 +0100, Marc Zyngier wrote:
> The (very much unloved) AArch32 handling has recently been found
> lacking in a number of ways:
> 
> - Nina spotted a brown paper-bag quality bug in the register narrowing
>   code when writing one of the core registers (GPRs, PSTATE) from
>   userspace
> 
> [...]

Applied to fixes, thanks!

[1/3] KVM: arm64: Fix AArch32 register narrowing on userspace write
      commit: 947051e361d551e0590777080ffc4926190f62f2
[2/3] KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode
      commit: dfe6d190f38fc5df5ff2614b463a5195a399c885
[3/3] KVM: arm64: AArch32: Fix spurious trapping of conditional instructions
      commit: c92e8b9eacebb4060634ebd9395bba1b29aadc68

Cheers,

	M.