Re: [patch 06/10] Text Edit Lock - kprobes architecture independent support

From: Ananth N Mavinakayanahalli
Date: Fri Sep 07 2007 - 06:28:20 EST


On Thu, Sep 06, 2007 at 04:01:30PM -0400, Mathieu Desnoyers wrote:

<snip>

> @@ -716,8 +720,9 @@ static int __kprobes pre_handler_kretpro
> struct kretprobe_instance, uflist);
> ri->rp = rp;
> ri->task = current;
> + kernel_text_lock();
> arch_prepare_kretprobe(ri, regs);
> -
> + kernel_text_unlock();

pre_handler_kretprobe() is run when the entry probe for a retprobed
function is hit and cannot block. You can't take a mutex here.

And why do we need to take the kernel_text_lock() here anyway? All
arch_prepare_kretprobe() does is modify the return address stored either
on stack or a register (arch specific) to the trampoline. We don't
change any kernel text here.

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