On Tue, Mar 13, 2018 at 4:41 PM, Mike Larkin <mlar...@azathoth.net> wrote: > On Tue, Mar 13, 2018 at 02:23:29PM -0700, Mike Larkin wrote: >> On Tue, Mar 13, 2018 at 08:27:49AM -0500, Brian Camp wrote: >> > On Tue, Mar 13, 2018 at 2:29 AM, Mike Larkin <mlar...@azathoth.net> wrote: >> > > On Sun, Mar 11, 2018 at 04:33:49PM -0500, Brian Camp wrote: >> > >> I have two systems running 6.2-stable with the meltdown syspatch >> > >> installed. I noticed that while one of them lists "MELTDOWN" in the >> > >> CPU flags, the other does not. The one that does not has a Celeron >> > >> J3455, which Intel lists as affected by meltdown. >> > >> >> > >> Does the absence of the MELTDOWN flag mean that the workaround isn't >> > >> functioning on this machine? Dmesg below. >> > >> >> > >> >> > >> Thanks >> > >> >> > >> -Brian >> > >> >> > > >> > > Odd. Two of us have looked at the detection code again and we can't see >> > > any >> > > issues. Can you please do the following to help diagnose? >> > > >> > > 1. install the "cpuid" port package? >> > > >> > > pkg_add cpuid >> > > >> > > 2. send the output of: >> > > >> > > cpuid 0x0 >> > > cpuid 0x7 >> > > >> > > On each of the two machines? (Make sure to say which is the working one >> > > and which is the one where meltdown isn't properly being detected). >> > > >> > > Thanks. >> > > >> > > -ml >> > >> > Sure thing. >> > >> > Working (i5-4690) - >> > >> > bcamp@z97x-sli:~ (OpenBSD 6.2) >> > $ cpuid 0x0 >> > eax = 0x0000000d 13 "????" >> > ebx = 0x756e6547 1970169159 "Genu" >> > ecx = 0x6c65746e 1818588270 "ntel" >> > edx = 0x49656e69 1231384169 "ineI" >> > bcamp@z97x-sli:~ (OpenBSD 6.2) >> > $ cpuid 0x7 >> > eax = 0x00000000 0 "????" >> > ebx = 0x000027ab 10155 "?'??" >> > ecx = 0x00000000 0 "????" >> > edx = 0x00000000 0 "????" >> > bcamp@z97x-sli:~ (OpenBSD 6.2) >> > $ >> > >> > Non-working (Celeron J3455) - >> > >> > bcamp@nuc6cayh:~ (OpenBSD 6.2) >> > $ cpuid 0x0 >> > eax = 0x00000015 21 "????" >> > ebx = 0x756e6547 1970169159 "Genu" >> > ecx = 0x6c65746e 1818588270 "ntel" >> > edx = 0x49656e69 1231384169 "ineI" >> > bcamp@nuc6cayh:~ (OpenBSD 6.2) >> > $ cpuid 0x7 >> > eax = 0x00000000 0 "????" >> > ebx = 0x2294e283 580182659 "???"" >> > ecx = 0x00000000 0 "????" >> > edx = 0x2c000000 738197504 "???," >> > bcamp@nuc6cayh:~ (OpenBSD 6.2) >> > $ >> > >> > >> > -Brian >> > >> >> As naddy@ pointed out in the earlier reply, this behaviour indicates that for >> some reason your CPU is saying it's not vulnerable. The 0x2c in edx for cpuid >> 0x7 in the J3455 case in your mail indicates the firmware (bios) says that >> the IA32_ARCH_CAPABILITIES MSR is available. We read that and if bit 1 is >> set, > > Meant "bit 0" there. > > -ml > >> it means the CPU is not susceptible to "RDCL" (RDCL_NO = not susceptible to >> "Rogue Data Cache Load" ala Meltdown). >> >> Can you apply this diff and boot the J3455 machine and send the boot dmesg >> after applying it (apply to -current, please). This caches what answer we saw >> during boot and will tell us if the CPU is reporting garbage there.
Patch applied to -current and the resulting dmesg attached. >> >> PS - you might also try looking for a newer BIOS, although this machine BIOS >> is >> listed as 08 Jan 2018, it's possible that was applied during that short >> period where Intel was releasing broken firmware updates. I'd appreciate it >> however if you booted with the diff below, first, before trying that. >> Thats actually the latest version. Even though this board is made by Intel itself, they have yet to release a BIOS update with the patched microcode that other OEMs are shipping. Thanks -Brian OpenBSD 6.3-beta (GENERIC.MP) #0: Tue Mar 13 18:01:15 CDT 2018 bc...@nuc6cayh.int.thecamps.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 8411357184 (8021MB) avail mem = 8149372928 (7771MB) mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: SMBIOS rev. 3.0 @ 0x79aa1000 (51 entries) bios0: vendor Intel Corp. version "AYAPLCEL.86A.0047.2018.0108.1419" date 01/08/2018 bios0: Intel Corporation NUC6CAYH acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP FPDT FIDT MCFG DBG2 DBGP HPET LPIT APIC NPKT PRAM WSMT SSDT SSDT SSDT SSDT SSDT SSDT SSDT UEFI TPM2 SSDT DMAR WDAT NHLT acpi0: wakeup devices SIO1(S3) HDAS(S3) XHC_(S4) XDCI(S4) BRCM(S0) PXSX(S4) RP01(S4) PXSX(S4) RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) RP04(S4) PXSX(S4) RP05(S4) PXSX(S4) [...] acpitimer0 at acpi0: 3579545 Hz, 32 bits acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255 acpihpet0 at acpi0: 19200000 Hz acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Celeron(R) CPU J3455 @ 1.50GHz, 1497.12 MHz 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,PCLMUL,DTES64,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,FSGSBASE,SMEP,ERMS,MPX,RDSEED,SMAP,CLFLUSHOPT,PT,SHA,IBRS,IBPB,STIBP,SENSOR,ARAT(arch cap=0x1) cpu0: 1MB 64b/line 16-way L2 cache cpu0: smt 0, core 0, package 0 mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges cpu0: apic clock running at 19MHz cpu1 at mainbus0: apid 2 (application processor) cpu1: Intel(R) Celeron(R) CPU J3455 @ 1.50GHz, 1496.54 MHz 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,PCLMUL,DTES64,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,FSGSBASE,SMEP,ERMS,MPX,RDSEED,SMAP,CLFLUSHOPT,PT,SHA,IBRS,IBPB,STIBP,SENSOR,ARAT(arch cap=0x1) cpu1: 1MB 64b/line 16-way L2 cache cpu1: smt 0, core 1, package 0 cpu2 at mainbus0: apid 4 (application processor) cpu2: Intel(R) Celeron(R) CPU J3455 @ 1.50GHz, 1496.54 MHz cpu2: 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,PCLMUL,DTES64,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,FSGSBASE,SMEP,ERMS,MPX,RDSEED,SMAP,CLFLUSHOPT,PT,SHA,IBRS,IBPB,STIBP,SENSOR,ARAT(arch cap=0x1) cpu2: 1MB 64b/line 16-way L2 cache cpu2: smt 0, core 2, package 0 cpu3 at mainbus0: apid 6 (application processor) cpu3: Intel(R) Celeron(R) CPU J3455 @ 1.50GHz, 1496.54 MHz cpu3: 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,PCLMUL,DTES64,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,FSGSBASE,SMEP,ERMS,MPX,RDSEED,SMAP,CLFLUSHOPT,PT,SHA,IBRS,IBPB,STIBP,SENSOR,ARAT(arch cap=0x1) cpu3: 1MB 64b/line 16-way L2 cache cpu3: smt 0, core 3, package 0 ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 120 pins acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (RP01) acpiprt2 at acpi0: bus -1 (RP02) acpiprt3 at acpi0: bus 1 (RP03) acpiprt4 at acpi0: bus 2 (RP04) acpiprt5 at acpi0: bus 3 (RP05) acpiprt6 at acpi0: bus -1 (RP06) acpiec0 at acpi0 acpicpu0 at acpi0: C1(@1 halt!), PSS acpicpu1 at acpi0: C1(@1 halt!), PSS acpicpu2 at acpi0: C1(@1 halt!), PSS acpicpu3 at acpi0: C1(@1 halt!), PSS acpipwrres0 at acpi0: FN00, resource for FAN0 acpitz0 at acpi0: critical temperature is 100 degC "ITE8708" at acpi0 not configured acpibtn0 at acpi0: PWRB acpibtn1 at acpi0: SLPB "INT3452" at acpi0 not configured "INT3452" at acpi0 not configured "INT3452" at acpi0 not configured "INT3452" at acpi0 not configured "INT33A1" at acpi0 not configured "MSFT0101" at acpi0 not configured "INT3398" at acpi0 not configured "PNP0C0B" at acpi0 not configured "PNP0C14" at acpi0 not configured acpivideo0 at acpi0: GFX0 acpivout0 at acpivideo0: DD1F cpu0: Enhanced SpeedStep 1497 MHz: speeds: 1501, 1500, 1400, 1300, 1200, 1100, 1000, 900, 800 MHz pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 vendor "Intel", unknown product 0x5af0 rev 0x0b inteldrm0 at pci0 dev 2 function 0 vendor "Intel", unknown product 0x5a85 rev 0x0b drm0 at inteldrm0 inteldrm0: msi error: [drm:pid0:i915_firmware_load_error_print] *ERROR* failed to load firmware i915/bxt_dmc_ver1.bin (-22) error: [drm:pid0:i915_gem_init_hw] *ERROR* Failed to initialize GuC, error -8 (ignored) inteldrm0: 3840x2160, 32bpp wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation) wsdisplay0: screen 1-5 added (std, vt100 emulation) azalia0 at pci0 dev 14 function 0 vendor "Intel", unknown product 0x5a98 rev 0x0b: msi azalia0: codecs: Realtek/0x0283, Intel/0x280a, using Realtek/0x0283 audio0 at azalia0 vendor "Intel", unknown product 0x5a9a (class communications subclass miscellaneous, rev 0x0b) at pci0 dev 15 function 0 not configured vendor "Intel", unknown product 0x5a9c (class communications subclass miscellaneous, rev 0x0b) at pci0 dev 15 function 1 not configured vendor "Intel", unknown product 0x5a9e (class communications subclass miscellaneous, rev 0x0b) at pci0 dev 15 function 2 not configured ahci0 at pci0 dev 18 function 0 vendor "Intel", unknown product 0x5ae3 rev 0x0b: msi, AHCI 1.3.1 ahci0: port 0: 6.0Gb/s ahci0: PHY offline on port 1 scsibus1 at ahci0: 32 targets sd0 at scsibus1 targ 0 lun 0: <ATA, Samsung SSD 850, EMT0> SCSI3 0/direct fixed naa.5002538d42311cde sd0: 238475MB, 512 bytes/sector, 488397168 sectors, thin ppb0 at pci0 dev 19 function 0 vendor "Intel", unknown product 0x5ad8 rev 0xfb: msi pci1 at ppb0 bus 1 rtsx0 at pci1 dev 0 function 0 "Realtek RTS5229 Card Reader" rev 0x01: msi sdmmc0 at rtsx0: 4-bit, dma ppb1 at pci0 dev 19 function 1 vendor "Intel", unknown product 0x5ad9 rev 0xfb: msi pci2 at ppb1 bus 2 iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless-AC 3168" rev 0x10, msi ppb2 at pci0 dev 19 function 2 vendor "Intel", unknown product 0x5ada rev 0xfb: msi pci3 at ppb2 bus 3 re0 at pci3 dev 0 function 0 "Realtek 8168" rev 0x15: RTL8168H/8111H (0x5400), msi, address 94:c6:91:19:ab:cb rgephy0 at re0 phy 7: RTL8251 PHY, rev. 0 xhci0 at pci0 dev 21 function 0 vendor "Intel", unknown product 0x5aa8 rev 0x0b: msi usb0 at xhci0: USB revision 3.0 uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1 vendor "Intel", unknown product 0x5aac (class DASP subclass miscellaneous, rev 0x0b) at pci0 dev 22 function 0 not configured vendor "Intel", unknown product 0x5abc (class DASP subclass miscellaneous, rev 0x0b) at pci0 dev 24 function 0 not configured vendor "Intel", unknown product 0x5ac2 (class DASP subclass miscellaneous, rev 0x0b) at pci0 dev 25 function 0 not configured vendor "Intel", unknown product 0x5ac4 (class DASP subclass miscellaneous, rev 0x0b) at pci0 dev 25 function 1 not configured vendor "Intel", unknown product 0x5ac6 (class DASP subclass miscellaneous, rev 0x0b) at pci0 dev 25 function 2 not configured vendor "Intel", unknown product 0x5ac8 (class serial bus unknown subclass 0x80, rev 0x0b) at pci0 dev 26 function 0 not configured pcib0 at pci0 dev 31 function 0 vendor "Intel", unknown product 0x5ae8 rev 0x0b vendor "Intel", unknown product 0x5ad4 (class serial bus subclass SMBus, rev 0x0b) at pci0 dev 31 function 1 not configured isa0 at pcib0 isadma0 at isa0 fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com0: probed fifo depth: 0 bytes 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 vmm0 at mainbus0: VMX/EPT uhidev0 at uhub0 port 2 configuration 1 interface 0 "Dell Dell KB216 Wired Keyboard" rev 2.00/1.08 addr 2 uhidev0: iclass 3/1 ukbd0 at uhidev0: 8 variable keys, 6 key codes wskbd1 at ukbd0 mux 1 wskbd1: connecting to wsdisplay0 uhidev1 at uhub0 port 2 configuration 1 interface 1 "Dell Dell KB216 Wired Keyboard" rev 2.00/1.08 addr 2 uhidev1: iclass 3/0, 2 report ids uhid0 at uhidev1 reportid 1: input=1, output=0, feature=0 uhid1 at uhidev1 reportid 2: input=2, output=0, feature=0 ugen0 at uhub0 port 8 "Intel product 0x0aa7" rev 2.00/0.01 addr 3 umass0 at uhub0 port 11 configuration 1 interface 0 "Samsung Portable SSD T5" rev 3.10/1.00 addr 4 umass0: using SCSI over Bulk-Only scsibus2 at umass0: 2 targets, initiator 0 sd1 at scsibus2 targ 1 lun 0: <Samsung, Portable SSD T5, 0> SCSI4 0/direct fixed serial.04e861f51234567A2BDF sd1: 476940MB, 512 bytes/sector, 976773168 sectors vscsi0 at root scsibus3 at vscsi0: 256 targets softraid0 at root scsibus4 at softraid0: 256 targets root on sd1a (31db6badac6479b0.a) swap on sd1b dump on sd1b iwm0: hw rev 0x220, fw ver 22.361476.0, address 40:a3:cc:a4:83:d2