• Chuck Ebbert's avatar
    [PATCH] i386: fix incorrect FP signal code · b1daec30
    Chuck Ebbert authored
    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: default avatarChuck Ebbert <76306.1226@compuserve.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    b1daec30
traps.c 28.3 KB