Runtime microcode updates do not expose new features completely
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Expired
|
Medium
|
Unassigned | ||
Artful |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
Unlike upstream, the artful kernel uses the scattered CPU bits arch/x86/
Upstream does not have this problem because it uses cpuid_count() which does a raw cpuid when creating a guest rather than the scattered features. Two changes are needed - updating scattered features on microcode reload and using the runtime CPU data rather than the boot data.
Reproduced on "4.13.0-38-generic #43-Ubuntu SMP Wed Mar 14 15:20:44 UTC 2018". Boot with original vendor microcode, apply new microcode with "echo 1 > /sys/devices/
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
unsigned int edx;
asm volatile("mov $7, %%eax\n\t"
return 0;
}
Two compile tested patches attached, I have not yet checked other Ubuntu releases.
CVE References
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
status: | Confirmed → Triaged |
Changed in linux (Ubuntu Artful): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in linux (Ubuntu): | |
status: | Triaged → Incomplete |
information type: | Public → Public Security |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1765040
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.