On 13 Mar 2018 at 16:57, Mike Larkin wrote: > On Tue, Mar 13, 2018 at 06:20:16PM -0500, Brian Camp wrote: > > 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) > > Thanks! > > This is somehow saying that the CPU in this machine is not vulnerable. This > is straight out of the Intel "Speculative Execution Side Channel Mitigations" > PDF file (doc #336996): > > "Two bits are currently defined in the IA32_ARCH_CAPABILITIES MSR: > > · Bit 0 is defined as RDCL_NO. If RDMSR returns 1 for this bit, the > processor is not susceptible > to RDCL (rogue data cache load). > > · Bit 1 is defined as IBRS_ALL. If RDMSR returns 1 for this bit, the > processor supports enhanced > IBRS (see Section 2.5.1.3, "Enhanced IBRS"). > " > > I'm not sure whether or not I believe what your machine is reporting, I was > under the assumption that new hardware was needed to fix this. Shrug. > > -ml
According to some sources, Intel and a handful of others have known about the issue since February 2017(!), so perhaps it has already been patched in the 08Jan2018 BIOS. I too have doubts that to date any processor has been redesigned to avoid the flaws entirely, but then again... > > > 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 > > > >