On Mon, Jan 28, 2019 at 04:34:13PM -0800, Rick Edgecombe wrote: > From: Nadav Amit <namit@xxxxxxxxxx> > > There are only two types of poking: early and breakpoint based. The use > of a function pointer to perform poking complicates the code and is > probably inefficient due to the use of indirect branches. > > Cc: Andy Lutomirski <luto@xxxxxxxxxx> > Cc: Kees Cook <keescook@xxxxxxxxxxxx> > Cc: Dave Hansen <dave.hansen@xxxxxxxxx> > Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx> > Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> > Signed-off-by: Nadav Amit <namit@xxxxxxxxxx> > Signed-off-by: Rick Edgecombe <rick.p.edgecombe@xxxxxxxxx> > --- > arch/x86/kernel/jump_label.c | 24 ++++++++---------------- > 1 file changed, 8 insertions(+), 16 deletions(-) ... > @@ -80,16 +71,17 @@ static void __ref __jump_label_transform(struct jump_entry *entry, > bug_at((void *)jump_entry_code(entry), line); > > /* > - * Make text_poke_bp() a default fallback poker. > + * As long as we're UP and not yet marked RO, we can use > + * text_poke_early; SYSTEM_BOOTING guarantees both, as we switch to > + * SYSTEM_SCHEDULING before going either. s/going/doing/ ? -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.