|
@@ -28,6 +28,7 @@
|
|
|
#include <linux/ptrace.h>
|
|
|
#include <linux/unistd.h>
|
|
|
#include <linux/uaccess.h>
|
|
|
+#include <linux/tracehook.h>
|
|
|
|
|
|
#include <asm/cacheflush.h>
|
|
|
#include <asm/syscalls.h>
|
|
@@ -350,6 +351,12 @@ asmlinkage void do_notify_resume(struct pt_regs *regs, void *unused,
|
|
|
__u32 thread_info_flags)
|
|
|
{
|
|
|
/* deal with pending signal delivery */
|
|
|
- if (thread_info_flags & (_TIF_SIGPENDING | _TIF_RESTORE_SIGMASK))
|
|
|
+ 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);
|
|
|
+ if (current->replacement_session_keyring)
|
|
|
+ key_replace_session_keyring();
|
|
|
+ }
|
|
|
}
|