Re: 2.1.63 - testing Pentium bug workaround..

David Whysong (dwhysong@physics.ucsb.edu)
Thu, 13 Nov 1997 02:31:36 -0800 (PST)


On Wed, 12 Nov 1997, Linus Torvalds wrote:
> On Wed, 12 Nov 1997, Simon's Mailing List Account wrote:
> >
> > The pentium bugfix works the first time an 'exploit' is run,
> > but the chip locks the second time.
[...]
> The second lock-up is hopefully due to the bug with the double unlock of
> the SMP kernel lock - when the pentium workaround triggers, it incorrectly
> releases the kernel lock twice in 2.1.63. Could you try it on UP, _and_ in
> addition try this updated patch (patch relative to clean 2.1.63) which
> should hopefully make it SMP-safe too..

I just tried it on my newly-compiled SMP 2.1.63 with the extra patch you
posted, and it does NOT fix the F00F lockup for me.

Doing the following locked the system hard:

$ for x in 1 2 3 4 5
do crash &
done

> NOTE! I'm _very_ interested in hearing about CPU's that aren't fixed by
> this patch. I'm also interested in hearing just a quick "works for me"
> message from people that it _does_ work for. I'm essentially trying to get
> both confirmation that yes, it does work, and at the same time trying to
> see if there are any circumstances under which it fails - so that we can
> try to track down _why_ it fails.

It fails. Unfortunately, I have neither the detailed x86 knowledge nor
very much time to determine why it fails.

> So if you have a pentium, and the patches do work for you (try the exploit
> programs a few times), just send me a quick email with the subject "works
> for me" or something like that.. On the other hand, if it doesn't work,
> I'd like to get a more complete email with system setup information etc.

Please tell me what other information you need. I'm appending some after
my sig. System is a dual P-133 on a Tyan Tomcat III motherboard, 32 megs
RAM, nothing extraordinary.

Dave

David Whysong dwhysong@physics.ucsb.edu
Astrophysics graduate student, University of California, Santa Barbara
PGP Key fingerprint = 9D 51 6E CE 5F 38 F0 E7 56 3C 01 45 CF 03 9F 4A
Finger for PGP public key.

Linux version 2.1.63 (root@Sleepy) (gcc version 2.7.2.1) #14 Thu Nov 13
01:18:55 PST 1997

processor : 0
cpu : 586
model : Pentium 75+
vendor_id : GenuineIntel
stepping : 11
fdiv_bug : no
hlt_bug : no
sep_bug : no
pentium_f00f_bug : yes
fpu : yes
fpu_exception : yes
cpuid : yes
wp : yes
flags : fpu vme de pse tsc msr mce cx8 apic
bogomips : 53.04

processor : 1
cpu : 586
model : Pentium 75+
vendor_id : GenuineIntel
stepping : 12
fdiv_bug : no
hlt_bug : no
sep_bug : no
pentium_f00f_bug : yes
fpu : yes
fpu_exception : yes
cpuid : yes
wp : yes
flags : fpu vme de pse tsc msr mce cx8 apic
bogomips : 53.04

Memory: sized by int13 088h
Intel MultiProcessor Specification v1.1
Virtual Wire compatibility mode.
OEM ID: OEM00000 Product ID: PROD00000000 APIC at: 0xFEE00000
Processor #0 Pentium(tm) APIC version 17
Processor #1 Pentium(tm) APIC version 17
I/O APIC #2 Version 17 at 0xFEC00000.
Processors: 2
Console: 16 point font, 400 scans
Console: colour VGA+ 80x25, 1 virtual console (max 63)
PCI: BIOS32 Service Directory structure at 0xc00faf50
PCI: BIOS32 Service Directory entry at 0xfb3f0
PCI: PCI BIOS revision 2.10 entry at 0xfb420
Probing PCI hardware.
Calibrating delay loop.. ok - 53.04 BogoMIPS
Memory: 31144k/32768k available (616k kernel code, 396k reserved, 592k
data, 20k init)
Swansea University Computer Society NET3.039 for Linux 2.1
NET3: Unix domain sockets 0.16 for Linux NET3.038.
Swansea University Computer Society TCP/IP for NET3.037
IP Protocols: IGMP, ICMP, UDP, TCP
Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
Checking 'hlt' instruction... Ok.
Intel Pentium with F0 0F bug - workaround enabled.
moving IDT ... ... done
Linux version 2.1.63 (root@Sleepy) (gcc version 2.7.2.1) #14 Thu Nov 13
01:18:55 PST 1997
POSIX conformance testing by UNIFIX
calibrating APIC timer ...
..... CPU clock speed is 132.9585 MHz.
..... APIC bus clock speed is 66.4788 MHz.
Booting processor 1 eip 2000: Calibrating delay loop.. ok - 53.04 BogoMIPS
Total of 2 processors activated (106.09 BogoMIPS).
Starting kswapd v 1.23
Real Time Clock Driver v1.07
PIIX3: bus-master IDE device on PCI bus 0 function 57
ide0: BM-DMA at 0x9000-0x9007
ide0 master: sample_CLKs=3, recovery_CLKs=1
master: fastDMA=yes PreFetch=on IORDY=on fastPIO=on
slave : sample_CLKs=3, recovery_CLKs=1
slave : fastDMA=yes PreFetch=on IORDY=on fastPIO=on
ide1: BM-DMA at 0x9008-0x900f
ide1 master/slave: sample_CLKs=4, recovery_CLKs=4
master: fastDMA=yes PreFetch=on IORDY=on fastPIO=on
slave : fastDMA=no PreFetch=off IORDY=off fastPIO=off
hda: Conner Peripherals 850MB - CFA850A, ATA DISK drive
hdb: WDC AC31600H, ATA DISK drive
hdc: TOSHIBA CD-ROM XM-5402TA, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: DMA disabled
hda: Conner Peripherals 850MB - CFA850A, 813MB w/256kB Cache, LBA,
CHS=826/32/63hdb: WDC AC31600H, 1549MB w/128kB Cache, LBA, CHS=787/64/63,
DMA
Partition check:
hda: hda1 hda2
hdb: hdb1 hdb2
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 20k freed
Adding Swap: 116924k swap-space (priority -1)
Module cdrom: Generic CDROM driver $Revision: 1.7 $
hdc: DMA disabled
hdc: tray open or drive not ready
hdc: tray open or drive not ready
hdc: tray open or drive not ready
VFS: Disk change detected on device 16:00
hdc: tray open or drive not ready
hdc : tray open
end_request: I/O error, dev 16:00, sector 22592
isofs_read_super: bread failed, dev 16:00 iso_blknum 5648 block 11296
hdc: tray open or drive not ready
hdc: tray open or drive not ready
lo UP fl=0000004b pa=0100007F/000000FF brd=FFFFFF7F dst=00000000
lo changes brd FFFFFF7F -> FFFFFF7F
Serial driver version 4.24 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A