* [PATCH 01/20] arm: Do not call do_signal() with irqs disabled
@ 2012-05-25 22:04 Richard Weinberger
2012-05-25 22:04 ` [PATCH 13/20] arm: Do not call try_to_freeze() in do_signal() Richard Weinberger
2012-05-25 23:45 ` [PATCH 01/20] arm: Do not call do_signal() with irqs disabled Russell King - ARM Linux
0 siblings, 2 replies; 5+ messages in thread
From: Richard Weinberger @ 2012-05-25 22:04 UTC (permalink / raw)
To: linux-arm-kernel
get_signal_to_deliver() calls try_to_freeze() which might sleep.
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-arm-kernel at lists.infradead.org
Signed-off-by: Richard Weinberger <richard@nod.at>
---
arch/arm/kernel/signal.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index 4e5fdd9..434a1f3 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -13,6 +13,7 @@
#include <linux/freezer.h>
#include <linux/uaccess.h>
#include <linux/tracehook.h>
+#include <linux/irqflags.h>
#include <asm/elf.h>
#include <asm/cacheflush.h>
@@ -722,6 +723,8 @@ static void do_signal(struct pt_regs *regs, int syscall)
asmlinkage void
do_notify_resume(struct pt_regs *regs, unsigned int thread_flags, int syscall)
{
+ local_irq_enable();
+
if (thread_flags & _TIF_SIGPENDING)
do_signal(regs, syscall);
--
1.7.7.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 13/20] arm: Do not call try_to_freeze() in do_signal()
2012-05-25 22:04 [PATCH 01/20] arm: Do not call do_signal() with irqs disabled Richard Weinberger
@ 2012-05-25 22:04 ` Richard Weinberger
2012-05-25 23:43 ` Russell King - ARM Linux
2012-05-25 23:45 ` [PATCH 01/20] arm: Do not call do_signal() with irqs disabled Russell King - ARM Linux
1 sibling, 1 reply; 5+ messages in thread
From: Richard Weinberger @ 2012-05-25 22:04 UTC (permalink / raw)
To: linux-arm-kernel
get_signal_to_deliver() already calls try_to_freeze(), there is no
need to call it directly.
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-arm-kernel at lists.infradead.org
Signed-off-by: Richard Weinberger <richard@nod.at>
---
arch/arm/kernel/signal.c | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index 434a1f3..aeebb46 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -10,7 +10,6 @@
#include <linux/errno.h>
#include <linux/signal.h>
#include <linux/personality.h>
-#include <linux/freezer.h>
#include <linux/uaccess.h>
#include <linux/tracehook.h>
#include <linux/irqflags.h>
@@ -636,9 +635,6 @@ static void do_signal(struct pt_regs *regs, int syscall)
}
}
- if (try_to_freeze())
- goto no_signal;
-
/*
* Get the signal to deliver. When running under ptrace, at this
* point the debugger may change all our registers ...
@@ -678,7 +674,6 @@ static void do_signal(struct pt_regs *regs, int syscall)
return;
}
- no_signal:
if (syscall) {
/*
* Handle restarting a different system call. As above,
--
1.7.7.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 13/20] arm: Do not call try_to_freeze() in do_signal()
2012-05-25 22:04 ` [PATCH 13/20] arm: Do not call try_to_freeze() in do_signal() Richard Weinberger
@ 2012-05-25 23:43 ` Russell King - ARM Linux
2012-05-26 8:55 ` Richard Weinberger
0 siblings, 1 reply; 5+ messages in thread
From: Russell King - ARM Linux @ 2012-05-25 23:43 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, May 26, 2012 at 12:04:29AM +0200, Richard Weinberger wrote:
> get_signal_to_deliver() already calls try_to_freeze(), there is no
> need to call it directly.
NAK. Please check linux-next (okay, viro's patches haven't appeared
there yet) but a lot of this stuff is covered by a truckload of work
that Al's done.
Please don't work across Al.
commit d9be5ea6f9b6a51535ccdd9881ffb3be2dbd48e9
Author: Al Viro <viro@zeniv.linux.org.uk>
Date: Fri Apr 27 01:18:52 2012 -0400
arm: don't call try_to_freeze() from do_signal()
get_signal_to_deliver() will handle it itself
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index a6c4e78..3b37c14 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -642,9 +642,6 @@ static void do_signal(struct pt_regs *regs, int syscall)
}
}
- if (try_to_freeze())
- goto no_signal;
-
/*
* Get the signal to deliver. When running under ptrace, at this
* point the debugger may change all our registers ...
@@ -684,7 +681,6 @@ static void do_signal(struct pt_regs *regs, int syscall)
return;
}
- no_signal:
if (syscall) {
/*
* Handle restarting a different system call. As above,
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 01/20] arm: Do not call do_signal() with irqs disabled
2012-05-25 22:04 [PATCH 01/20] arm: Do not call do_signal() with irqs disabled Richard Weinberger
2012-05-25 22:04 ` [PATCH 13/20] arm: Do not call try_to_freeze() in do_signal() Richard Weinberger
@ 2012-05-25 23:45 ` Russell King - ARM Linux
1 sibling, 0 replies; 5+ messages in thread
From: Russell King - ARM Linux @ 2012-05-25 23:45 UTC (permalink / raw)
To: linux-arm-kernel
On Sat, May 26, 2012 at 12:04:17AM +0200, Richard Weinberger wrote:
> get_signal_to_deliver() calls try_to_freeze() which might sleep.
True enough, and this problem has been around for some time, and it's
not as simple to fix as "lets just ignore everything else and enable
interrupts to shutup the warning".
There's bigger issues here with syscall restarting that should be
resolved first, and there's work in progress to do that. Again,
like I said in my previous email, Al's done a great deal of work
in this area and I get the impression that you're redoing some of
that.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-05-26 8:55 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-25 22:04 [PATCH 01/20] arm: Do not call do_signal() with irqs disabled Richard Weinberger
2012-05-25 22:04 ` [PATCH 13/20] arm: Do not call try_to_freeze() in do_signal() Richard Weinberger
2012-05-25 23:43 ` Russell King - ARM Linux
2012-05-26 8:55 ` Richard Weinberger
2012-05-25 23:45 ` [PATCH 01/20] arm: Do not call do_signal() with irqs disabled Russell King - ARM Linux
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).