Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan

From: Thomas Gleixner
Date: Mon May 18 2020 - 14:54:48 EST


Peter Zijlstra <peterz@xxxxxxxxxxxxx> writes:
> So on top of you entry-v8-full; I had to chase one of those
> instrumentation_end() escapes an (extended) basic block chase (again!).
>
> +#ifdef CONFIG_DEBUG_ENTRY

Why this? We lose the kprobes runtime protection that way.

> +/* Section for code which can't be instrumented at all */
> +#define noinstr \
> + noinline notrace __attribute((__section__(".noinstr.text")))
> +
> /* Begin/end of an instrumentation safe region */
> -#define instrumentation_begin() ({ \
> +#define instrumentation_begin() ({ \
> asm volatile("%c0:\n\t" \
> ".pushsection .discard.instr_begin\n\t" \
> ".long %c0b - .\n\t" \
> ".popsection\n\t" : : "i" (__COUNTER__));

Nifty.

Thanks,

tglx