Re: kprobes vs __ex_table[]

From: Masami Hiramatsu
Date: Tue Feb 28 2017 - 11:20:07 EST


Hi Peter,

On Fri, 24 Feb 2017 10:26:46 +0100
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> One more complication with __ex_table and optimized kprobes is that we
> need to be careful not to clobber __ex_table[].fixup. It would be very
> bad if the optimized probe were to clobber the address we let the fixup
> return to -- or that needs fixups too, _after_ running
> __ex_table[].handler().

This gave me a chance to read closer current code, and I found that
I made a mistake 5 years ago on kprobe-booster. The commit 464846888d9a
("x86/kprobes: Fix a bug which can modify kernel code permanently")
introduced another bug -- which passed the address of copied instruction
instead of probing address to search_exception_tables() when preparing
kprobe-booster (skips singlestep.)

I'll send a fix patch.

Thank you,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>