On Thu, 30 Apr 2020 15:48:22 +0100 David Brazdil <dbrazdil@xxxxxxxxxx> wrote: > This snippet of assembly is used by cpu_errata.c to overwrite parts of KVM hyp > vector. It is never directly executed, so move it from .text to .rodata. > > Signed-off-by: David Brazdil <dbrazdil@xxxxxxxxxx> > --- > arch/arm64/kvm/hyp/hyp-entry.S | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/arch/arm64/kvm/hyp/hyp-entry.S b/arch/arm64/kvm/hyp/hyp-entry.S > index 5986e1d78d3f..7e5f386c5c2d 100644 > --- a/arch/arm64/kvm/hyp/hyp-entry.S > +++ b/arch/arm64/kvm/hyp/hyp-entry.S > @@ -364,6 +364,11 @@ SYM_CODE_END(__bp_harden_hyp_vecs) > .popsection > > #ifndef __HYPERVISOR__ > + /* > + * This is not executed directly and is instead copied into the vectors > + * by install_bp_hardening_cb(). > + */ > + .pushsection .rodata > SYM_CODE_START(__smccc_workaround_1_smc) I wonder whether we should keep the SYM_CODE_START() annotation or not. It feels weird to say "code" in a rodata section, and the alignment doesn't matter as we copy it in place, as you noticed. > esb > sub sp, sp, #(8 * 4) > @@ -377,5 +382,6 @@ SYM_CODE_START(__smccc_workaround_1_smc) > 1: .org __smccc_workaround_1_smc + __SMCCC_WORKAROUND_1_SMC_SZ > .org 1b > SYM_CODE_END(__smccc_workaround_1_smc) > + .popsection > #endif /* __HYPERVISOR__ */ > #endif /* CONFIG_KVM_INDIRECT_VECTORS */ Otherwise, looks good. Thanks, M. -- Jazz is not dead. It just smells funny... _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm