diff options
author | Oleg Nesterov <oleg@redhat.com> | 2012-09-14 13:05:46 -0400 |
---|---|---|
committer | Oleg Nesterov <oleg@redhat.com> | 2012-09-29 15:21:53 -0400 |
commit | db023ea595015058270be6a62fe60a7b6b5c50d7 (patch) | |
tree | 44e26d8b5bb73d5847150af9d5c9a3fa25bf3573 | |
parent | 1b08e907211cdc744f54871736005d9f3e7f182c (diff) |
uprobes: Move clear_thread_flag(TIF_UPROBE) to uprobe_notify_resume()
Move clear_thread_flag(TIF_UPROBE) from do_notify_resume() to
uprobe_notify_resume() for !CONFIG_UPROBES case.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
-rw-r--r-- | arch/x86/kernel/signal.c | 4 | ||||
-rw-r--r-- | kernel/events/uprobes.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c index b280908a376e..0041e5a5293b 100644 --- a/arch/x86/kernel/signal.c +++ b/arch/x86/kernel/signal.c | |||
@@ -785,10 +785,8 @@ do_notify_resume(struct pt_regs *regs, void *unused, __u32 thread_info_flags) | |||
785 | mce_notify_process(); | 785 | mce_notify_process(); |
786 | #endif /* CONFIG_X86_64 && CONFIG_X86_MCE */ | 786 | #endif /* CONFIG_X86_64 && CONFIG_X86_MCE */ |
787 | 787 | ||
788 | if (thread_info_flags & _TIF_UPROBE) { | 788 | if (thread_info_flags & _TIF_UPROBE) |
789 | clear_thread_flag(TIF_UPROBE); | ||
790 | uprobe_notify_resume(regs); | 789 | uprobe_notify_resume(regs); |
791 | } | ||
792 | 790 | ||
793 | /* deal with pending signal delivery */ | 791 | /* deal with pending signal delivery */ |
794 | if (thread_info_flags & _TIF_SIGPENDING) | 792 | if (thread_info_flags & _TIF_SIGPENDING) |
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index d3f5381e7482..198d732ab901 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c | |||
@@ -1558,6 +1558,8 @@ void uprobe_notify_resume(struct pt_regs *regs) | |||
1558 | { | 1558 | { |
1559 | struct uprobe_task *utask; | 1559 | struct uprobe_task *utask; |
1560 | 1560 | ||
1561 | clear_thread_flag(TIF_UPROBE); | ||
1562 | |||
1561 | utask = current->utask; | 1563 | utask = current->utask; |
1562 | if (utask && utask->active_uprobe) | 1564 | if (utask && utask->active_uprobe) |
1563 | handle_singlestep(utask, regs); | 1565 | handle_singlestep(utask, regs); |