Re: [RFC] [PATCH 1/2 v2] x86: introduce int3-based instruction patching

From: Masami Hiramatsu
Date: Thu Jul 11 2013 - 20:50:42 EST


(2013/07/11 19:51), Jiri Kosina wrote:
>>> + * - update all but the first byte of the patched range
>>> + * - sync cores
>>> + * - replalace the first byte (int3) by the first byte of
>>> + * replacing opcode
>>> + * - sync cores
>>> + *
>>> + * Note: must be called under text_mutex.
>>> + */
>>> +void *text_poke_bp(void *addr, const void *opcode, size_t len, void *handler)
>>> +{
>>> + unsigned char int3 = 0xcc;
>>> +
>>
>> Here, you have to protect this code from others, since bp_* are
>> global.
>
> Caller is responsible for holding the text_mutex, so text_poke_bp() can't
> race with itself. And the proper consistency between text_poke_bp() and
> the notifier is achieved by the memory barriers.

Oops, right. I missed your "Note" line

>
> So what exact scenario do you have in mind here, please?

No, never mind...


Thank you,

--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@xxxxxxxxxxx


--
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/