[PATCH]
PATCH 1/1 [PATCH]
Quoted 1 line
From Dave Richards ([email protected])
While diagnosing an MMX/FPU problem I found a minor problem in the code which diagnoses and generates signals for FPU exceptions. On x86 Stack Fault Exception are a subclass of Invalid Operation. Thus, the FPU status register will have both the SF and IF bits set when a stack fault occurs. The code which turns FPU exceptions into signals was assuming IF would be clear:
arch/i386/kernel/traps.c +3 -2
@@ -629,9 +629,10 @@ void math_error(void *eip)default :break ;case 0x001 :/* Invalid Op */ -case 0x040 :/* Stack Fault */ -case 0x240 :/* Stack Fault | Direction */ +case 0x041 :/* Stack Fault */ +case 0x241 :/* Stack Fault | Direction */ info.si_code =FPE_FLTINV ; +/* Should we clear the SF or let user space do it ???? */ break ;case 0x002 :/* Denormalize */ case 0x010 :/* Underflow */