The recently discovered "FO bug" causes Pentium- and Pentium with MMX-based systems to crash when a few lines of innocent-looking machine code -- F0 0F C7 C8 -- are sent to the CPU. It's unlikely for this code to appear in any commercial software because it doesn't convey a useful executable command. However, it offers hackers a new mechanism with which to launch malicious programs against systems and servers. This bug can occur regardless of what OS a system is running.
) about how OS vendors can fix this problem. These workarounds generate a page fault when the invalid exception occurs, avoiding the bus-lock condition and allowing the processor to execute the error handler.
As this article went to press, all the major commercial OS vendors had
pledged to work with Intel on creating fixes, but they hadn't yet made their implementations available for their customers. However, a patch for Linux-based systems is already available at
ftp://ftp.kernel.org/pub/linux/kernel/.
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it
is
theoretical--and no language better exemplifies this than C++.
BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin,
and dozens of other CMP publications—bringing
you critical news and information about wireless communication,
computer security, software development, embedded systems,
and more!