Message ID | 20211208152300.2478542-7-qperret@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | KVM: arm64: Miscellaneous pkvm fixes | expand |
On Wed, Dec 08, 2021 at 03:22:59PM +0000, Quentin Perret wrote: > The kvm_host_owns_hyp_mappings() function should return true if and only > if the host kernel is responsible for creating the hypervisor stage-1 > mappings. That is only possible in standard non-VHE mode, or during boot > in protected nVHE mode. But either way, non of this makes sense in VHE, Typo: non => none > so make sure to catch this case as well, hence making the function > return sensible values in any context (VHE or not). > > Suggested-by: Marc Zyngier <maz@kernel.org> > Signed-off-by: Quentin Perret <qperret@google.com> > --- > arch/arm64/kvm/mmu.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c > index 605c104eb030..ea840fa223b5 100644 > --- a/arch/arm64/kvm/mmu.c > +++ b/arch/arm64/kvm/mmu.c > @@ -239,6 +239,9 @@ void free_hyp_pgds(void) > > static bool kvm_host_owns_hyp_mappings(void) > { > + if (is_kernel_in_hyp_mode()) > + return false; Acked-by: Will Deacon <will@kernel.org> Will
diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c index 605c104eb030..ea840fa223b5 100644 --- a/arch/arm64/kvm/mmu.c +++ b/arch/arm64/kvm/mmu.c @@ -239,6 +239,9 @@ void free_hyp_pgds(void) static bool kvm_host_owns_hyp_mappings(void) { + if (is_kernel_in_hyp_mode()) + return false; + if (static_branch_likely(&kvm_protected_mode_initialized)) return false;
The kvm_host_owns_hyp_mappings() function should return true if and only if the host kernel is responsible for creating the hypervisor stage-1 mappings. That is only possible in standard non-VHE mode, or during boot in protected nVHE mode. But either way, non of this makes sense in VHE, so make sure to catch this case as well, hence making the function return sensible values in any context (VHE or not). Suggested-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Quentin Perret <qperret@google.com> --- arch/arm64/kvm/mmu.c | 3 +++ 1 file changed, 3 insertions(+)