Messages in this thread | | | Date | Thu, 14 Nov 2013 20:36:50 +0900 | From | Masami Hiramatsu <> | Subject | Re: [PATCH v3 4/8] x86: speed up int3-based patching using direct write |
| |
(2013/11/14 19:41), Petr Mladek wrote: > @@ -837,7 +882,7 @@ static void recover_iter(struct text_poke_bp_iter *iterator, > } > > /* Finally, put back the first byte from the old code */ > - err = text_poke(addr, old_opcode, sizeof(bp_int3)); > + err = text_poke_part(addr, old_opcode, sizeof(bp_int3)); > /* we can not continue if the interrupt is still there */ > BUG_ON(err); > } > @@ -865,7 +910,9 @@ static void recover_iter(struct text_poke_bp_iter *iterator, > * It is a bit more paranoid than text_poke_bp because it checks the actual > * code before patching. This is a good practice proposed by the ftrace code. > * > - * Note: This function must be called under text_mutex. > + * Note: This function must be called under text_mutex. Also the caller is > + * responsible for making the patched code read-write, for example using > + * set_kernel_text_rw() and set_all_modules_text_rw()
OK, I got the reason why we can do it. But if so, we should change all existing caller of text_poke_bp() to call it in this patch, or they must fail at this point.
Thank you,
-- Masami HIRAMATSU IT Management Research Dept. Linux Technology Center Hitachi, Ltd., Yokohama Research Laboratory E-mail: masami.hiramatsu.pt@hitachi.com
| |