[PATCH 0/4] More PCID fixes

From: Andy Lutomirski
Date: Sun Sep 17 2017 - 12:04:02 EST


This fixes a 32-bit boot warning, a 32-bit boot oddity that seems
unsymtomatic right now, and a potential userspace corruption issue
across EFI calls if PCID is enabled.

With this series applied, the only remaining issue I'm aware of is
the paging-structure cache laziness problem.

I've tested SMP boot, suspend/resume, hotplug/unplug, and hibernate
on a 32-bit VM, a 64-bit VM, and a 64-bit laptop. (Except hibernate
on the laptop -- my laptop can't resume from hibernation on *any*
kernel due to a userspace (systemd? Fedora overall integration?)
issue.)

Andy Lutomirski (4):
x86/mm: Factor out CR3-building code
x86/mm/64: Stop using CR3.PCID == 0 in ASID-aware code
x86/mm/32: Move setup_clear_cpu_cap(X86_FEATURE_PCID) earlier
x86/mm/32: Load a sane CR3 before cpu_init() on secondary CPUs

arch/x86/include/asm/mmu_context.h | 32 ++++++++++++++++++++++++++++----
arch/x86/kernel/cpu/bugs.c | 8 --------
arch/x86/kernel/cpu/common.c | 8 ++++++++
arch/x86/kernel/smpboot.c | 13 +++++++------
arch/x86/mm/tlb.c | 11 +++++------
5 files changed, 48 insertions(+), 24 deletions(-)

--
2.13.5