On Monday 23 Nov 2020 at 12:34:25 (+0000), David Brazdil wrote:
On Tue, Nov 17, 2020 at 06:15:42PM +0000, 'Quentin Perret' via kernel-team wrote:
quoted
diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h
index 8539f34d7538..dd8ccc9efb6a 100644
--- a/arch/arm64/kernel/image-vars.h
+++ b/arch/arm64/kernel/image-vars.h
@@ -105,6 +105,17 @@ KVM_NVHE_ALIAS(__stop___kvm_ex_table);
/* Array containing bases of nVHE per-CPU memory regions. */
KVM_NVHE_ALIAS(kvm_arm_hyp_percpu_base);
+/* Position-independent library routines */
+__kvm_nvhe_clear_page = __kvm_nvhe___pi_clear_page;
+__kvm_nvhe_copy_page = __kvm_nvhe___pi_copy_page;
+__kvm_nvhe_memcpy = __kvm_nvhe___pi_memcpy;
+__kvm_nvhe_memset = __kvm_nvhe___pi_memset;
+
+#ifdef CONFIG_KASAN
+__kvm_nvhe___memcpy = __kvm_nvhe___pi_memcpy;
+__kvm_nvhe___memset = __kvm_nvhe___pi_memset;
+#endif
+
#endif /* CONFIG_KVM */
Nit: Would be good to use the kvm_nvhe_sym() helper for the namespacing.
And feel free to define something like KVM_NVHE_ALIAS for PI in hyp-image.h.
Ack, that'd be much nicer, I'll fix it up for v2.
Thanks,
Quentin