Thread (59 messages) 59 messages, 9 authors, 2023-09-13

Re: [RFC PATCH 29/32] KVM: arm64: Pass hypercalls to userspace

From: Marc Zyngier <maz@kernel.org>
Date: 2023-02-08 09:02:23
Also in: kvm, kvmarm, linux-acpi, linux-arch, linux-pm, lkml, loongarch

On Tue, 07 Feb 2023 17:50:59 +0000,
James Morse [off-list ref] wrote:
Hi Oliver,

On 03/02/2023 21:08, Oliver Upton wrote:
quoted
On Fri, Feb 03, 2023 at 01:50:40PM +0000, James Morse wrote:
quoted
From: Jean-Philippe Brucker <redacted>

When capability KVM_CAP_ARM_HVC_TO_USER is available, userspace can
request to handle all hypercalls that aren't handled by KVM.
quoted
I would very much prefer we not go down this route. This capability
effectively constructs an ABI out of what KVM presently does not
implement. What would happen if KVM decides to implement a new set
of hypercalls later down the road that were previously forwarded to
userspace?
The user-space support would never get called. If we have a
wild-west allocation of IDs in this area we have bigger
problems. I'd hope in this example it would be a VMM or an in-kernel
implementation of the same feature.

When I floated something like this before for supporting SDEI in
guests, Christoffer didn't like tie-ing KVM to SMC-CC - hence the
all or nothing.

Since then we've had things like Spectre, which I don't think the
VMM should ever be allowed to handle, which makes the whole thing
much murkier.
That ship has sailed a long time ago. We also have grown a bunch of
in-kernel SMCCC services that are KVM specific (the silly PTP stuff,
for example, not to mention all the pKVM hypercalls...).

It is also likely that these ranges will grow over time (it has been a
long time since the last drop of Spectre-like crap, and something must
be brewing somewhere), so a level of discrimination is important.

	M.

-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help