Despite the name, this is not Linux-specific microcode. If you're running SmartOS or another illumos derivative, run ucodeadm(1) on the microcode.dat file (which will need to be renamed to have an "intel" prefix per the man page -- e.g., "intel-code.txt"). You can then run "ucodeadm -v" to validate that the new microcode has been loaded. (Note that this does not persist across a reboot, but we at Joyent are currently in the process of upstreaming the microcode into illumos, at which point it will.)
"Collecting all available Production CPU microcodes is important for upgrading/downgrading purposes, for creating universal tools that can help people understand what microcode they use, for research on how the general technology works, for developers with no vendor representative who want to experiment on a given platform etc.
Disclaimer: All the microcodes below come only from official BIOS/UEFI updates, Intel Linux Microcode Updates, Linux Distributions, Windows Updates etc which were provided and made public by various manufacturers! It is always advised to request and/or wait for your OEM/OS to release newer fixes. The microcodes are gathered and provided with the sole purpose of helping people who are out of other viable solutions. Thus, they can be extremely helpful to those who have major problems with their systems for which their manufacturer refuses to assist due to indifference and/or system age."
It is titled "Linux* Processor Microcode Data File
Version: 20180108 (Previously Released) Date: 1/8/2018"
Below, however, you can see highlighted "A newer version of this software is available. Click here to get the latest version of this software." This, though, points to an earlier ("Version: 20171117 (Latest) Date: 11/17/2017") version: https://downloadcenter.intel.com/download/27337/Linux-Proces...
Yikes. So they refuse to vMotion to a host that's on the new microcode? I'm not even clear on how that would be supported -- it should Just Work if the host is in the cluster. Are hosts unable to rejoin a cluster after rebootign with this new microcode because they're effectively part of a different processor compatibility now? Does EVC affect how this impacts the ability to vMotion?
But I'm not sure how to interpret it... BDW is probably Broadwell and HSW is probably Haswell etc., IVT is... interrupt vector table? and I'm not sure what the other characters are.
As someone living/fighting through the performance degradation that the kernel patches have done to IO loads at AWS, I'm wondering if their Xen patches have had this or may include it in the future.
Would really really rather that there were no more negative changes.
Tested rev 0x042a on my Xeon E5-2658 v2 on my Asus X79-Deluxe mainboard. Flashed by using UBU v1.69.10 run Ashampoo SpectreMeltdownChecker both vulnerabilities are green with a tick now. It say's "your processor is safe" but release date of the patch is 2017-12-01 and goes up to 2017-11-16 which means, they know about this bug at least the beginning of November 2017 and they hide it about 2 months. What to think about that?
I used a tool and instructions from https://www.delidded.com/how-to-update-cpu-microcode-in-ami-... to update my AMI BIOS. It recognized the microcode and added it to the list. Unfortunately, the tool showed my microcode as having a date of 2013 even if it was listed and included in the download. So I have to wait for updated microcode I assume. I flashed it anyway. Post boot tests showed I was not protected by microcode... I have a Bloomfield CPU.
This technique will probably work for someone else with a newer CPU.
I presume you would need to do both, since there are multiple attack vectors. Some problems like meltdown can be mitigated via how the kernel handles page table's when switching to kernel mode, while some problems like spectre's branch manipulation need microcode updates.
Please do click the "I have the same question" button on that thread. Hopefully if it gets enough heat Intel will answer our questions.
As best I can tell at the moment these changes are necessary in order to enable the IBRS and IBPB changes that are currently being discussed on LKML. AFAIK, IBRS and IBPB mitigate against Spectre V2 performance regressions that are introduced with the retpoline changes.
> CVE-2017-5715 (variant #2/Spectre) is an indirect branching poisoning attack that can lead to data leakage. This attack allows for a virtualized guest to read memory from the host system. This issue is corrected with microcode, along with kernel and virtualization updates to both guest and host virtualization software. This vulnerability requires both updated microcode and kernel patches. Variant #2 behavior is controlled by the ibrs and ibpb tunables (noibrs/ibrs_enabled and noibpb/ibpb_enabled), which work in conjunction with the microcode.
I'm running freenas on a Xeon. I'm assuming i am going to have to install something from supermicro and wait for a freenas (and freebsd) update. Is there anything else I should update?
Note: We don't actually know what this microcode contains. It could be a bug fix for the one that came out a few days ago, a bug maybe not present on your generation of CPU
[+] [-] bcantrill|8 years ago|reply
[+] [-] foxhop|8 years ago|reply
[+] [-] 1000units|8 years ago|reply
[+] [-] transpute|8 years ago|reply
"Collecting all available Production CPU microcodes is important for upgrading/downgrading purposes, for creating universal tools that can help people understand what microcode they use, for research on how the general technology works, for developers with no vendor representative who want to experiment on a given platform etc.
Disclaimer: All the microcodes below come only from official BIOS/UEFI updates, Intel Linux Microcode Updates, Linux Distributions, Windows Updates etc which were provided and made public by various manufacturers! It is always advised to request and/or wait for your OEM/OS to release newer fixes. The microcodes are gathered and provided with the sole purpose of helping people who are out of other viable solutions. Thus, they can be extremely helpful to those who have major problems with their systems for which their manufacturer refuses to assist due to indifference and/or system age."
[+] [-] steve19|8 years ago|reply
[+] [-] chrisper|8 years ago|reply
https://labs.vmware.com/flings/vmware-cpu-microcode-update-d...
I have never tried it though.
[+] [-] efoto|8 years ago|reply
It is titled "Linux* Processor Microcode Data File Version: 20180108 (Previously Released) Date: 1/8/2018"
Below, however, you can see highlighted "A newer version of this software is available. Click here to get the latest version of this software." This, though, points to an earlier ("Version: 20171117 (Latest) Date: 11/17/2017") version: https://downloadcenter.intel.com/download/27337/Linux-Proces...
(one hour later) UPDATE: appears to be fixed. Well, not really, only if the link specifies the product, i.e. https://downloadcenter.intel.com/download/27431/Linux-Proces...
[+] [-] mrmondo|8 years ago|reply
- 1. Ensure the existence of /sys/devices/system/cpu/microcode/reload
- 2. Copy intel-ucode directory to /lib/firmware, overwrite the files in /lib/firmware/intel-ucode/
- 3. Write the reload interface to 1 to reload the microcode files, e.g. echo 1 > /sys/devices/system/cpu/microcode/reload
[+] [-] blibble|8 years ago|reply
on debian: update-initramfs -u
check with dmesg | grep microcode
[+] [-] snvzz|8 years ago|reply
For Dragonfly instructions see: https://www.dragonflydigest.com/2018/01/09/20710.html
[+] [-] newman314|8 years ago|reply
Gonna go test it out now...
PSA: VMs have to be cold booted after patching and set to HW v11+ for PCID support
EDIT: Just fired up my first Windows VM after patching ESXI and I'm now showing all green using the PowerShell script.
Here's the link that I'm referring to: https://www.vmware.com/us/security/advisories/VMSA-2018-0004...
[+] [-] rconti|8 years ago|reply
[+] [-] kyledrake|8 years ago|reply
[+] [-] mehrdadn|8 years ago|reply
They do have ./releasenote:
But I'm not sure how to interpret it... BDW is probably Broadwell and HSW is probably Haswell etc., IVT is... interrupt vector table? and I'm not sure what the other characters are.[+] [-] phire|8 years ago|reply
The list includes: The Pentium 4, Pentium III, Pentium II, Pentium Pro and the original Pentium.
I didn't even know the Pentium had upgradable microcode.
[+] [-] vbernat|8 years ago|reply
[+] [-] kiwijamo|8 years ago|reply
Intel® Pentium® Processor 100 MHz, 50 MHz FSB Intel® Pentium® Processor 120 MHz, 60 MHz FSB Intel® Pentium® Processor 150 MHz, 60 MHz FSB Intel® Pentium® Processor 75 MHz, 50 MHz FSB Intel® Pentium® Processor 90 MHz, 60 MHz FSB
[+] [-] dreamcompiler|8 years ago|reply
[+] [-] 1over137|8 years ago|reply
For Sierra, a patch is likely coming; there is "Security Update Developer Beta 2018-001" which you can get using their beta program.
[+] [-] caffeineninja|8 years ago|reply
Would really really rather that there were no more negative changes.
[+] [-] blasdel|8 years ago|reply
[+] [-] omshiriya|8 years ago|reply
[+] [-] karakarga|8 years ago|reply
[+] [-] djmips|8 years ago|reply
I used a tool and instructions from https://www.delidded.com/how-to-update-cpu-microcode-in-ami-... to update my AMI BIOS. It recognized the microcode and added it to the list. Unfortunately, the tool showed my microcode as having a date of 2013 even if it was listed and included in the download. So I have to wait for updated microcode I assume. I flashed it anyway. Post boot tests showed I was not protected by microcode... I have a Bloomfield CPU.
This technique will probably work for someone else with a newer CPU.
[+] [-] ars|8 years ago|reply
[+] [-] em3rgent0rdr|8 years ago|reply
[+] [-] chiluk|8 years ago|reply
https://communities.intel.com/message/518872#518872
Please do click the "I have the same question" button on that thread. Hopefully if it gets enough heat Intel will answer our questions.
As best I can tell at the moment these changes are necessary in order to enable the IBRS and IBPB changes that are currently being discussed on LKML. AFAIK, IBRS and IBPB mitigate against Spectre V2 performance regressions that are introduced with the retpoline changes.
[+] [-] shmerl|8 years ago|reply
[+] [-] kijiki|8 years ago|reply
They claim no, due to microarchitectural differences in their branch predictor behavior. This is variant 2 we're talking about here.
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] alexbakker|8 years ago|reply
[+] [-] krisives|8 years ago|reply
[+] [-] TheChaplain|8 years ago|reply
[+] [-] noncoml|8 years ago|reply
[+] [-] ajdlinux|8 years ago|reply
According to https://access.redhat.com/articles/3311301:
> CVE-2017-5715 (variant #2/Spectre) is an indirect branching poisoning attack that can lead to data leakage. This attack allows for a virtualized guest to read memory from the host system. This issue is corrected with microcode, along with kernel and virtualization updates to both guest and host virtualization software. This vulnerability requires both updated microcode and kernel patches. Variant #2 behavior is controlled by the ibrs and ibpb tunables (noibrs/ibrs_enabled and noibpb/ibpb_enabled), which work in conjunction with the microcode.
[+] [-] kelnos|8 years ago|reply
[+] [-] Freaky|8 years ago|reply
Not listed :/
[+] [-] milofeynman|8 years ago|reply
[+] [-] Twirrim|8 years ago|reply