From 3334bf12480f10377e44d932baf53f34ec737f8b Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Fri, 11 May 2012 10:59:08 +1000 Subject: hexagon: do_notify_resume() needs tracehook_notify_resume() arch/hexagon/kernel/signal.c:do_notify_resume() forgets to call tracehook_notify_resume() if TIF_NOTIFY_RESUME is set. Signed-off-by: Oleg Nesterov Acked-by: Richard Kuo Cc: David Howells Cc: Thomas Gleixner Cc: Linus Torvalds Cc: Alexander Gordeev Cc: Chris Zankel Cc: David Smith Cc: "Frank Ch. Eigler" Cc: Geert Uytterhoeven Cc: Larry Woodman Cc: Peter Zijlstra Cc: Tejun Heo Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Al Viro --- arch/hexagon/kernel/signal.c | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/hexagon') diff --git a/arch/hexagon/kernel/signal.c b/arch/hexagon/kernel/signal.c index ecbab3457606..ab5f5ad12713 100644 --- a/arch/hexagon/kernel/signal.c +++ b/arch/hexagon/kernel/signal.c @@ -272,6 +272,7 @@ void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags) 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(); } -- cgit v1.2.3 From ef9b122f322d9d9550160ca33a6efbd759a43b55 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sun, 22 Apr 2012 03:31:24 -0400 Subject: hexagon: ->restart_block.fn needs to be reset on rt_sigreturn Signed-off-by: Al Viro --- arch/hexagon/kernel/signal.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'arch/hexagon') diff --git a/arch/hexagon/kernel/signal.c b/arch/hexagon/kernel/signal.c index ab5f5ad12713..434866eb0f1c 100644 --- a/arch/hexagon/kernel/signal.c +++ b/arch/hexagon/kernel/signal.c @@ -294,6 +294,9 @@ asmlinkage int sys_rt_sigreturn(void) struct rt_sigframe __user *frame; sigset_t blocked; + /* Always make any pending restarted system calls return -EINTR */ + current_thread_info()->restart_block.fn = do_no_restart_syscall; + frame = (struct rt_sigframe __user *)pt_psp(regs); if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) goto badframe; -- cgit v1.2.3