Re: [tip:perfcounters/core] perf_counter: x86: Fix call-chain support to use NMI-safe methods

H. Peter Anvin
2009-06-15T18:42:39Z

Linus Torvalds wrote:
>
> On Mon, 15 Jun 2009, Ingo Molnar wrote:
>> A simple cr2 corruption would explain all those cc1 SIGSEGVs and
>> other user-space crashes i saw, with sufficiently intense sampling -
>> easily.
>
> Note that we could work around the %cr2 issue, since any corruption is
> always nicely "nested" (ie there are never any SMP issues with async
> writes to the register).
>
> So what we _could_ do is to have a magic value for %cr2, along with a "NMI
> sequence count", and if we see that value, we just return (without doing
> anything) from the page fault handler.
>

Wouldn't it be simpler to just require the NMI handler to save and
restore %cr2 around any potentially faulting references?

-hpa