|
@@ -15,6 +15,7 @@
|
|
|
#include <linux/errno.h>
|
|
|
#include <linux/wait.h>
|
|
|
#include <linux/ptrace.h>
|
|
|
+#include <linux/tracehook.h>
|
|
|
#include <linux/unistd.h>
|
|
|
#include <linux/stddef.h>
|
|
|
#include <linux/personality.h>
|
|
@@ -444,8 +445,6 @@ handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka,
|
|
|
* handler too.
|
|
|
*/
|
|
|
regs->flags &= ~X86_EFLAGS_TF;
|
|
|
- if (test_thread_flag(TIF_SINGLESTEP))
|
|
|
- ptrace_notify(SIGTRAP);
|
|
|
|
|
|
spin_lock_irq(¤t->sighand->siglock);
|
|
|
sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask);
|
|
@@ -453,6 +452,9 @@ handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka,
|
|
|
sigaddset(¤t->blocked,sig);
|
|
|
recalc_sigpending();
|
|
|
spin_unlock_irq(¤t->sighand->siglock);
|
|
|
+
|
|
|
+ tracehook_signal_handler(sig, info, ka, regs,
|
|
|
+ test_thread_flag(TIF_SINGLESTEP));
|
|
|
}
|
|
|
|
|
|
return ret;
|