intel-microcode should be installed by default, when the CPU is GenuineIntel

Bug #1386257 reported by Dimitri John Ledkov
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Ubuntu Kylin
Fix Released
Undecided
Aron Xu
intel
Fix Released
Undecided
Dimitri John Ledkov
amd64-microcode (Ubuntu)
Fix Released
Medium
Unassigned
ubuntu-drivers-common (Ubuntu)
Fix Released
Medium
Dimitri John Ledkov
ubuntu-meta (Ubuntu)
Fix Released
Medium
Dimitri John Ledkov
ubuntukylin-meta (Ubuntu)
Fix Released
Medium
Aron Xu

Bug Description

intel-microcode should be installed by default on the bare-metal systems which are running on GenuineIntel CPUs, by the installers.

Similarly other microcode packages for other CPUs brands should be considered for inclusion (e.g. amd64-microcode).

I hope that ubuntu-drivers-common can gain ability to detect cpu series and/or vendors, packages that provide microcodes similarly declare support for cpu series and/or vendors, the microcode packages are shipped on the CDs in the pool directory, and installed on to the target machines as part of the installation.

This should help with rapid correction of bugs and behaviour of the CPUs in the field.

2017 update, amd64-microcode should also be seeded, as it is useful to have it autoinstallable. In the recent years there have been critical CPU security vulnerabilities which got fixed with microcode updates.

Changed in ubuntu-drivers-common (Ubuntu):
milestone: none → ubuntu-15.04
assignee: nobody → Dimitri John Ledkov (xnox)
Changed in intel:
assignee: nobody → Dimitri John Ledkov (xnox)
Revision history for this message
Dimitri John Ledkov (xnox) wrote :
Changed in ubuntu-drivers-common (Ubuntu):
status: New → In Progress
affects: ubuntu-cdimage → ubuntu-seeds
Changed in ubuntu-seeds:
assignee: nobody → Dimitri John Ledkov (xnox)
affects: ubuntu-seeds → ubuntu-meta (Ubuntu)
Changed in ubuntu-meta (Ubuntu):
status: New → In Progress
Revision history for this message
Dimitri John Ledkov (xnox) wrote :
Revision history for this message
Felix Geyer (debfx) wrote :

I have strongly mixed feelings about installing intel-microcode by default.
Of course it's good to have the latest microcode bugfixes.
What worries me is that Intel provides no release notes at all.
They didn't even put up a warning for the update that disables the TSX instruction.
Removing an instruction while processes are already running is of course highly problematic, see bug #1370352.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

@debfx this is precisely why intel microcode package should be consistently installed and this is done in response to the TSX problem described before. microcode update is the last resort that vendor has to correct firmware bugs in the field. microcode update removed TSX instruction because the implementation turned out to have issues. But that was not sufficient alone, due to incorrect detection in the user-space code and the fact that microcode is not updated on most client systems. This one of the corrective actions going forward to mitigate / contain similar type of problem in the future.

Revision history for this message
Henrique de Moraes Holschuh (hmh) wrote :

You will want the newer intel-microcode packages, then. This means a resync with Debian is highly advised.

Exactly due to the issue brought to the front by the Intel Haswell microcode update that disabled TSX, Debian has switched to enforcing that automated microcode updates be done only through the early initramfs. This, in fact, requires a reboot to apply the microcode update (just like a kernel update).

While I did blacklist the offending Haswell microcode updates in the Debian packages so that they will not be applied by accident using the late microcode driver (which results in an unusable system as described in #1370352), this kind of blacklisting is reactive, so the switch to early microcode updates is the only safe way forward right now.

Of course, it took ~10 years for the first Intel microcode update that had visible effects at the ISA level to show up, so it might be another 10 years before the next one...

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

MIR has been approved and intel-microcode has been seeded on to the images, thus whenever next images are build intel-microcode will be available from the package pool with the archive overrides done, but not yet automatically installed until after ubuntu-drivers-common change also lands on the images.

Changed in ubuntu-meta (Ubuntu):
status: In Progress → Fix Released
Aron Xu (happyaron)
Changed in ubuntukylin-meta (Ubuntu):
status: New → Fix Committed
Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

What about amd-microcode?

Aron Xu (happyaron)
Changed in ubuntukylin-meta (Ubuntu):
status: Fix Committed → Fix Released
assignee: nobody → Aron Xu (happyaron)
Martin Pitt (pitti)
Changed in ubuntu-drivers-common (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-drivers-common - 1:0.4

---------------
ubuntu-drivers-common (1:0.4) vivid; urgency=medium

  [ Dimitri John Ledkov ]
  * Add cpu-microcode detect-plugin. (LP: #1386257)
 -- Martin Pitt <email address hidden> Thu, 19 Feb 2015 14:52:28 +0100

Changed in ubuntu-drivers-common (Ubuntu):
status: Fix Committed → Fix Released
Aron Xu (happyaron)
Changed in ubuntukylin:
assignee: nobody → Aron Xu (happyaron)
milestone: none → vivid-beta2
status: New → Fix Released
Revision history for this message
jiaowen520li (jiaowen520li) wrote :

This bug has been fixed in UK15.04-0311-Daily-amd64.

Changed in intel:
status: New → Fix Released
description: updated
Changed in amd64-microcode (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
Changed in ubuntu-drivers-common (Ubuntu):
importance: Undecided → Medium
Changed in ubuntu-meta (Ubuntu):
importance: Undecided → Medium
Changed in ubuntukylin-meta (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

I notice that the amd64-microcode package never gets updated in a stable Ubuntu release.

amd microcode is part of upstream linux-firmware. Is it also shipped inside the ubuntu linux-firmware package?

For example, this is the latest amd microcode commit upstream:
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=5f8ca0c1db6106a2d6d7e85eee778917ff03c3de

So my point is, is there a local policy to organize where the amd microcode is going to be shipped in Ubuntu? amd64-microcode or linux-firmware?

Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

Ping for amd64-microcode!

Revision history for this message
Tuomas Lähteenmäki (lahtis) wrote :

im updating latest intel-microcode (sudo apt-get update && sudo apt-get upgrade -y) and it is also automatically install also amd-microcode in my laptop. Why? my laptop not use amd-microcode. it is use only intel. Why it install it when updating my laptop. Is this a bug or what?

Revision history for this message
Tuomas Lähteenmäki (lahtis) wrote :

Same happened also me. Updating system and intel-microcode is installed in AMD machine.
Updating intel laptop and also AMD-microcode is installed in intel-laptop. Is there no amendment here? What processor is used.

Revision history for this message
Tyler Hicks (tyhicks) wrote :

@amribrahim1987 you've probably noticed but we have released an amd64-microcode update recently:

  https://usn.ubuntu.com/3690-1/

Updates for AMD microcode will be provided in the amd64-microcode package and not in linux-firmware.

Revision history for this message
Tyler Hicks (tyhicks) wrote :

@lahtis deb packaging doesn't provide us the granularity to have the kernel packages specifically depend on intel-microcode packages on Intel x86 systems and amd64-microcde on AMD x86 systems. Instead, we have to depend on both packages. If you have an Intel processor, the AMD microcode is not used. If you have an AMD processor, the Intel microcode is not used.

The downside here is slightly increased storage requirements to store the unnecessary package on your device (and the bandwidth to download the updates). We apologize for the inconvenience but felt it was warranted in order to get updated microcode deployed to all users in order to address known vulnerabilities in processors.

Revision history for this message
Amr Ibrahim (amribrahim1987) wrote :

Then I guess tis is fixed now.

Changed in amd64-microcode (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.