x86: clear DF before calling signal handler
authorAurelien Jarno <aurelien@aurel32.net>
Wed, 5 Mar 2008 18:14:24 +0000 (19:14 +0100)
committerIngo Molnar <mingo@elte.hu>
Fri, 7 Mar 2008 15:39:14 +0000 (16:39 +0100)
commite40cd10ccff3d9fbffd57b93780bee4b7b9bff51
treebdc58b9f84e7e4bd37da3bfb1f9a445a1560c0c3
parentce4796d1e16cf3761dc2a02b8d588667d05b3078
x86: clear DF before calling signal handler

The Linux kernel currently does not clear the direction flag before
calling a signal handler, whereas the x86/x86-64 ABI requires that.

Linux had this behavior/bug forever, but this becomes a real problem
with gcc version 4.3, which assumes that the direction flag is
correctly cleared at the entry of a function.

This patches changes the setup_frame() functions to clear the
direction before entering the signal handler.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/ia32/ia32_signal.c
arch/x86/kernel/signal_32.c
arch/x86/kernel/signal_64.c