Re: [patch V4 part 4 02/24] x86/int3: Avoid atomic instrumentation

From: Thomas Gleixner
Date: Thu May 14 2020 - 08:52:08 EST


Peter Zijlstra <peterz@xxxxxxxxxxxxx> writes:
> On Wed, May 13, 2020 at 09:57:52PM -0700, Andy Lutomirski wrote:
>> On Tue, May 5, 2020 at 7:15 AM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>> >
>> > From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>> >
>> > Use arch_atomic_*() and READ_ONCE_NOCHECK() to ensure nothing untoward
>> > creeps in and ruins things.
>> >
>> > That is; this is the INT3 text poke handler, strictly limit the code
>> > that runs in it, lest it inadvertenly hits yet another INT3.
>>
>>
>> Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>
>>
>> Does objtool catch this error?
>
> It does not. I'll put it on the (endless) todo list..

Well, at least it detects when that code calls out into something which
is not in the non-instrumentable section.

As long as instrumentation respects the rules that this section is taboo,
this should not happen. Emphasis on *should*.