History

x86/bugs: Add ITLB_MULTIHIT bug infrastructure

Some processors may incur a machine check error possibly resulting in an unrecoverable CPU lockup when an instruction fetch encounters a TLB multi-hit in the instruction TLB. This can occur when the page size is changed along with either the physical address or cache type. The relevant erratum can be found here: https://bugzilla.kernel.org/show_bug.cgi?id=205195 There are other processors affected for which the erratum does not fully disclose the impact. This issue affects both bare-metal x86 page tables and EPT. It can be mitigated by either eliminating the use of large pages or by using careful TLB invalidations when changing the page size in the page tables. Just like Spectre, Meltdown, L1TF and MDS, a new bit has been allocated in MSR_IA32_ARCH_CAPABILITIES (PSCHANGE_MC_NO) and will be set on CPUs which are mitigated against this issue.

Vineela Tummalapalli committed 7 years ago

Commit db4d30f1 parent ca8888d7 files · +67 −30Browse files

Showing the changes to include/linux (1 of 7 files). Show all

Unified · Split

include/linux/cpu.h+2−0
@@ -62,6 +62,8 @@ extern ssize_t cpu_show_mds(struct device *dev, · 61 unmodified lines
62extern ssize_t cpu_show_tsx_async_abort(struct device *dev,62extern ssize_t cpu_show_tsx_async_abort(struct device *dev,
63 struct device_attribute *attr,63 struct device_attribute *attr,
64 char *buf);64 char *buf);
65extern ssize_t cpu_show_itlb_multihit(struct device *dev,
66 struct device_attribute *attr, char *buf);
65 67
66extern __printf(4, 5)68extern __printf(4, 5)
67struct device *cpu_device_create(struct device *parent, void *drvdata,69struct device *cpu_device_create(struct device *parent, void *drvdata,

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t