Thread (54 messages) read the whole thread 54 messages, 5 authors, 2022-07-19

Re: [PATCH v4 08/18] KVM: arm64: Add PROTECTED_NVHE_STACKTRACE Kconfig

From: Marc Zyngier <maz@kernel.org>
Date: 2022-07-19 10:35:29
Also in: kvmarm, lkml

On Mon, 18 Jul 2022 18:03:30 +0100,
Kalesh Singh [off-list ref] wrote:
On Sun, Jul 17, 2022 at 11:56 PM Marc Zyngier [off-list ref] wrote:
quoted
[- Drew and android-mm, as both addresses bounce]

On Fri, 15 Jul 2022 07:10:17 +0100,
Kalesh Singh [off-list ref] wrote:
quoted
This can be used to disable stacktrace for the protected KVM
nVHE hypervisor, in order to save on the associated memory usage.

This option is disabled by default, since protected KVM is not widely
used on platforms other than Android currently.

Signed-off-by: Kalesh Singh <redacted>
---
 arch/arm64/kvm/Kconfig | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
diff --git a/arch/arm64/kvm/Kconfig b/arch/arm64/kvm/Kconfig
index 8a5fbbf084df..1edab6f8a3b8 100644
--- a/arch/arm64/kvm/Kconfig
+++ b/arch/arm64/kvm/Kconfig
@@ -46,6 +46,21 @@ menuconfig KVM

        If unsure, say N.

+config PROTECTED_NVHE_STACKTRACE
+     bool "Protected KVM hypervisor stacktraces"
+     depends on KVM
+     default n
+     help
+       Say Y here to enable pKVM hypervisor stacktraces on hyp_panic()
+
+       If you are not using protected nVHE (pKVM), say N.
+
+       If using protected nVHE mode, but cannot afford the associated
+       memory cost (less than 0.75 page per CPU) of pKVM stacktraces,
+       say N.
+
+       If unsure, say N.
+
Can we make this depend on NVHE_EL2_DEBUG instead? I'd like to keep
the disclosing of EL2 information in protected mode a strict debug
feature.
Hi Marc,

An earlier version was similar to what you propose. The unwinding
depended on NVHE_EL2_DEBUG and all unwinding was done from EL1 with
host stage 2 being disabled. The reason the design was changed is
because Android expressed the need for pKVM hyp stacktraces in
production environments. [1]
I think that's an Android-specific requirement that doesn't apply to
upstream. If Android wants to enable this in production (and
potentially leak details of the hypervisor address space), that's
Android's business, and they can carry a patch for that.  Upstream
shouldn't have to cater for such a thing.

Thanks,

	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