KVM: arm64: Prevent re-finalisation of pKVM for a given CPU
authorWill Deacon <will@kernel.org>
Fri, 8 Oct 2021 13:58:38 +0000 (14:58 +0100)
committerMarc Zyngier <maz@kernel.org>
Mon, 11 Oct 2021 08:07:29 +0000 (09:07 +0100)
commit07036cffe17ec07e8fb630d86f8ea21832d9e57d
tree52041c29e0e97601bae479d68c19dc2783ae30cc
parent2f2e1a5069679491d18cf9021da19b40c56a17f3
KVM: arm64: Prevent re-finalisation of pKVM for a given CPU

__pkvm_prot_finalize() completes the deprivilege of the host when pKVM
is in use by installing a stage-2 translation table for the calling CPU.

Issuing the hypercall multiple times for a given CPU makes little sense,
but in such a case just return early with -EPERM rather than go through
the whole page-table dance again.

Cc: Marc Zyngier <maz@kernel.org>
Cc: Quentin Perret <qperret@google.com>
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20211008135839.1193-6-will@kernel.org
arch/arm64/kvm/hyp/nvhe/mem_protect.c