This patch series adds basic uprobes support to ARM. It is based on patches developed earlier by Rabin Vincent. That approach of adding special cases into the kprobes instruction parsing code was not well received. This approach separates the ARM instruction parsing code in kprobes out into a separate set of functions which can be used by both kprobes and uprobes. Both kprobes and uprobes then provide their own semantic action tables to process the results of the parsing.
Some regression bug fixing is still in progress on this, and some more definitions may be moved from kprobes*.h files into more generic include files. However, at this point feedback on the basic approach would be appreciated.
These patches are based on v3.10-rc3
David A. Long (2): ARM: Separate kprobes instruction parsing into routines sharable with uprobes ARM: add uprobes support
Rabin Vincent (5): uprobes: move function declarations out of arch uprobes: allow ignoring of probe hits uprobes: allow arch access to xol slot uprobes: allow arch-specific initialization uprobes: add arch write opcode hook
arch/arm/Kconfig | 4 + arch/arm/include/asm/kprobes.h | 17 +- arch/arm/include/asm/probes.h | 23 ++ arch/arm/include/asm/ptrace.h | 6 + arch/arm/include/asm/thread_info.h | 5 +- arch/arm/include/asm/uprobes.h | 34 ++ arch/arm/kernel/Makefile | 3 +- arch/arm/kernel/kprobes-arm.c | 496 ++++++----------------------- arch/arm/kernel/kprobes-common.c | 260 +--------------- arch/arm/kernel/kprobes-thumb.c | 31 +- arch/arm/kernel/kprobes.c | 7 +- arch/arm/kernel/kprobes.h | 51 +-- arch/arm/kernel/probes-arm.h | 67 ++++ arch/arm/kernel/probes.c | 624 +++++++++++++++++++++++++++++++++++++ arch/arm/kernel/signal.c | 4 + arch/arm/kernel/uprobes-arm.c | 221 +++++++++++++ arch/arm/kernel/uprobes.c | 203 ++++++++++++ arch/arm/kernel/uprobes.h | 25 ++ arch/powerpc/include/asm/uprobes.h | 1 - arch/x86/include/asm/uprobes.h | 7 - include/linux/uprobes.h | 17 + kernel/events/uprobes.c | 54 +++- 22 files changed, 1429 insertions(+), 731 deletions(-) create mode 100644 arch/arm/include/asm/probes.h create mode 100644 arch/arm/include/asm/uprobes.h create mode 100644 arch/arm/kernel/probes-arm.h create mode 100644 arch/arm/kernel/probes.c create mode 100644 arch/arm/kernel/uprobes-arm.c create mode 100644 arch/arm/kernel/uprobes.c create mode 100644 arch/arm/kernel/uprobes.h
On 20 June 2013 00:41, David Long dave.long@linaro.org wrote:
This patch series adds basic uprobes support to ARM. It is based on patches developed earlier by Rabin Vincent. That approach of adding special cases into the kprobes instruction parsing code was not well received. This approach separates the ARM instruction parsing code in kprobes out into a separate set of functions which can be used by both kprobes and uprobes. Both kprobes and uprobes then provide their own semantic action tables to process the results of the parsing.
Some regression bug fixing is still in progress on this, and some more definitions may be moved from kprobes*.h files into more generic include files. However, at this point feedback on the basic approach would be appreciated.
These patches are based on v3.10-rc3
David A. Long (2): ARM: Separate kprobes instruction parsing into routines sharable with uprobes ARM: add uprobes support
Please use linaro-kernel list for sending patches.
On 19 June 2013 20:32, Viresh Kumar viresh.kumar@linaro.org wrote:
On 20 June 2013 00:41, David Long dave.long@linaro.org wrote:
This patch series adds basic uprobes support to ARM. It is based on
patches developed earlier by Rabin Vincent. That approach of adding special cases into the kprobes instruction parsing code was not well received. This approach separates the ARM instruction parsing code in kprobes out into a separate set of functions which can be used by both kprobes and uprobes. Both kprobes and uprobes then provide their own semantic action tables to process the results of the parsing.
Some regression bug fixing is still in progress on this, and some more
definitions may be moved from kprobes*.h files into more generic include files. However, at this point feedback on the basic approach would be appreciated.
These patches are based on v3.10-rc3
David A. Long (2): ARM: Separate kprobes instruction parsing into routines sharable with uprobes ARM: add uprobes support
Please use linaro-kernel list for sending patches.
Hi Viresh,
I think linaro-kernel should be part of the cc, but I don't think that there is any policy in regards to not sending patches to linaro-dev. I see lots of patches being posted on here and think it is a good place for discussion.
Thanks, ~Deepak
On 20 June 2013 22:56, Deepak Saxena dsaxena@linaro.org wrote:
On 19 June 2013 20:32, Viresh Kumar viresh.kumar@linaro.org wrote:
Please use linaro-kernel list for sending patches.
I think linaro-kernel should be part of the cc, but I don't think that there is any policy in regards to not sending patches to linaro-dev.
We had a discussion about this earlier this year: http://lists.linaro.org/pipermail/linaro-dev/2013-February/015421.html and the consensus seemed to be that "cc linaro-dev on patches" was an early policy that made more sense when Linaro was smaller and didn't have systems like patches.linaro.org for tracking what we do, and that it made sense not to do it now.
I see lots of patches being posted on here and think it is a good place for discussion.
It's a good place for discussion. It's a really bad place to patch-bomb with kernel patches :-) and the more random patches that get sent here the harder it is to have useful discussions, IMHO. People who care at the level of detail of wanting to actually read patches can subscribe to linaro-kernel.
thanks -- PMM