2004-06-17 16:09:18

by Josh Myer

[permalink] [raw]
Subject: Finalized FPU Crash Fix?

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,
--
/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


Attachments:
(No filename) (960.00 B)
signature.asc (189.00 B)
Digital signature
Download all attachments

2004-06-17 16:55:39

by Arkadiusz Miskiewicz

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

On Thursday 17 of June 2004 18:08, Josh Myer wrote:
> 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
diff -u /dev/null SOURCES/kernel-fwait-2.2.patch:1.1
--- /dev/null Thu Jun 17 15:34:42 2004
+++ SOURCES/kernel-fwait-2.2.patch Thu Jun 17 15:34:36 2004
@@ -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(); \
+ } \
--
Arkadiusz Mi?kiewicz CS at FoE, Wroclaw University of Technology
arekm.pld-linux.org, 1024/3DB19BBD, JID: arekm.jabber.org, PLD/Linux