aboutsummaryrefslogtreecommitdiff
path: root/arch/arm64/kernel/signal.c
diff options
context:
space:
mode:
authorPratyush Anand <panand@redhat.com>2014-12-30 17:07:12 +0530
committerSteven Capper <steve.capper@linaro.org>2015-04-07 12:58:39 +0100
commitfb4e988f3d1a0868a44e430933c4297619e93304 (patch)
tree7bc941cd3bf46369ba988e59a64db2faf6bf10ef /arch/arm64/kernel/signal.c
parentca722ab33771c09965172e81f77a1b4b18ed104e (diff)
downloadlinux-fb4e988f3d1a0868a44e430933c4297619e93304.tar.gz
ARM64: Add uprobe support
This patch adds support for uprobe on ARM64 architecture. Unit test for following has been done so far and they have been found working 1. Step-able instructions, like sub, ldr, add etc. 2. Simulation-able like ret. 3. uretprobe 4. Reject-able instructions like sev, wfe etc. 5. trapped and abort xol path 6. probe at unaligned user address. Currently it does not support aarch32 instruction probing. Signed-off-by: Pratyush Anand <panand@redhat.com> Signed-off-by: Steve Capper <steve.capper@linaro.org>
Diffstat (limited to 'arch/arm64/kernel/signal.c')
-rw-r--r--arch/arm64/kernel/signal.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c
index 660ccf9f752..2b2ed5e32f5 100644
--- a/arch/arm64/kernel/signal.c
+++ b/arch/arm64/kernel/signal.c
@@ -409,6 +409,9 @@ static void do_signal(struct pt_regs *regs)
asmlinkage void do_notify_resume(struct pt_regs *regs,
unsigned int thread_flags)
{
+ if (thread_flags & _TIF_UPROBE)
+ uprobe_notify_resume(regs);
+
if (thread_flags & _TIF_SIGPENDING)
do_signal(regs);
@@ -419,5 +422,4 @@ asmlinkage void do_notify_resume(struct pt_regs *regs,
if (thread_flags & _TIF_FOREIGN_FPSTATE)
fpsimd_restore_current_state();
-
}