From: Joerg Roedel <joro@8bytes.org>
To: x86@kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
hpa@zytor.com, Dave Hansen <dave.hansen@linux.intel.com>,
Andy Lutomirski <luto@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Joerg Roedel <jroedel@suse.de>, Mike Rapoport <rppt@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Brijesh Singh <brijesh.singh@amd.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH v2 2/4] x86/mm/64: Flush global TLB on AP bringup
Date: Wed, 29 Sep 2021 16:54:59 +0200 [thread overview]
Message-ID: <20210929145501.4612-3-joro@8bytes.org> (raw)
In-Reply-To: <20210929145501.4612-1-joro@8bytes.org>
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
next prev parent reply other threads:[~2021-09-29 14:55 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-29 14:54 [PATCH v2 0/4] x86/mm: Fix some issues with using trampoline_pgd Joerg Roedel
2021-09-29 14:54 ` [PATCH v2 1/4] x86/realmode: Add comment for Global bit usage in trampline_pgd Joerg Roedel
2021-09-29 14:54 ` Joerg Roedel [this message]
2021-09-29 15:09 ` [PATCH v2 2/4] x86/mm/64: Flush global TLB on AP bringup Dave Hansen
2021-09-30 13:52 ` Joerg Roedel
2021-09-29 14:55 ` [PATCH v2 3/4] x86/mm: Flush global TLB when switching to trampoline page-table Joerg Roedel
2021-09-29 15:07 ` Dave Hansen
2021-10-01 12:37 ` Joerg Roedel
2021-09-29 14:55 ` [PATCH v2 4/4] x86/64/mm: Map all kernel memory into trampoline_pgd Joerg Roedel
2021-09-29 15:22 ` Dave Hansen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210929145501.4612-3-joro@8bytes.org \
--to=joro@8bytes.org \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=brijesh.singh@amd.com \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jroedel@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rppt@kernel.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox