All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] KVM: arm64: Fixes for SMC64 SYSTEM_RESET2 calls
@ 2022-03-18 19:38 ` Oliver Upton
  0 siblings, 0 replies; 24+ messages in thread
From: Oliver Upton @ 2022-03-18 19:38 UTC (permalink / raw)
  To: kvmarm
  Cc: kvm, Marc Zyngier, James Morse, Alexandru Elisei,
	Suzuki K Poulose, linux-arm-kernel, Peter Shier, Ricardo Koller,
	Reiji Watanabe, Paolo Bonzini, Will Deacon, Oliver Upton

This series addresses a couple of issues with how KVM exposes SMC64
calls to its guest. It is currently possible for an AArch32 guest to
discover the SMC64 SYSTEM_RESET2 function (via
PSCI_1_0_FN_PSCI_FEATURES) and even make a call to it. SMCCC does not
allow for 64 bit calls to be made from a 32 bit state.

Patch 1 cleans up the way we filter SMC64 calls in PSCI. Using a switch
with case statements for each possibly-filtered function is asking for
trouble. Instead, pivot off of the bit that indicates the desired
calling convention. This plugs the PSCI_FEATURES hole for SYSTEM_RESET2.

Patch 2 adds a check to the PSCI v1.x call handler in KVM, bailing out
early if the guest is not allowed to use a particular function. This
closes the door on calls to 64-bit SYSTEM_RESET2 from AArch32.

My first crack at this [1] was missing the fix for direct calls to
SYSTEM_RESET2. Taking the patch out of that series and sending
separately.

Applies on top of today's kvmarm pull, commit:

  21ea45784275 ("KVM: arm64: fix typos in comments")

[1]: https://patchwork.kernel.org/project/kvm/patch/20220311174001.605719-3-oupton@google.com/

Oliver Upton (2):
  KVM: arm64: Generally disallow SMC64 for AArch32 guests
  KVM: arm64: Actually prevent SMC64 SYSTEM_RESET2 from AArch32

 arch/arm64/kvm/psci.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

-- 
2.35.1.894.gb6a874cedc-goog


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2022-03-22  8:49 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-18 19:38 [PATCH 0/2] KVM: arm64: Fixes for SMC64 SYSTEM_RESET2 calls Oliver Upton
2022-03-18 19:38 ` Oliver Upton
2022-03-18 19:38 ` Oliver Upton
2022-03-18 19:38 ` [PATCH 1/2] KVM: arm64: Generally disallow SMC64 for AArch32 guests Oliver Upton
2022-03-18 19:38   ` Oliver Upton
2022-03-18 19:38   ` Oliver Upton
2022-03-18 19:38 ` [PATCH 2/2] KVM: arm64: Actually prevent SMC64 SYSTEM_RESET2 from AArch32 Oliver Upton
2022-03-18 19:38   ` Oliver Upton
2022-03-18 19:38   ` Oliver Upton
2022-03-22  4:41   ` Reiji Watanabe
2022-03-22  4:41     ` Reiji Watanabe
2022-03-22  4:41     ` Reiji Watanabe
2022-03-22  5:49     ` Oliver Upton
2022-03-22  5:49       ` Oliver Upton
2022-03-22  5:49       ` Oliver Upton
2022-03-22  8:48       ` Marc Zyngier
2022-03-22  8:48         ` Marc Zyngier
2022-03-22  8:48         ` Marc Zyngier
2022-03-21 14:29 ` [PATCH 0/2] KVM: arm64: Fixes for SMC64 SYSTEM_RESET2 calls Will Deacon
2022-03-21 14:29   ` Will Deacon
2022-03-21 14:29   ` Will Deacon
2022-03-22  1:33 ` [PATCH] KVM: arm64: Drop unneeded minor version check from PSCI v1.x handler Oliver Upton
2022-03-22  1:33   ` Oliver Upton
2022-03-22  1:33   ` Oliver Upton

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.