On Tue, 05 May 2020 15:41:22 +0200 Thomas Gleixner wrote: > The preempt_enable_notrace() ASM thunk is called from tracing, entry code > RCU and other places which are already in or going to be in the noinstr > section which protects sensitve code from being instrumented. > > Calls out of these sections happen with interrupts disabled, which is > handled in C code, but the push regs, call, pop regs sequence can be > completely avoided in this case. > > This is also a preparatory step for annotating the call from the thunk to > preempt_enable_notrace() safe from a noinstr section. > BTW, after applying this patch, I get the following error: /work/git/linux-test.git/arch/x86/entry/thunk_64.S: Assembler messages: /work/git/linux-test.git/arch/x86/entry/thunk_64.S:67: Error: invalid operands (*UND* and *UND* sections) for `+' /work/git/linux-test.git/arch/x86/entry/thunk_64.S:67: Error: invalid operands (*UND* and *ABS* sections) for `/' make[3]: *** [/work/git/linux-test.git/scripts/Makefile.build:349: arch/x86/entry/thunk_64.o] Error 1 make[3]: *** Waiting for unfinished jobs.... Config attached. -- Steve