arm64: Add uprobe support 48/149948/1
authorPratyush Anand <panand@redhat.com>
Wed, 2 Nov 2016 09:10:46 +0000 (14:40 +0530)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Wed, 13 Sep 2017 16:01:00 +0000 (18:01 +0200)
commit062069c0f8eee23ec16b2a4c803e63daea206575
tree56025961ea1a26f90c80bba43306e92535dea6f1
parent2e760e444d291bed2bbf5ec3f6a2c480e03ee8be
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>
[ Mainline commit 9842cea ]
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Change-Id: Iea3039116efc98e584185d3acdc1deb9eb8bc819
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