Messages in this thread Patch in this message | | | From | Joerg Roedel <> | Subject | [PATCH v2 2/4] x86/mm/64: Flush global TLB on AP bringup | Date | Wed, 29 Sep 2021 16:54:59 +0200 |
| |
From: Joerg Roedel <jroedel@suse.de>
The AP bringup code uses the trampoline_pgd page-table, which establishes global mappings in the user range of the address space. Flush the global TLB entries after CR4 is setup for the AP to make sure no stale entries remain in the TLB.
Signed-off-by: Joerg Roedel <jroedel@suse.de> --- arch/x86/kernel/cpu/common.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index 0f8885949e8c..0f71ea2e5680 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c @@ -436,6 +436,12 @@ void cr4_init(void) /* Initialize cr4 shadow for this CPU. */ this_cpu_write(cpu_tlbstate.cr4, cr4); + + /* + * Flush any global TLB entries that might be left from the + * trampline_pgd. + */ + __flush_tlb_all(); } /* -- 2.33.0
| |