m68knommu: fix signal handling return path
authorWilson Callan <wcallan@savantav.com>
Thu, 1 May 2008 02:16:28 +0000 (12:16 +1000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 1 May 2008 15:08:35 +0000 (08:08 -0700)
commit2d7f16d6d12682c41fb287ea8261df8e4679f638
treec9e8bce26b85ec9f4790e0f18baaa24c8f6d8f38
parent10ed2195bb8aef4358223f07bb00e8cf9b278bf2
m68knommu: fix signal handling return path

The return from software signal handling pushes code on the stack
that system calls to the kernels cleanup code. This is borrowed
directly from the m68k linux signal handler.

The rt signal case is not quite right for the restricted instruction
set of the ColdFire parts. And neither the normal signal case or rt
signal case properly flushes/pushes the appropriate cache lines.

Rework the return path to just call back through some code fragments
in the kernel proper (with no MMU in the way we can do this). No
cache problems, and less code overall.

Original patch submitted by Wilson Callan <wcallan@savantav.com>

Greg fixed the rt signal return path to use the proper system call

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/m68knommu/kernel/entry.S
arch/m68knommu/kernel/signal.c