Re: [PATCH] Subject: kprobes-x86: correct post-eip value in post_hander()

From: Masami Hiramatsu
Date: Fri Mar 21 2008 - 19:19:53 EST


Ingo Molnar wrote:
> * Yakov Lerner <iler.ml@xxxxxxxxx> wrote:
>
>> I was trying to get the address of instruction to be executed next
>> after the kprobed instruction. But regs->eip in post_handler()
>> contains value which is useless to the user. It's pre-corrected value.
>> This value is difficult to use without access to resume_execution(),
>> which is not exported anyway. I moved the invocation of post_handler()
>> to *after* resume_execution(). Now regs->eip contains meaningful value
>> in post_handler().
>>
>> I do not think this change breaks any backward-compatibility. To make
>> meaning of the old value, post_handler() would need access to
>> resume_execution() which is not exported. I have difficulty to
>> believe that previous, uncorrected, regs->eip can be meaningfully used
>> in post_handler().
>
> thanks, i've added your patch to the .26 bucket of x86.git, but it would
> be nice to get an Ack/Nack from a kprobes person as well.
>
> Ingo

Ingo, I also tested this on x86-64/x86/ia64.

Acked-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thanks,

--
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@xxxxxxxxxx

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