[PATCH V6 04/11] compiler_types.h: Add __noinstr_section() for noinstr

Mark Rutland mark.rutland at arm.com
Mon Oct 24 05:14:42 PDT 2022


On Mon, Oct 24, 2022 at 02:06:04PM +0200, Peter Zijlstra wrote:
> On Mon, Oct 24, 2022 at 12:56:03PM +0100, Mark Rutland wrote:
> 
> > How about we split this like:
> > 
> > | /*
> > |  * Prevent the compiler from instrumenting this code in any way
> > |  * This does not prevent instrumentation via KPROBES, which must be
> > |  * prevented through other means if necessary.
> 
> Perhaps point to NOINSTR_TEXT in vmlinux.lds.h

Makes sense, will do.

> 
> > |  */
> > | #define __no_compiler_instrument				\
> > | 	noinline notrace noinline notrace __no_kcsan		\
> > | 	__no_sanitize_address __no_sanitize_coverage
> > | 
> > | /* 
> > |  * Section for code which can't be instrumented at all.
> > |  * Any code in this section cannot be instrumented with KPROBES.
> > |  */
> > | #define noinstr __no_compiler_instrument section(".noinstr.text")
> > 
> > ... then we don't need __noinstr_section(), and IMO the split is
> > clearer.
> 
> Yeah, perhaps, no strong feelings. Note I have this in the sched-idle
> series as well (which I still need to rebase and repost :/).

Ah; I'll sit on this for now then, and once that's all in I can send a
cleanup/rework patch. Sorry for the noise!

Thanks,
Mark.



More information about the linux-riscv mailing list