]> Git Repo - linux.git/commitdiff
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <[email protected]>
Sun, 16 Jun 2019 17:28:14 +0000 (07:28 -1000)
committerLinus Torvalds <[email protected]>
Sun, 16 Jun 2019 17:28:14 +0000 (07:28 -1000)
Pull x86 fixes from Thomas Gleixner:
 "The accumulated fixes from this and last week:

   - Fix vmalloc TLB flush and map range calculations which lead to
     stale TLBs, spurious faults and other hard to diagnose issues.

   - Use fault_in_pages_writable() for prefaulting the user stack in the
     FPU code as it's less fragile than the current solution

   - Use the PF_KTHREAD flag when checking for a kernel thread instead
     of current->mm as the latter can give the wrong answer due to
     use_mm()

   - Compute the vmemmap size correctly for KASLR and 5-Level paging.
     Otherwise this can end up with a way too small vmemmap area.

   - Make KASAN and 5-level paging work again by making sure that all
     invalid bits are masked out when computing the P4D offset. This
     worked before but got broken recently when the LDT remap area was
     moved.

   - Prevent a NULL pointer dereference in the resource control code
     which can be triggered with certain mount options when the
     requested resource is not available.

   - Enforce ordering of microcode loading vs. perf initialization on
     secondary CPUs. Otherwise perf tries to access a non-existing MSR
     as the boot CPU marked it as available.

   - Don't stop the resource control group walk early otherwise the
     control bitmaps are not updated correctly and become inconsistent.

   - Unbreak kgdb by returning 0 on success from
     kgdb_arch_set_breakpoint() instead of an error code.

   - Add more Icelake CPU model defines so depending changes can be
     queued in other trees"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/microcode, cpuhotplug: Add a microcode loader CPU hotplug callback
  x86/kasan: Fix boot with 5-level paging and KASAN
  x86/fpu: Don't use current->mm to check for a kthread
  x86/kgdb: Return 0 from kgdb_arch_set_breakpoint()
  x86/resctrl: Prevent NULL pointer dereference when local MBM is disabled
  x86/resctrl: Don't stop walking closids when a locksetup group is found
  x86/fpu: Update kernel's FPU state before using for the fsave header
  x86/mm/KASLR: Compute the size of the vmemmap section properly
  x86/fpu: Use fault_in_pages_writeable() for pre-faulting
  x86/CPU: Add more Icelake model numbers
  mm/vmalloc: Avoid rare case of flushing TLB with weird arguments
  mm/vmalloc: Fix calculation of direct map addr range

1  2 
arch/x86/kernel/cpu/resctrl/monitor.c
arch/x86/kernel/cpu/resctrl/rdtgroup.c

index 7ee93125a2114b5f1cf818aa75103cf970193161,ff6e8e5614059a4e4960dde2d7da2304257cfa0d..397206f23d14f9aeadf860747fa42662d42baadf
@@@ -1,4 -1,3 +1,4 @@@
 +// SPDX-License-Identifier: GPL-2.0-only
  /*
   * Resource Director Technology(RDT)
   * - Monitoring code
   * This replaces the cqm.c based on perf but we reuse a lot of
   * code and datastructures originally from Peter Zijlstra and Matt Fleming.
   *
 - * This program is free software; you can redistribute it and/or modify it
 - * under the terms and conditions of the GNU General Public License,
 - * version 2, as published by the Free Software Foundation.
 - *
 - * This program is distributed in the hope it will be useful, but WITHOUT
 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 - * more details.
 - *
   * More information about RDT be found in the Intel (R) x86 Architecture
   * Software Developer Manual June 2016, volume 3, section 17.17.
   */
@@@ -360,6 -368,9 +360,9 @@@ static void update_mba_bw(struct rdtgro
        struct list_head *head;
        struct rdtgroup *entry;
  
+       if (!is_mbm_local_enabled())
+               return;
        r_mba = &rdt_resources_all[RDT_RESOURCE_MBA];
        closid = rgrp->closid;
        rmid = rgrp->mon.rmid;
index 2f48f208f7e29eb7152e73f4351eaa449dbc39f5,869cbef5da818a693fdc62d2244076ba6d5e7153..2131b8bbaad7d5bc38975d792ff2b96abda6312e
@@@ -1,4 -1,3 +1,4 @@@
 +// SPDX-License-Identifier: GPL-2.0-only
  /*
   * User interface for Resource Alloction in Resource Director Technology(RDT)
   *
@@@ -6,6 -5,15 +6,6 @@@
   *
   * Author: Fenghua Yu <[email protected]>
   *
 - * This program is free software; you can redistribute it and/or modify it
 - * under the terms and conditions of the GNU General Public License,
 - * version 2, as published by the Free Software Foundation.
 - *
 - * This program is distributed in the hope it will be useful, but WITHOUT
 - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 - * more details.
 - *
   * More information about RDT be found in the Intel (R) x86 Architecture
   * Software Developer Manual.
   */
@@@ -2534,7 -2542,12 +2534,12 @@@ static int __init_one_rdt_domain(struc
                if (closid_allocated(i) && i != closid) {
                        mode = rdtgroup_mode_by_closid(i);
                        if (mode == RDT_MODE_PSEUDO_LOCKSETUP)
-                               break;
+                               /*
+                                * ctrl values for locksetup aren't relevant
+                                * until the schemata is written, and the mode
+                                * becomes RDT_MODE_PSEUDO_LOCKED.
+                                */
+                               continue;
                        /*
                         * If CDP is active include peer domain's
                         * usage to ensure there is no overlap
This page took 0.076309 seconds and 4 git commands to generate.