All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Upton <oupton@kernel.org>
To: kvmarm@lists.linux.dev
Cc: Marc Zyngier <maz@kernel.org>, Joey Gouly <joey.gouly@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Wei-Lin Chang <weilin.chang@arm.com>,
	Steffen Eiden <seiden@linux.ibm.com>,
	Fuad Tabba <fuad.tabba@linux.dev>,
	Oliver Upton <oupton@kernel.org>
Subject: [PATCH 0/8] KVM: arm64: Prefix of fixes from HAFDBS series (for 7.4)
Date: Wed,  4 Nov 2026 11:21:16 -0800	[thread overview]
Message-ID: <20261104192124.3932743-1-oupton@kernel.org> (raw)

I kept on running into bugs as part of the HAFDBS series, especially in
dealing with emulated cache maintenance instructions. Everything seems
worthwhile for 7.4 so I've gone ahead and spun it off into a separate
series.

The bulk of the changes are addressing a subtle gap in KVM's handling of
coarse-grained traps. There could be instructions supported by the
hardware but unsupported for the VM which intersect with a CGT. When the
sysreg lacks an FGU description this has the effect of reinjecting
architecturally-invalid sysreg traps to the L1 hypervisor for the
visible feature set.

Besides that, abort injection has gotten a bit hairy, details found in
the last patch.

Tested on M2 and QEMU-TCG since the M2 lacks a lot of the necessary arch
features.

Oliver Upton (8):
  KVM: arm64: nv: Disallow KVM_CAP_ARM_MTE + FEAT_EL2
  KVM: arm64: nv: Add CGT description for FEAT_PoPS instructions
  KVM: arm64: Separate user / guest visibility flags
  KVM: arm64: nv: Treat the VNCR GICv3 registers as hidden from user
  KVM: arm64: Use ->visibility() to filter MTE CMO instructions
  KVM: arm64: Add sys_reg_descs for remaining MTE CMO instructions
  KVM: arm64: nv: Enforce sysreg visibility before evaulating guest
    traps
  KVM: arm64: Stop leaning on __kvm_inject_sea() for abort injection

 arch/arm64/kvm/arm.c             |  10 ++-
 arch/arm64/kvm/emulate-nested.c  |  26 +++++-
 arch/arm64/kvm/inject_fault.c    | 133 ++++++++++++++++++-------------
 arch/arm64/kvm/sys_regs.c        |  84 +++++++++++--------
 arch/arm64/kvm/sys_regs.h        |  27 +++++--
 arch/arm64/kvm/vgic-sys-reg-v3.c |   2 +-
 arch/arm64/kvm/vgic-sys-reg-v5.c |   2 +-
 7 files changed, 177 insertions(+), 107 deletions(-)


base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
-- 
2.47.3


             reply	other threads:[~2026-11-04 19:21 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-04 19:21 Oliver Upton [this message]
2026-11-04 19:21 ` [PATCH 1/8] KVM: arm64: nv: Disallow KVM_CAP_ARM_MTE + FEAT_EL2 Oliver Upton
2026-11-04 19:37   ` sashiko-bot
2026-11-04 20:17     ` Oliver Upton
2026-11-04 19:21 ` [PATCH 2/8] KVM: arm64: nv: Add CGT description for FEAT_PoPS instructions Oliver Upton
2026-11-05 18:12   ` Leonardo Bras
2026-11-04 19:21 ` [PATCH 3/8] KVM: arm64: Separate user / guest visibility flags Oliver Upton
2026-11-04 19:21 ` [PATCH 4/8] KVM: arm64: nv: Treat the VNCR GICv3 registers as hidden from user Oliver Upton
2026-11-04 19:21 ` [PATCH 5/8] KVM: arm64: Use ->visibility() to filter MTE CMO instructions Oliver Upton
2026-11-04 19:21 ` [PATCH 6/8] KVM: arm64: Add sys_reg_descs for remaining " Oliver Upton
2026-11-04 19:21 ` [PATCH 7/8] KVM: arm64: nv: Enforce sysreg visibility before evaulating guest traps Oliver Upton
2026-11-04 19:21 ` [PATCH 8/8] KVM: arm64: Stop leaning on __kvm_inject_sea() for abort injection Oliver Upton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261104192124.3932743-1-oupton@kernel.org \
    --to=oupton@kernel.org \
    --cc=fuad.tabba@linux.dev \
    --cc=joey.gouly@arm.com \
    --cc=kvmarm@lists.linux.dev \
    --cc=maz@kernel.org \
    --cc=seiden@linux.ibm.com \
    --cc=suzuki.poulose@arm.com \
    --cc=weilin.chang@arm.com \
    --cc=yuzenghui@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.