As should be familiar by now; these patches implement the noinstr
(no-instrument) validation in objtool as requested by Thomas, to ensure
critical code (entry for now, idle later) run no unexpected code.
Functions are marked with: noinstr, which implies notrace, noinline and sticks
things in the .noinstr.text section. Such functions can then use instr_begin()
and instr_end() to allow calls to code outside of this section in sanctioned
areas.
On the way of getting there, it also fixes the x86/ftrace trampiline ORC
unwind.
On Thu, 16 Apr 2020, Peter Zijlstra wrote:
> As should be familiar by now; these patches implement the noinstr
> (no-instrument) validation in objtool as requested by Thomas, to ensure
> critical code (entry for now, idle later) run no unexpected code.
>
> Functions are marked with: noinstr, which implies notrace, noinline and sticks
> things in the .noinstr.text section. Such functions can then use instr_begin()
> and instr_end() to allow calls to code outside of this section in sanctioned
> areas.
>
> On the way of getting there, it also fixes the x86/ftrace trampiline ORC
> unwind.
I think I've already done that, but there are some changes, so
Reviewed-by: Miroslav Benes <[email protected]>
M
On 4/16/20 1:47 PM, Peter Zijlstra wrote:
> As should be familiar by now; these patches implement the noinstr
> (no-instrument) validation in objtool as requested by Thomas, to ensure
> critical code (entry for now, idle later) run no unexpected code.
>
> Functions are marked with: noinstr, which implies notrace, noinline and sticks
> things in the .noinstr.text section. Such functions can then use instr_begin()
> and instr_end() to allow calls to code outside of this section in sanctioned
> areas.
>
> On the way of getting there, it also fixes the x86/ftrace trampiline ORC
> unwind.
>
I have sent a few very minor comments; you can add my review for all patches:
Reviewed-by: Alexandre Chartre <[email protected]>
alex.