[BUGFIX PATCH 0/3] kprobes/arm: Improve kprobes implementation on arm

From: Masami Hiramatsu
Date: Mon Feb 13 2017 - 11:09:46 EST


Here are patches which improve kprobe on arm implementation.
This includes some improves ported from x86 for multiple
kretprobes on same function and recursing kprobes on FIQ
(NMI) path. Also, I've fixed a bug(?) on recursing path.

- [1/3]: Port an improvement (and fix) for recursing kprobe
on single-stepping by probing FIQ/NMI context.
- [2/3]: Skip single-stepping (and counting nmissed) if
the recursing kprobe was hit on a conditional
instruction which should not be executed.
- [3/3]: Fix to show correct return address with multiple
kretprobe events on same function.

David, I think arm64 also has some conditinal instructions
which should be skipped to handle it and single stepping
if the condition is false. Or, user will see the probe
events even when the instruction is not executed.

Thank you,


Masami Hiramatsu (3):
kprobes/arm: Allow to handle reentered kprobe on single-stepping
kprobes/arm: Skip single-stepping in recursing path if possible
kprobes/arm: Fix the return address of multiple kretprobes

arch/arm/probes/kprobes/core.c | 49 +++++++++++++++++++++++++++++++---------
1 file changed, 38 insertions(+), 11 deletions(-)

Masami Hiramatsu