Skip to contentSkip to conversation

Finalized FPU Crash Fix?

DISCUSSION Josh Myer 2 participants 2 messages Jun 17, 2004

lore
Share & tools
lore

Josh Myer

author
#0 lore raw

Hello everybody,

Is there a general concensus that the one-liner in 2.6.7 is an appropriate fix for the FPU hang/crash bug? I have several machines running 2.4.x which require that outside people have shell access. Needless to say, I'm somewhat nervous about this problem =)

I'm trying to find a nice balance between potential downtime due to malicious users and loss of functionality/b0rkedness due to unforeseen bugs in quick fixes. I've seen at least three different solutions to this problem; two of them have confirmed negative side-effects. Noone seems to have complained about the one-liner. Does anyone foresee problems here, or should this be the correct fix (it seems right to me, but my CPU-level voodoo is weak).

Thanks in advance,

Signature · 5 lines
/jbm, but you can call me Josh. Really, you can.

 "People shouldn't see man-made global disasters as a bad thing, they
  should see them as scientific breakthroughs waiting to happen."
   -- The Onion
#1 lore raw

Re: Finalized FPU Crash Fix? [2.2.x]

Quoted 6 lines · Josh Myer

Hello everybody,

Is there a general concensus that the one-liner in 2.6.7 is an appropriate fix for the FPU hang/crash bug? I have several machines running 2.4.x which require that outside people have shell access. Needless to say, I'm somewhat nervous about this problem =)

And how this look in 2.2.x kernels? One guy here tells me that after running
http://linuxreviews.org/news/2004-06-11_kernel_crash/index.html#toc1the 2.2 kernel freezes.

Is such fix right one? 2.2.x doesn't crash with it.

Index: SOURCES/kernel-fwait-2.2.patch

kernel-fwait-2.2.patch Thu Jun 17 15:34:36 2004 renamed from dev/null Thu Jun 17 15:34:42 2004 +10 -0
diff -u /dev/null SOURCES/kernel-fwait-2.2.patch:1.1
@@ -0,0 +1,10 @@
+--- linux-2.2.26/include/asm-i386/processor.h~ Thu Jun 17 17:19:57 2004
++++ linux-2.2.26/include/asm-i386/processor.h  Thu Jun 17 17:32:36 2004
+@@ -426,6 +426,7 @@
+ 
+ #define clear_fpu(tsk) do { \
+       if (tsk->flags & PF_USEDFPU) { \
++              asm volatile("fnclex ; fwait"); \
+               tsk->flags &= ~PF_USEDFPU; \
+               stts(); \
+       } \
Signature · 2 lines
Arkadiusz Miśkiewicz     CS at FoE, Wroclaw University of Technology
arekm.pld-linux.org, 1024/3DB19BBD, JID: arekm.jabber.org, PLD/Linux