Re: Immediate values

From: H. Peter Anvin
Date: Fri Sep 25 2009 - 12:27:24 EST


Arjan van de Ven wrote:
On Fri, 25 Sep 2009 11:02:06 +0100
Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/