[PATCH] i386: fix stack alignment for signal handlers
authorMarkus F.X.J. Oberhumer <markus@oberhumer.com>
Sun, 9 Oct 2005 16:54:23 +0000 (18:54 +0200)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 10 Oct 2005 15:45:06 +0000 (08:45 -0700)
commitd347f372273c2b3d86a66e2e1c94c790c208e166
tree2015798f0acdc66866765438343f992326db51ad
parent867f8b4e47a17c5d68c98dc6eee12739c4490056
[PATCH] i386: fix stack alignment for signal handlers

This fixes the setup of the alignment of the signal frame, so that all
signal handlers are run with a properly aligned stack frame.

The current code "over-aligns" the stack pointer so that the stack frame
is effectively always mis-aligned by 4 bytes.  But what we really want
is that on function entry ((sp + 4) & 15) == 0, which matches what would
happen if the stack were aligned before a "call" instruction.

Signed-off-by: Markus F.X.J. Oberhumer <markus@oberhumer.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/signal.c
arch/x86_64/ia32/ia32_signal.c