| From | Thomas Gleixner <> | Subject | Re: [patch V6 00/37] x86/entry: Rework leftovers and merge plan | Date | Mon, 18 May 2020 20:53:49 +0200 |
| |
Peter Zijlstra <peterz@infradead.org> 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
|