Re: 2.1.63 - testing Pentium bug workaround..

Richard B. Johnson (root@chaos.analogic.com)
Thu, 13 Nov 1997 08:58:22 -0500 (EST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1295196120-1585882772-879429502=:434
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Wed, 12 Nov 1997, Simon's Mailing List Account wrote:

> On Wed, 12 Nov 1997, Linus Torvalds wrote:
>
> >
> > I just made 2.1.63 available on the normal ftp site (ftp.kernel.org,
> > direcoty pub/linux/kernel/v2.1). The most exciting change is probably the
> > preliminary patch by Ingo Molnar that should work around the by now
> > well-known Pentium lock-up bug. Many thanks to Ingo who put together the
> > patch from various snippets of information floating around.
>
> The pentium bugfix works the first time an 'exploit' is run,
> but the chip locks the second time.
>

I don't understand that. My test program runs "forever" with the new
patch 2.1.63

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <wait.h>

unsigned char c[]={0xf0,0x0f,0x00,0x00,0x00};

main()
{
int i;
unsigned short *punch;
void(*f)() = (void *) c;
punch = (unsigned short *) &c[2];

for(;;)
{
(*punch)++;
#if 0
if(*punch == 0xc8c7)
(*punch)++;
if(*punch == 0xc9c7)
(*punch)++;
if(*punch == 0xcac7)
(*punch)++;
if(*punch == 0xcbc7)
(*punch)++;
if(*punch == 0xccc7)
(*punch)++;
if(*punch == 0xcdc7)
(*punch)++;
if(*punch == 0xcec7)
(*punch)++;
if(*punch == 0xcfc7)
(*punch)++;
#endif
switch(fork())
{
case 0:
fprintf(stdout, "Trying %02X %02X\n", c[2], c[3]);
fflush (stdout);
(*f)();
exit(0);
case -1:
fprintf(stderr, "Fork failed\n");
break;
default:
wait(&i);
}
}
}

Further, the included revision to test 64 bits of garbage has been running
continuously also.

Cheers,
Dick Johnson

Richard B. Johnson
Project Engineer
Analogic Corporation
Penguin : Linux version 2.1.63 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.

---1295196120-1585882772-879429502=:434
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="qqq.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.971113085822.434C@chaos.analogic.com>
Content-Description:

DQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCiNp
bmNsdWRlIDx1bmlzdGQuaD4NCiNpbmNsdWRlIDx3YWl0Lmg+DQojaW5jbHVk
ZSA8c2lnbmFsLmg+DQoNCg0KdW5zaWduZWQgY2hhciBjW109ezB4MDAsMHgw
MCwweDAwLDB4MDAsMHhjM307DQoNCg0Kdm9pZCBzdG9wcGVyKGludCB1bnVz
ZWQpDQp7DQogICAgZXhpdCgwKTsNCn0NCg0Kdm9pZCBtYWluKCkNCnsNCiAg
ICBpbnQgaTsNCiAgICB1bnNpZ25lZCBsb25nICpwdW5jaDsNCiAgICB2b2lk
KCpmKSgpID0gKHZvaWQgKikgYzsNCiAgICBwdW5jaCA9ICh1bnNpZ25lZCBs
b25nICopIGM7DQoNCiAgICBmb3IoOzspDQogICAgew0KICAgICAgICAqcHVu
Y2ggKz0gKHVuc2lnbmVkIGxvbmcpIHJhbmQoKTsgDQogICAgICAgIHN3aXRj
aChmb3JrKCkpDQogICAgICAgIHsNCiAgICAgICAgY2FzZSAwOg0KICAgICAg
ICBmcHJpbnRmKHN0ZG91dCwgIlRyeWluZyAlMDJYICUwMlggJTAyWCAlMDJY
ICUwMlhcbiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNb
MF0sIGNbMV0sIGNbMl0sIGNbM10sIGNbNF0pOw0KICAgICAgICBmZmx1c2gg
KHN0ZG91dCk7DQovKg0KICogICBUaGlzIHN0b3BzIGFueSAiZm9yZXZlciIg
bG9vcHMgdGhhdCBtYXkgaGFwcGVuLg0KICovDQogICAgICAgICh2b2lkKXNp
Z25hbChTSUdBTFJNLCBzdG9wcGVyKTsNCiAgICAgICAgYWxhcm0oMSk7DQoN
CiAgICAgICAgKCpmKSgpOw0KICAgICAgICBleGl0KDApOw0KICAgICAgICBj
YXNlIC0xOg0KICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGb3JrIGZh
aWxlZFxuIik7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgZGVmYXVs
dDoNCiAgICAgICAgICAgIHdhaXQoJmkpOw0KICAgICAgICB9DQogICAgfQ0K
fQ0KDQo=
---1295196120-1585882772-879429502=:434--