On 10/02/17 17:16, Ard Biesheuvel wrote: > The kvm_vgic_global_state struct contains a static key which is > written to by jump_label_init() at boot time. So in preparation of > making .text regions truly (well, almost truly) read-only, mark > kvm_vgic_global_state __ro_after_init so it moves to the .rodata > section instead. > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > --- > virt/kvm/arm/vgic/vgic.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/virt/kvm/arm/vgic/vgic.c b/virt/kvm/arm/vgic/vgic.c > index 6440b56ec90e..2f373455ed4e 100644 > --- a/virt/kvm/arm/vgic/vgic.c > +++ b/virt/kvm/arm/vgic/vgic.c > @@ -29,7 +29,9 @@ > #define DEBUG_SPINLOCK_BUG_ON(p) > #endif > > -struct vgic_global __section(.hyp.text) kvm_vgic_global_state = {.gicv3_cpuif = STATIC_KEY_FALSE_INIT,}; > +struct vgic_global kvm_vgic_global_state __ro_after_init = { > + .gicv3_cpuif = STATIC_KEY_FALSE_INIT, > +}; > > /* > * Locking order is always: > I guess that's a nice way to find out if someone is playing with this structure (which indeed shouldn't change once KVM has initialized). Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> M. -- Jazz is not dead. It just smells funny... _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm