[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Pentium bug Q



On Fri, 16 Apr 1999, Thomas Ruedas wrote:

> I have recently switched from SuSE Linux to Debian and installed 2.0.34.
> When booting I noticed the following message:
> Intel Pentium with F0 0F bug
> Workaround enabled.
> Does somebody know what bug this is and what workaround is implemented.

 There was some flak about it a while ago. There's a particular invalid
instruction that, if any application (even an unprivileged one) tries to
execute it, it locks up the CPU. Needless to say, this was viewed as no
big deal for the Windows crowd, but a serious security problem for those
who use real operating systems. The instruction began with the hexadecimal
digits "F00F" and is generally called the "foof-bug".

 (The Pentium (and, indeed, all CPUS) are supposed to reject all invalid
opcodes. There are a *lot* more invalid opcodes than valid ones. For
example, assuming a 32-bit number for an opcode, and a ridiculously CISC
processor with 10,000 opcodes (the pentium has a few hundred, I think) any
randum number has only about a .0002% chance of being a valid code.)

 Linux now implements a workaround that essentially allows the processor
to successfully reject the instruction instead of locking up. The
application will crash but Linux will happily run along as normal. Very
fortunately, the workaround does not cost *anything* in performance. You
can do a web search on the foof-bug if you're interested.

 Sincerely,

 Ray Ingles        (248) 377-7735         ray.ingles@fanucrobotics.com

     "Economies don't like step functions." - Dr. Leonard Bieman


Reply to: