(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...@hitachi.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/