[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201204281858.q3SIwC7H014319@farm-0027.internal.tilera.com>
Date: Sat, 28 Apr 2012 14:51:43 -0400
From: Chris Metcalf <cmetcalf@...era.com>
To: Al Viro <viro@...IV.linux.org.uk>
CC: Oleg Nesterov <oleg@...hat.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
<linux-arch@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: [PATCH] arch/tile: avoid calling do_signal() after fork from a kernel thread
Calling interrupt_return will check the privilege of the context we're
returning to avoid the possibility of kernel threads doing any kind
of userspace actions (including signal handling) after a fork.
Signed-off-by: Chris Metcalf <cmetcalf@...era.com>
---
Al, thanks for noticing this. I've queued it up for 3.4.
Do you have a case that might provoke the signal behavior in the
unpatched code? The patched code passes our internal regressions.
arch/tile/kernel/intvec_32.S | 2 +-
arch/tile/kernel/intvec_64.S | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/tile/kernel/intvec_32.S b/arch/tile/kernel/intvec_32.S
index 5d56a1e..d0f48ca 100644
--- a/arch/tile/kernel/intvec_32.S
+++ b/arch/tile/kernel/intvec_32.S
@@ -1274,7 +1274,7 @@ STD_ENTRY(ret_from_fork)
FEEDBACK_REENTER(ret_from_fork)
{
movei r30, 0 /* not an NMI */
- j .Lresume_userspace /* jump into middle of interrupt_return */
+ j interrupt_return
}
STD_ENDPROC(ret_from_fork)
diff --git a/arch/tile/kernel/intvec_64.S b/arch/tile/kernel/intvec_64.S
index 49d9d66..252924b 100644
--- a/arch/tile/kernel/intvec_64.S
+++ b/arch/tile/kernel/intvec_64.S
@@ -1120,7 +1120,7 @@ STD_ENTRY(ret_from_fork)
FEEDBACK_REENTER(ret_from_fork)
{
movei r30, 0 /* not an NMI */
- j .Lresume_userspace /* jump into middle of interrupt_return */
+ j interrupt_return
}
STD_ENDPROC(ret_from_fork)
--
1.6.5.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists