OSDN Git Service

Merge branch 'devel-stable' into for-linus
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 3 Sep 2015 14:28:50 +0000 (15:28 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 3 Sep 2015 14:28:50 +0000 (15:28 +0100)
Conflicts:
drivers/perf/arm_pmu.c

1  2 
arch/arm/Kconfig
arch/arm/kernel/setup.c

diff --combined arch/arm/Kconfig
@@@ -188,9 -188,6 +188,9 @@@ config ARCH_HAS_ILOG2_U6
  config ARCH_HAS_BANDGAP
        bool
  
 +config FIX_EARLYCON_MEM
 +      def_bool y if MMU
 +
  config GENERIC_HWEIGHT
        bool
        default y
@@@ -1499,6 -1496,7 +1499,7 @@@ config HOTPLUG_CP
  config ARM_PSCI
        bool "Support for the ARM Power State Coordination Interface (PSCI)"
        depends on CPU_V7
+       select ARM_PSCI_FW
        help
          Say Y here if you want Linux to communicate with system firmware
          implementing the PSCI specification for CPU-centric power
@@@ -1703,28 -1701,9 +1704,24 @@@ config HIGHPT
          consumed by page tables.  Setting this option will allow
          user-space 2nd level page tables to reside in high memory.
  
 +config CPU_SW_DOMAIN_PAN
 +      bool "Enable use of CPU domains to implement privileged no-access"
 +      depends on MMU && !ARM_LPAE
 +      default y
 +      help
 +        Increase kernel security by ensuring that normal kernel accesses
 +        are unable to access userspace addresses.  This can help prevent
 +        use-after-free bugs becoming an exploitable privilege escalation
 +        by ensuring that magic values (such as LIST_POISON) will always
 +        fault when dereferenced.
 +
 +        CPUs with low-vector mappings use a best-efforts implementation.
 +        Their lower 1MB needs to remain accessible for the vectors, but
 +        the remainder of userspace will become appropriately inaccessible.
 +
  config HW_PERF_EVENTS
-       bool "Enable hardware performance counter support for perf events"
-       depends on PERF_EVENTS
-       default y
-       help
-         Enable hardware performance counter support for perf events. If
-         disabled, perf events will use software events only.
+       def_bool y
+       depends on ARM_PMU
  
  config SYS_SUPPORTS_HUGETLBFS
         def_bool y
diff --combined arch/arm/kernel/setup.c
  #include <linux/bug.h>
  #include <linux/compiler.h>
  #include <linux/sort.h>
+ #include <linux/psci.h>
  
  #include <asm/unified.h>
  #include <asm/cp15.h>
  #include <asm/cpu.h>
  #include <asm/cputype.h>
  #include <asm/elf.h>
 +#include <asm/fixmap.h>
  #include <asm/procinfo.h>
  #include <asm/psci.h>
  #include <asm/sections.h>
@@@ -955,9 -955,6 +956,9 @@@ void __init setup_arch(char **cmdline_p
        strlcpy(cmd_line, boot_command_line, COMMAND_LINE_SIZE);
        *cmdline_p = cmd_line;
  
 +      if (IS_ENABLED(CONFIG_FIX_EARLYCON_MEM))
 +              early_fixmap_init();
 +
        parse_early_param();
  
  #ifdef CONFIG_MMU
        unflatten_device_tree();
  
        arm_dt_init_cpu_maps();
-       psci_init();
+       psci_dt_init();
        xen_early_init();
  #ifdef CONFIG_SMP
        if (is_smp()) {
@@@ -1019,7 -1016,7 +1020,7 @@@ static int __init topology_init(void
  
        for_each_possible_cpu(cpu) {
                struct cpuinfo_arm *cpuinfo = &per_cpu(cpu_data, cpu);
 -              cpuinfo->cpu.hotpluggable = 1;
 +              cpuinfo->cpu.hotpluggable = platform_can_hotplug_cpu(cpu);
                register_cpu(&cpuinfo->cpu, cpu);
        }