Messages in this thread | | | Date | Fri, 25 Apr 2008 17:59:53 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/1] x86: fix text_poke |
| |
* Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:
> Woooow, just a sec here. I removed the atomicity test _because_ there > happen to be a case where it's safe to do non-atomic instruction > modification. If we do : > > 1) replace the instruction first byte by a breakpoint, execute an > instruction bypass (see the immediate values patches for detail) > 2) modify the instruction non-atomically > 3) put back the original instruction first byte. > > That's why I removed the BUG_ONs at the beginning of the function. > That's also why it's required to deal with page crossing.
but the code as-is is nonsensical. It checks for:
BUG_ON(len > sizeof(long));
but then deals with page crossing...
it should also rename text_poke_early() to text_poke_core(), and call _that_ from text_poke() if core_kernel_text(). From that alone the whole poke_text() function would look a whole lot cleaner.
Ingo
| |