diff options
author | Pratyush Anand <panand@redhat.com> | 2016-11-02 14:40:46 +0530 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2016-11-07 18:15:21 +0000 |
commit | 9842ceae9fa8deae141533d52a6ead7666962c09 (patch) | |
tree | 773c1a5e348b02db818a7a9b271a27d05d4a7c9f /arch/arm64/kernel/signal.c | |
parent | 06beb72fbe23e348cc423dd9310c6fc02cd7c7da (diff) | |
download | linux-stable-9842ceae9fa8deae141533d52a6ead7666962c09.tar.gz linux-stable-9842ceae9fa8deae141533d52a6ead7666962c09.tar.bz2 linux-stable-9842ceae9fa8deae141533d52a6ead7666962c09.zip |
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>
Diffstat (limited to 'arch/arm64/kernel/signal.c')
-rw-r--r-- | arch/arm64/kernel/signal.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c index 404dd67080b9..c7b6de62f9d3 100644 --- a/arch/arm64/kernel/signal.c +++ b/arch/arm64/kernel/signal.c @@ -414,6 +414,9 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, } else { local_irq_enable(); + if (thread_flags & _TIF_UPROBE) + uprobe_notify_resume(regs); + if (thread_flags & _TIF_SIGPENDING) do_signal(regs); |