kvmarm.lists.cs.columbia.edu archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] KVM: arm64: Restrict host hypercalls when pKVM is enabled
@ 2021-09-23 11:22 Will Deacon
  2021-09-23 11:22 ` [PATCH 1/5] arm64: Prevent kexec and hibernation if is_protected_kvm_enabled() Will Deacon
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Will Deacon @ 2021-09-23 11:22 UTC (permalink / raw)
  To: linux-arm-kernel; +Cc: Marc Zyngier, Catalin Marinas, Will Deacon, kvmarm

Hi folks,

This series restricts the hypercalls available to the KVM host on arm64
when pKVM is enabled so that it is not possible for the host to use them
to replace the EL2 component with something else.

This occurs in two stages: when switching to the pKVM vectors, the stub
hypercalls are removed and then later when pKVM is finalised, the pKVM
init hypercalls are removed.

There are still a few dubious calls remaining in terms of protecting the
guest (e.g. __kvm_adjust_pc) but these will be dealt with later when we
have more VM state at EL2 to play with.

Patches based on -rc2. Feedback welcome.

Cheers,

Will

Cc: Marc Zyngier <maz@kernel.org>
Cc: Quentin Perret <qperret@google.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Alexandru Elisei <alexandru.elisei@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: kvmarm@lists.cs.columbia.edu

--->8

Will Deacon (5):
  arm64: Prevent kexec and hibernation if is_protected_kvm_enabled()
  KVM: arm64: Reject stub hypercalls after pKVM has been initialised
  KVM: arm64: Propagate errors from __pkvm_prot_finalize hypercall
  KVM: arm64: Prevent re-finalisation of pKVM for a given CPU
  KVM: arm64: Disable privileged hypercalls after pKVM finalisation

 arch/arm64/include/asm/kvm_asm.h      | 43 ++++++++++---------
 arch/arm64/kernel/smp.c               |  3 +-
 arch/arm64/kvm/arm.c                  | 61 ++++++++++++++++++---------
 arch/arm64/kvm/hyp/nvhe/host.S        | 26 ++++++++----
 arch/arm64/kvm/hyp/nvhe/hyp-main.c    | 26 +++++++-----
 arch/arm64/kvm/hyp/nvhe/mem_protect.c |  3 ++
 6 files changed, 103 insertions(+), 59 deletions(-)

-- 
2.33.0.464.g1972c5931b-goog

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

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

end of thread, other threads:[~2021-10-05 11:30 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-23 11:22 [PATCH 0/5] KVM: arm64: Restrict host hypercalls when pKVM is enabled Will Deacon
2021-09-23 11:22 ` [PATCH 1/5] arm64: Prevent kexec and hibernation if is_protected_kvm_enabled() Will Deacon
2021-09-23 11:45   ` Mark Rutland
2021-09-23 12:29     ` Will Deacon
2021-09-23 11:22 ` [PATCH 2/5] KVM: arm64: Reject stub hypercalls after pKVM has been initialised Will Deacon
2021-09-29 13:37   ` Quentin Perret
2021-09-23 11:22 ` [PATCH 3/5] KVM: arm64: Propagate errors from __pkvm_prot_finalize hypercall Will Deacon
2021-09-29 13:36   ` Quentin Perret
2021-10-05 11:30     ` Will Deacon
2021-09-23 11:22 ` [PATCH 4/5] KVM: arm64: Prevent re-finalisation of pKVM for a given CPU Will Deacon
2021-09-29 13:41   ` Quentin Perret
2021-09-23 11:22 ` [PATCH 5/5] KVM: arm64: Disable privileged hypercalls after pKVM finalisation Will Deacon
2021-09-23 12:56   ` Marc Zyngier
2021-09-23 13:02     ` Will Deacon
2021-09-23 13:11       ` Marc Zyngier
2021-09-23 12:58   ` Will Deacon
2021-09-23 12:21 ` [PATCH 0/5] KVM: arm64: Restrict host hypercalls when pKVM is enabled Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).