Dear Andy, On 09/17/17 20:19, tip-bot for Andy Lutomirski wrote:
Commit-ID: 4ba55e65f471d011d3ba2ac2022180ea0877d68e Gitweb: http://git.kernel.org/tip/4ba55e65f471d011d3ba2ac2022180ea0877d68e Author: Andy Lutomirski <luto@xxxxxxxxxx> AuthorDate: Sun, 17 Sep 2017 09:03:51 -0700 Committer: Ingo Molnar <mingo@xxxxxxxxxx> CommitDate: Sun, 17 Sep 2017 18:59:09 +0200 x86/mm/32: Load a sane CR3 before cpu_init() on secondary CPUs For unknown historical reasons (i.e. Borislav doesn't recall), 32-bit kernels invoke cpu_init() on secondary CPUs with initial_page_table loaded into CR3. Then they set current->active_mm to &init_mm and call enter_lazy_tlb() before fixing CR3.
If this should be changed, I’d be happy to help.
This means that the x86 TLB code gets invoked while CR3 is inconsistent, and, with the improved PCID sanity checks I added, we warn. Fix it by loading swapper_pg_dir (i.e. init_mm.pgd) earlier. Reported-by: Paul Menzel <pmenzel@xxxxxxxxxxxxx> Reported-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Borislav Petkov <bpetkov@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Fixes: 72c0098d92ce ("x86/mm: Reinitialize TLB state on hotplug and resume") Link: http://lkml.kernel.org/r/30cdfea504682ba3b9012e77717800a91c22097f.1505663533.git.luto@xxxxxxxxxx
This should use the HTTPS protocol.
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> --- arch/x86/kernel/smpboot.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
[…] Thank you for the fix. Tested-by: Paul Menzel <pmenzel@xxxxxxxxxxxxx> (Lenovo X60t) Kind regards, Paul -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |