|
@@ -13,6 +13,7 @@
|
|
|
#include <linux/signal.h>
|
|
|
#include <linux/uprobes.h>
|
|
|
#include <linux/key.h>
|
|
|
+#include <linux/context_tracking.h>
|
|
|
#include <asm/hw_breakpoint.h>
|
|
|
#include <asm/uaccess.h>
|
|
|
#include <asm/unistd.h>
|
|
@@ -159,6 +160,8 @@ static int do_signal(struct pt_regs *regs)
|
|
|
|
|
|
void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags)
|
|
|
{
|
|
|
+ user_exit();
|
|
|
+
|
|
|
if (thread_info_flags & _TIF_UPROBE)
|
|
|
uprobe_notify_resume(regs);
|
|
|
|
|
@@ -169,4 +172,6 @@ void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags)
|
|
|
clear_thread_flag(TIF_NOTIFY_RESUME);
|
|
|
tracehook_notify_resume(regs);
|
|
|
}
|
|
|
+
|
|
|
+ user_enter();
|
|
|
}
|