2020-04-16 17:41:41

by Peter Zijlstra

[permalink] [raw]
Subject: [PATCH v5 00/17] objtool: vmlinux.o and noinstr validation

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.



2020-04-17 12:35:51

by Miroslav Benes

[permalink] [raw]
Subject: Re: [PATCH v5 00/17] objtool: vmlinux.o and noinstr validation

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

2020-04-17 20:21:51

by Alexandre Chartre

[permalink] [raw]
Subject: Re: [PATCH v5 00/17] objtool: vmlinux.o and noinstr validation


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.