[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 3/3] x86/alternatives: Introduce init_or_livepatch_ro_after_init
... and use it for ideal_nops and toolchain_nops_are_ideal; both of which are invariant after arch_init_ideal_nops() has run. No functional change. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- xen/arch/x86/alternative.c | 4 ++-- xen/include/xen/livepatch.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c index ff7d83c0ddbd..058a8b22d41f 100644 --- a/xen/arch/x86/alternative.c +++ b/xen/arch/x86/alternative.c @@ -47,7 +47,7 @@ static const unsigned char p6_nops[] init_or_livepatch_const = { }; #endif -static const unsigned char *ideal_nops init_or_livepatch_data = p6_nops; +static const unsigned char *ideal_nops init_or_livepatch_ro_after_init = p6_nops; #ifdef HAVE_AS_NOPS_DIRECTIVE @@ -56,7 +56,7 @@ asm ( ".pushsection .init.rodata, \"a\", @progbits\n\t" "toolchain_nops: .nops " __stringify(ASM_NOP_MAX) "\n\t" ".popsection\n\t"); extern char toolchain_nops[ASM_NOP_MAX]; -static bool init_or_livepatch_read_mostly toolchain_nops_are_ideal; +static bool init_or_livepatch_ro_after_init toolchain_nops_are_ideal; #else # define toolchain_nops_are_ideal false diff --git a/xen/include/xen/livepatch.h b/xen/include/xen/livepatch.h index d074a5bebecc..62f8db2b55b4 100644 --- a/xen/include/xen/livepatch.h +++ b/xen/include/xen/livepatch.h @@ -29,6 +29,7 @@ struct xen_sysctl_livepatch_op; #define init_or_livepatch_constrel #define init_or_livepatch_data #define init_or_livepatch_read_mostly __read_mostly +#define init_or_livepatch_ro_after_init __ro_after_init #define init_or_livepatch /* Convenience define for printk. */ @@ -153,6 +154,7 @@ void revert_payload_tail(struct payload *data); #define init_or_livepatch_constrel __initconstrel #define init_or_livepatch_data __initdata #define init_or_livepatch_read_mostly __initdata +#define init_or_livepatch_ro_after_init __initdata #define init_or_livepatch __init static inline int livepatch_op(struct xen_sysctl_livepatch_op *op) -- 2.39.5
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |