diff options
Diffstat (limited to 'arch/frv/kernel/signal.c')
-rw-r--r-- | arch/frv/kernel/signal.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/frv/kernel/signal.c b/arch/frv/kernel/signal.c index 3bdb368292a8..4a7a62c6e783 100644 --- a/arch/frv/kernel/signal.c +++ b/arch/frv/kernel/signal.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/unistd.h> | 21 | #include <linux/unistd.h> |
22 | #include <linux/personality.h> | 22 | #include <linux/personality.h> |
23 | #include <linux/freezer.h> | 23 | #include <linux/freezer.h> |
24 | #include <linux/tracehook.h> | ||
24 | #include <asm/ucontext.h> | 25 | #include <asm/ucontext.h> |
25 | #include <asm/uaccess.h> | 26 | #include <asm/uaccess.h> |
26 | #include <asm/cacheflush.h> | 27 | #include <asm/cacheflush.h> |
@@ -516,6 +517,9 @@ static void do_signal(void) | |||
516 | * clear the TIF_RESTORE_SIGMASK flag */ | 517 | * clear the TIF_RESTORE_SIGMASK flag */ |
517 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) | 518 | if (test_thread_flag(TIF_RESTORE_SIGMASK)) |
518 | clear_thread_flag(TIF_RESTORE_SIGMASK); | 519 | clear_thread_flag(TIF_RESTORE_SIGMASK); |
520 | |||
521 | tracehook_signal_handler(signr, &info, &ka, __frame, | ||
522 | test_thread_flag(TIF_SINGLESTEP)); | ||
519 | } | 523 | } |
520 | 524 | ||
521 | return; | 525 | return; |
@@ -564,4 +568,10 @@ asmlinkage void do_notify_resume(__u32 thread_info_flags) | |||
564 | if (thread_info_flags & (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK)) | 568 | if (thread_info_flags & (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK)) |
565 | do_signal(); | 569 | do_signal(); |
566 | 570 | ||
571 | /* deal with notification on about to resume userspace execution */ | ||
572 | if (thread_info_flags & _TIF_NOTIFY_RESUME) { | ||
573 | clear_thread_flag(TIF_NOTIFY_RESUME); | ||
574 | tracehook_notify_resume(__frame); | ||
575 | } | ||
576 | |||
567 | } /* end do_notify_resume() */ | 577 | } /* end do_notify_resume() */ |