Messages in this thread Patch in this message | | | From | Richard Weinberger <> | Subject | [PATCH 03/20] cris: Do not call do_signal() with irqs disabled | Date | Sat, 26 May 2012 00:04:19 +0200 |
| |
get_signal_to_deliver() calls try_to_freeze() which might sleep.
Cc: Mikael Starvik <starvik@axis.com> Cc: Jesper Nilsson <jesper.nilsson@axis.com> Cc: linux-cris-kernel@axis.com Signed-off-by: Richard Weinberger <richard@nod.at> --- arch/cris/kernel/ptrace.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/cris/kernel/ptrace.c b/arch/cris/kernel/ptrace.c index d114ad3..da1b647 100644 --- a/arch/cris/kernel/ptrace.c +++ b/arch/cris/kernel/ptrace.c @@ -17,6 +17,7 @@ #include <linux/ptrace.h> #include <linux/user.h> #include <linux/tracehook.h> +#include <linux/irqflags.h> #include <asm/uaccess.h> #include <asm/page.h> @@ -33,6 +34,8 @@ extern int do_signal(int canrestart, struct pt_regs *regs); void do_notify_resume(int canrestart, struct pt_regs *regs, __u32 thread_info_flags) { + local_irq_enable(); + /* deal with pending signal delivery */ if (thread_info_flags & _TIF_SIGPENDING) do_signal(canrestart,regs); -- 1.7.7.3
| |