]> err.no Git - linux-2.6/commit
[PATCH] i386: fix incorrect FP signal code
authorChuck Ebbert <76306.1226@compuserve.com>
Wed, 24 Aug 2005 01:36:40 +0000 (21:36 -0400)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 24 Aug 2005 02:52:37 +0000 (19:52 -0700)
commitb1daec3089a129a67169d3ae975985a7480fe17f
tree874a99ec05afb39419f1e4ac0f90cf7c6a70e1fc
parent11532cc6aa73a47023268d718bf43b646494615c
[PATCH] i386: fix incorrect FP signal code

i386 floating-point exception handling has a bug that can cause error
code 0 to be sent instead of the proper code during signal delivery.

This is caused by unconditionally checking the IS and c1 bits from the
FPU status word when they are not always relevant.  The IS bit tells
whether an exception is a stack fault and is only relevant when the
exception is IE (invalid operation.) The C1 bit determines whether a
stack fault is overflow or underflow and is only relevant when IS and IE
are set.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/traps.c