arm64: Add uprobe support
authorPratyush Anand <panand@redhat.com>
Wed, 2 Nov 2016 09:10:46 +0000 (14:40 +0530)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 7 Nov 2016 18:15:21 +0000 (18:15 +0000)
commit9842ceae9fa8deae141533d52a6ead7666962c09
tree773c1a5e348b02db818a7a9b271a27d05d4a7c9f
parent06beb72fbe23e348cc423dd9310c6fc02cd7c7da
arm64: Add uprobe support

This patch adds support for uprobe on ARM64 architecture.

Unit tests for following have been done so far and they have been found
working
    1. Step-able instructions, like sub, ldr, add etc.
    2. Simulation-able like ret, cbnz, cbz etc.
    3. uretprobe
    4. Reject-able instructions like sev, wfe etc.
    5. trapped and abort xol path
    6. probe at unaligned user address.
    7. longjump test cases

Currently it does not support aarch32 instruction probing.

Signed-off-by: Pratyush Anand <panand@redhat.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Kconfig
arch/arm64/include/asm/cacheflush.h
arch/arm64/include/asm/debug-monitors.h
arch/arm64/include/asm/ptrace.h
arch/arm64/include/asm/thread_info.h
arch/arm64/include/asm/uprobes.h [new file with mode: 0644]
arch/arm64/kernel/probes/Makefile
arch/arm64/kernel/probes/uprobes.c [new file with mode: 0644]
arch/arm64/kernel/signal.c
arch/arm64/mm/flush.c