Re: Intel Pentium Bug: BSDI Releases a patch

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 12 Nov 1997 17:53:28 +0000 (GMT)


> If I understand it right, the processor makes a half-hearted attempt to raise
> an invalid opcode exception. If the vector for that is in memory but not the
> cache, it'll crash and burn.

Apparently not so simple a condition. What the patch appears to do is to
arrange that low traps (like invalid opcode) are in a page of memory that
doesnt exist.

What happens then appears to be

LOCK CMPXCHG8 invalid

Exception Bad opcode

Trap vector is missing - oh bugger

Exception Page fault

Ah this one exists

and in the page fault handler fix up and execute the real trap