summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/signal_64.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2008-04-20 04:10:57 +0200
committerRoland McGrath <roland@redhat.com>2008-07-26 23:38:05 +0200
commit59e52130f04537d2c80ea44bb007cadd1ad29543 (patch)
tree80531b2e893f1b4a339ffc84351a82c0347601e6 /arch/x86/kernel/signal_64.c
parentx86 signals: use asm/syscall.h (diff)
downloadlinux-59e52130f04537d2c80ea44bb007cadd1ad29543.tar.xz
linux-59e52130f04537d2c80ea44bb007cadd1ad29543.zip
x86: tracehook: TIF_NOTIFY_RESUME
This adds TIF_NOTIFY_RESUME support for x86, both 64-bit and 32-bit. When set, we call tracehook_notify_resume() on the way to user mode. Signed-off-by: Roland McGrath <roland@redhat.com>
Diffstat (limited to 'arch/x86/kernel/signal_64.c')
-rw-r--r--arch/x86/kernel/signal_64.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/signal_64.c b/arch/x86/kernel/signal_64.c
index cb7cf0216ab7..d01e3f6ef26d 100644
--- a/arch/x86/kernel/signal_64.c
+++ b/arch/x86/kernel/signal_64.c
@@ -523,6 +523,11 @@ void do_notify_resume(struct pt_regs *regs, void *unused,
/* deal with pending signal delivery */
if (thread_info_flags & _TIF_SIGPENDING)
do_signal(regs);
+
+ if (thread_info_flags & _TIF_NOTIFY_RESUME) {
+ clear_thread_flag(TIF_NOTIFY_RESUME);
+ tracehook_notify_resume(regs);
+ }
}
void signal_fault(struct pt_regs *regs, void __user *frame, char *where)