|
OpenBSD Security Functionally paranoid! |
|
Thread Tools | Display Modes |
|
||||
Conflicting Indications of Hyper-Threading
I recently picked up a used HP Media Center m7467c PC. It has an Intel Pentium D 940 Presler cpu. I've been investigating potential hyper-threading for the cpu, since it can be a security problem. Here's what I've found so far:
1) The Intel page linked above says it does not have hyper-threading. 2) The WikiPedia page for Pentium D's does not suggest that the 940 has hyper-threading. 3) The BIOS does not have a feature to toggle hyper-threading. 4) I was able to conveniently boot an older version of OpenBSD. At the beginning of the dmesg it says: Code:
OpenBSD 5.4-current (GENERIC) #58: Mon Sep 23 22:57:09 MDT 2013 todd@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC cpu0: Intel(R) Pentium(R) D CPU 3.20GHz ("GenuineIntel" 686-class) 3.21 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,\ SS,HTT,TM,PBE,NXE,LONG,SSE3,DTES64,MWAIT,DS-CPL,VMX,CNXT-ID,CX16,xTPR,PDCM,LAHF I'm wondering why the HTT is there? Is it wrong? Or does this feature list refer not to this specific CPU, but to Pentium D's in general, some of which do have hyper-threading? Thanks for any insights. |
|
|||
HTT means hyperthreading, yes.
Give us a full dmesg. Your CPU topology is a bit later in the dmesg. |
|
|||
Could you give us something newer? Like 6.4 or -current?
|
|
||||
Well, after the usual (for me) bizarre struggles, I got one of -release :
Code:
OpenBSD 6.4 (GENERIC.MP) #364: Thu Oct 11 13:30:23 MDT 2018 deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 2129522688 (2030MB) avail mem = 2055782400 (1960MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf0000 (58 entries) bios0: vendor Phoenix Technologies, LTD version "3.15" date 06/23/2006 bios0: HP Pavilion 061 ER881AA-ABA M7467C acpi0 at bios0: rev 0 acpi0: sleep states S0 S1 S3 S4 S5 acpi0: tables DSDT FACP MCFG APIC acpi0: wakeup devices PEX0(S5) PEX1(S5) PEX2(S5) PEX3(S5) PEX4(S5) PEX5(S5) HUB0(S5) USB0(S3) USB1(S3) USB2(S3) USB3(S3) USBE(S3) AC97(S5) AZAL(S5) PCI0(S5) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimcfg0 at acpi0 acpimcfg0: addr 0xf0000000, bus 0-255 acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Pentium(R) D CPU 3.20GHz, 3201.36 MHz, 0f-06-02 cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,CNXT-ID,CX16,xTPR,PDCM,NXE,LONG,LAHF,MELTDOWN cpu0: 2MB 64b/line 8-way L2 cache cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges cpu0: apic clock running at 290MHz cpu0: mwait min=64, max=64 cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Pentium(R) D CPU 3.20GHz, 4641.32 MHz, 0f-06-02 cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,CNXT-ID,CX16,xTPR,PDCM,NXE,LONG,LAHF,MELTDOWN cpu1: 2MB 64b/line 8-way L2 cache cpu1: smt 0, core 1, package 0 ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 20, 24 pins, remapped acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (PEX0) acpiprt2 at acpi0: bus -1 (PEX1) acpiprt3 at acpi0: bus -1 (PEX2) acpiprt4 at acpi0: bus -1 (PEX3) acpiprt5 at acpi0: bus -1 (PEX4) acpiprt6 at acpi0: bus -1 (PEX5) acpiprt7 at acpi0: bus 1 (HUB0) acpicpu0 at acpi0: C1(@1 halt!) acpicpu1 at acpi0: C1(@1 halt!) acpitz0 at acpi0: critical temperature is 75 degC "AWY0001" at acpi0 not configured acpibtn0 at acpi0: PWRB acpicmos0 at acpi0 "PNP0C0B" at acpi0 not configured pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel 82945G Host" rev 0x81 azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x01: msi azalia0: codecs: Realtek ALC882 audio0 at azalia0 uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x01: apic 4 int 23 uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x01: apic 4 int 19 uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x01: apic 4 int 18 uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x01: apic 4 int 16 ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x01: apic 4 int 23 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb0 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xe1 pci1 at ppb0 bus 1 "VIA VT6306 FireWire" rev 0x80 at pci1 dev 1 function 0 not configured vga1 at pci1 dev 4 function 0 "S3 86C864-1" rev 0x00 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) fxp0 at pci1 dev 8 function 0 "Intel 82801GB LAN" rev 0x01, i82562: apic 4 int 20, address 00:17:31:10:f1:c8 inphy0 at fxp0 phy 1: i82562ET 10/100 PHY, rev. 0 pcib0 at pci0 dev 31 function 0 "Intel 82801GH LPC" rev 0x01 pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x01: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility wd0 at pciide0 channel 0 drive 0: <WDC WD800JB-00JJC0> wd0: 16-sector PIO, LBA, 76319MB, 156301488 sectors atapiscsi0 at pciide0 channel 0 drive 1 scsibus1 at atapiscsi0: 2 targets cd0 at scsibus1 targ 0 lun 0: <TSSTcorp, DVD-ROM TS-H352C, HP02> ATAPI 5/cdrom removable wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 cd0(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 2 pciide0: channel 1 ignored (disabled) pciide1 at pci0 dev 31 function 2 "Intel 82801GB SATA" rev 0x01: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI pciide1: using apic 4 int 19 for native-PCI interrupt ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x01: apic 4 int 19 iic0 at ichiic0 adt0 at iic0 addr 0x2e: sch5017 rev 0x8a spdmem0 at iic0 addr 0x50: 1GB DDR2 SDRAM non-parity PC2-4200CL5 spdmem1 at iic0 addr 0x52: 1GB DDR2 SDRAM non-parity PC2-4200CL5 usb1 at uhci0: USB revision 1.0 uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci1: USB revision 1.0 uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb3 at uhci2: USB revision 1.0 uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb4 at uhci3: USB revision 1.0 uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 isa0 at pcib0 isadma0 at isa0 pckbc0 at isa0 port 0x60/5 irq 1 irq 12 pckbd0 at pckbc0 (kbd slot) wskbd0 at pckbd0: console keyboard, using wsdisplay0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 vmm0 at mainbus0: VMX (using slow L1TF mitigation) acpitz0: _AL0[0] _PR0 failed umass0 at uhub0 port 6 configuration 1 interface 0 "Verbatim STORE N GO" rev 2.00/1.00 addr 2 umass0: using SCSI over Bulk-Only scsibus2 at umass0: 2 targets, initiator 0 sd0 at scsibus2 targ 1 lun 0: <Verbatim, STORE N GO, 5.00> SCSI4 0/direct removable serial.18a50302542D13279242 sd0: 14788MB, 512 bytes/sector, 30286016 sectors uhub5 at uhub3 port 1 configuration 1 interface 0 "Lite-On Technology USB 1.1 2port downstream low power hub" rev 1.10/1.00 addr 2 uhidev0 at uhub5 port 1 configuration 1 interface 0 "Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )" rev 1.10/1.00 addr 3 uhidev0: iclass 3/1 ukbd0 at uhidev0: 8 variable keys, 6 key codes wskbd1 at ukbd0 mux 1 wskbd1: connecting to wsdisplay0 uhidev1 at uhub5 port 1 configuration 1 interface 1 "Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 )" rev 1.10/1.00 addr 3 uhidev1: iclass 3/0, 3 report ids uhid0 at uhidev1 reportid 3: input=3, output=0, feature=0 umass1 at uhub4 port 1 configuration 1 interface 0 " USB Reader" rev 1.10/1.00 addr 2 umass1: using SCSI over Bulk-Only scsibus3 at umass1: 2 targets, initiator 0 sd1 at scsibus3 targ 1 lun 0: <Generic, USB SD Reader, 1.00> SCSI0 0/direct removable sd2 at scsibus3 targ 1 lun 1: <Generic, USB CF Reader, 1.01> SCSI0 0/direct removable sd3 at scsibus3 targ 1 lun 2: <Generic, USB SM Reader, 1.02> SCSI0 0/direct removable sd4 at scsibus3 targ 1 lun 3: <Generic, USB MS Reader, 1.03> SCSI0 0/direct removable vscsi0 at root scsibus4 at vscsi0: 256 targets softraid0 at root scsibus5 at softraid0: 256 targets root on sd0a (77f6ab688946ed16.a) swap on sd0b dump on sd0b |
|
|||
OK, so you have a dual core CPU that is theoretically capable of hyperthreading, but in fact has no smt on the cores themselves.
You should be able to confirm this by running top(1) on 6.4 or -current and noticing that there is activity on both cores during normal use. |
|
||||
Thanks for reviewing that and explaining.
Quote:
(a) since there is no hyper-threading going on, no need to worry about the associated vulnerability; (b) if there was a hypothetical CPU like this which did have hyper-threaded cores, then top, and the dmesg, would show cpu0 through cpu3 ? Actually I have 3 other PCs with Pentium 4 variants. One has hyper-threading (though I recently turned it off). One would have had hyper-threading, but Intel disabled it to make it cheaper. The other doesn't. I should check what OpenBSD dmesg says about HTT for all of these. Quote:
|
|
||||
Yup:
Code:
load averages: 0.08, 0.03, 0.01 xxxxxx.lan 12:27:45 36 processes: 35 idle, 1 on processor up 0:09 CPU0 states: 0.4% user, 0.0% nice, 1.6% sys, 0.2% spin, 0.2% intr, 97.6% idle CPU1 states: 0.2% user, 0.0% nice, 0.4% sys, 0.0% spin, 0.0% intr, 99.4% idle Memory: Real: 44M/427M act/tot Free: 1542M Cache: 302M Swap: 0K/81M PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND 89158 root -6 0 18M 19M sleep/0 bqwait 0:00 0.29% objcopy 1 root 10 0 396K 448K idle wait 0:01 0.00% init 44666 root 18 0 2432K 4872K idle pause 0:00 0.00% make 21328 _smtpd 2 0 1460K 3768K idle kqread 0:00 0.00% smtpd ... |
|
|||
By the way, the magic lines are
Code:
cpu0: smt 0, core 0, package 0 Code:
cpu1: smt 0, core 1, package 0 |
|
||||
Quote:
So, no hyperthreading.
__________________
Supermicro X9DRD-7LN4F-JBOD | (2) Xeon E5-2670 | 32GB DDR3 ECC Registered |OpenBSD 6.4 Endeavoring to resolve my Linux dependancies. |
|
||||
Agreed, that was one of the indications against the presence of hyper-threading.
---- A quote from the article about the PortSmash Attack linked by fvgit in the News thread: Quote:
|
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
OpenBSD OpenBSD disables Intel’s hyper-threading | comet--berkeley | News | 3 | 16th November 2018 11:16 AM |
Opera Port - conflicting pkgs in "make install" | IronForge | OpenBSD Packages and Ports | 5 | 29th October 2009 05:10 AM |
How to handle conflicting port dependencies? | Aux | FreeBSD Ports and Packages | 2 | 29th September 2008 06:44 AM |