SI
SI
discoversearch

We've detected that you're using an ad content blocking browser plug-in or feature. Ads provide a critical source of revenue to the continued operation of Silicon Investor.  We ask that you disable ad blocking while on Silicon Investor in the best interests of our community.  If you are not using an ad blocker but are still receiving this message, make sure your browser's tracking protection is set to the 'standard' level.
Technology Stocks : Intel Corporation (INTC) -- Ignore unavailable to you. Want to Upgrade?


To: Gary Kao who wrote (39489)11/7/1997 8:27:00 PM
From: Fred Fahmy  Read Replies (2) | Respond to of 186894
 
Gary,

IMO, this is NOT a bug, but more like a virus. This is like saying all cars have bugs because if you throw them in reverse while speeding down the highway it will crash the car. Collins admitts that the problem can only be initiated by issuing an ILLEGAL instruction. Do you call that a bug?? Are viruses just bugs that better processors would ignore??

Keep in mind that Collins is a kook who has a personal vendetta against Intel. He has devoted much of his life to trying to discredit Intel. Each time he loses that much more credibility. This guy really
needs to get a life.

FF



To: Gary Kao who wrote (39489)11/7/1997 8:54:00 PM
From: P.T.Burnem  Respond to of 186894
 

Pentium bug surfaces
By Brooke Crothers


a.k.a. Crooke Brothers?

PTB



To: Gary Kao who wrote (39489)11/7/1997 9:40:00 PM
From: Paul Engel  Read Replies (4) | Respond to of 186894
 
Gary - Re: Pentium Bug - ILLEGAL INSTRUCTIONS

Somebody posted to the USENET a series of opcodes that if used in a program would crash a Pentium or Pentium MMX:

"char x [5] = { 0xf0, 0x0f, 0xc7, 0xc8 };

main ()

void (*f)() = x;
f();

Looks like an invalid form of LOCK CMPXCHG8B to me...
>
>(F0 0F C7 = LOCK CMPXCHG8B and C8 means 'register addressing with AX'
>which makes no sense). I could be wrong though? "

The opcode sequence -- 0xf0, 0x0f, 0xc7, 0xc8 -- does the damage - but the folks who posted this DON"T EVEN KNOW WHAT THESE OP CODES DO! They are a series of unknown (as yet)and illegal instructions that wreck havoc on a Pentium.

A good analogy is driving down a highway at 65 MPH, slamming your automatic transmission into PARK - a totally doable deed, but certainly not advised in any owner's manual. The transmission would be wrecked, the car would decelerate and spin out of control and most likely cause a big accident - and Robert Collins would call his attorney, right after holding a press conference for the media, and sue the car manufacturer for "making this possible".

By the way - Robert Collins did not find this bug - he picked up on it from the usenet just today - now he claims he has known about the bug since the last ice age.

It appears that he immediately called CNET - BROOKE CAROTHERS - and spilled his guts in a hurry so he could get his second round of fame and fortune for reporting an insignificant, illegal and uncharacterized bug.

Paul



To: Gary Kao who wrote (39489)11/7/1997 10:13:00 PM
From: Gary Ng  Read Replies (1) | Respond to of 186894
 
Gary, This Collins is really interesting

"Nevertheless, this instruction could be inserted into a C program
and used maliciously to bring down a company's server
computers, for example, according to Collins."

There is thousands of ways to bring down a computer or
server using completely legal instruction.

Gary



To: Gary Kao who wrote (39489)11/9/1997 7:00:00 PM
From: Jeroen Pluimers  Read Replies (2) | Respond to of 186894
 
Gary,

This bug is NOT garbage. I have done some digging on the relevant usenet posts and some checking myself. A summary is below.

The Pentium F0 bug consists of a four byte sequence with these values detected to show buggy behaviour. These sequences are F0 0F C7 C8 trough F0 0F C7 CF (all values in hexadecimal).

The affected instruction is basically meaningless and decodes to a LOCK CMPXCHG8B instruction that does refers to the EAX trough EDI registers.

Since the instruction is not valid, an invalid instruction opcode exception should be generated by the processor. Most proccessors handle this correctly, however some don't. The only ones showing buggy behaviour are these:

P54C series (the 'classic' Pentium)
P55C series (the 'new' Pentium MMX)

These series include the mobile versions of these processors.

It seems that all other processors are unaffected including Intel Pentium Pro, Intel Pentium II, AMD and Cyrix Pentium compatible processors.

The problem is severe because the faulty processors do not generate an invalid instruction opcode exception, but completely lockup. Since it does not matter at which privilige level the instruction is executed, any process in the system can now completely lockup a system completely.

Some kinds of systems that are in great potential danger include, but are not limited to:

- Time sharing systems that run processes from multiple users (for instance the machines your ISP uses to let you logon an interactive session and run your own software)

- Web-servers that allow their users to run user-defines CGI programs

- End-users that allow their systems to run malicious ActiveX applications that have not been screened well enough

- Systems infected by a virus incorporating this bug-revealing code

Of course only systems are affected where someone is willingly trying to run malicious code. However, the chance of protecting a system against this code depends on how open the system must be in order to function at all.

To prevent damage, the following actions should be taken until Intel has found better countremeasures:

- Time sharing systems should limit their entrance to trusted users

- Web-servers should deny non-screened CGI scripts and limit those scripts to trusted users

- End-users should either disable ActiveX at all or only run ActiveX components using the highest screening level possible

- Everyone should run virus checking software at all times

In addition, all systems should keep log-files tracking (and saving to disk) execution of any piece of software before it gets executed. This facilitates tracing back what piece of software brought down the system.

jeroen