Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 15 Apr 2018 19:32:06 +0000 (12:32 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 15 Apr 2018 19:32:06 +0000 (12:32 -0700)
Pull x86 EFI bootup fixlet from Thomas Gleixner:
 "A single fix for an early boot warning caused by invoking
  this_cpu_has() before SMP initialization"

* 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/mm: Fix bogus warning during EFI bootup, use boot_cpu_has() instead of this_cpu_has() in build_cr3_noflush()

arch/x86/include/asm/tlbflush.h

index 84137c2..6690cd3 100644 (file)
@@ -131,7 +131,12 @@ static inline unsigned long build_cr3(pgd_t *pgd, u16 asid)
 static inline unsigned long build_cr3_noflush(pgd_t *pgd, u16 asid)
 {
        VM_WARN_ON_ONCE(asid > MAX_ASID_AVAILABLE);
-       VM_WARN_ON_ONCE(!this_cpu_has(X86_FEATURE_PCID));
+       /*
+        * Use boot_cpu_has() instead of this_cpu_has() as this function
+        * might be called during early boot. This should work even after
+        * boot because all CPU's the have same capabilities:
+        */
+       VM_WARN_ON_ONCE(!boot_cpu_has(X86_FEATURE_PCID));
        return __sme_pa(pgd) | kern_pcid(asid) | CR3_NOFLUSH;
 }