F00f |
f00f, (pronounced foof) , a Contraction (linguistics) of 0xf00fc7c8, is the hexadecimal encoding of an instruction that exhibits a design flaw in the majority of Intel Pentium, Pentium MMX, and Pentium OverDrive processors.
Intel calls this issue the invalid operand with locked CMPXCHG8B instruction.
=Description=
In AT&T syntax, the Instruction represents
lock cmpxchg8b %eax
Note that the operand must be a register, but technically does not have to be eax.
The cmpxchg8b Instruction is used to compare the value in the edx and eax processor register with an 8 byte value at some memory location. In this example a 4 byte register is used as the destination Operand, which would not be big enough to store the 8 byte result.
In normal circumstances, this would simply result in an exception handling, however when used with the lock prefix (normally used to prevent two processors from interfering with the same memory location), the exception handler is never called, the processor stops servicing interrupts and the system must be reboot.
The instruction does not require any Ring 0, and due to the proliferation of Intel microprocessors, was considered a serious issue at the time. Operating System vendors responded by implementing workaround that detected the condition and prevented the crash.
Although technically not an example of either, the f00f is often considered an Halt and Catch Fire instruction, or a killer poke. Since the f00f bug has become common knowledge, the term is sometimes used to describe similar hardware design flaws, such as the Cyrix coma bug.
No permanent damage would result from executing the f00f instruction on a vulnerable system, although depending on file system, operating system, and other circumstances, if the cache had not been flushed, any drives were interrupted during a write operation, or some other non-atomic operation was interrupted, it is possible for data loss to occur.
Although it is almost universally accepted that the bug is a result of design flaw rather than a backdoor, some conspiracy theorists have noted the coincidental foo prefix, a well known term in hacker jargon.
No Intel processors since the introduction of the Pentium Pro have been affected by the bug.
=See also=
*Killer poke *Halt and Catch Fire *Intel *Hacker jargon *Pentium FDIV bug
=External links=
*[http://support.intel.com/support/processors/pentium/ppiie/index.htm Intel erratum] *[http://support.microsoft.com/kb/q163852/ Microsoft knowledge base article] *[http://news.com.com/2100-1033-205157.htmllegacy=cnet CNET Article]|
|