Re: Immediate values

H. Peter Anvin
2009-09-25T16:27:15Z

Arjan van de Ven wrote:
> On Fri, 25 Sep 2009 11:02:06 +0100
> Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>
>>> Then, following your advice, kprobes should be re-designed to do a
>>> stop_machine around the int3 breakpoint insertion ? And gdb
>>> should be stopping all threads of a target process before inserting
>>> a breakpoint. Therefore, I do not seem to be the only one confused
>>> about Intel statement on this issue.
>> There was considerable discussion abut this when the kprobe stuff went
>> in. If I remember rightly it was stated by someone @intel.com then
>> that int3 was ok (even though its not strictly documented as such).
>> The same is not true for all instructions on all x86 processors
>> unfortunately.
>
> specifically, using int3 *and then going back to the old value*.
>

As I told Mathieu in person yesterday:

1. We have no information if this is safe or not. It is most certainly
not documented as safe, and trying to play language lawyer with the
errata text is pointless, as it's trying to interpret something that
isn't there.

2. There are some reasons to believe there might be a safe technique
somewhere in here (the one he described is a possibility, but not the
only one.)

3. Being able to patch code without stopping all cores has other uses,
and so spending some time doing legwork on it is probably worth it.

4. "Someone at Intel" isn't a reference... we need to track down actual
CPU architects with real names who can give us a thumbs up or down.

-hpa