Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 27 Jul 2016 18:16:05 +0000 (11:16 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 27 Jul 2016 18:16:05 +0000 (11:16 -0700)
Pull arm64 updates from Catalin Marinas:

 - Kexec support for arm64

 - Kprobes support

 - Expose MIDR_EL1 and REVIDR_EL1 CPU identification registers to sysfs

 - Trapping of user space cache maintenance operations and emulation in
   the kernel (CPU errata workaround)

 - Clean-up of the early page tables creation (kernel linear mapping,
   EFI run-time maps) to avoid splitting larger blocks (e.g.  pmds) into
   smaller ones (e.g.  ptes)

 - VDSO support for CLOCK_MONOTONIC_RAW in clock_gettime()

 - ARCH_HAS_KCOV enabled for arm64

 - Optimise IP checksum helpers

 - SWIOTLB optimisation to only allocate/initialise the buffer if the
   available RAM is beyond the 32-bit mask

 - Properly handle the "nosmp" command line argument

 - Fix for the initialisation of the CPU debug state during early boot

 - vdso-offsets.h build dependency workaround

 - Build fix when RANDOMIZE_BASE is enabled with MODULES off

* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (64 commits)
  arm64: arm: Fix-up the removal of the arm64 regs_query_register_name() prototype
  arm64: Only select ARM64_MODULE_PLTS if MODULES=y
  arm64: mm: run pgtable_page_ctor() on non-swapper translation table pages
  arm64: mm: make create_mapping_late() non-allocating
  arm64: Honor nosmp kernel command line option
  arm64: Fix incorrect per-cpu usage for boot CPU
  arm64: kprobes: Add KASAN instrumentation around stack accesses
  arm64: kprobes: Cleanup jprobe_return
  arm64: kprobes: Fix overflow when saving stack
  arm64: kprobes: WARN if attempting to step with PSTATE.D=1
  arm64: debug: remove unused local_dbg_{enable, disable} macros
  arm64: debug: remove redundant spsr manipulation
  arm64: debug: unmask PSTATE.D earlier
  arm64: localise Image objcopy flags
  arm64: ptrace: remove extra define for CPSR's E bit
  kprobes: Add arm64 case in kprobe example module
  arm64: Add kernel return probes support (kretprobes)
  arm64: Add trampoline code for kretprobes
  arm64: kprobes instruction simulation support
  arm64: Treat all entry code as non-kprobe-able
  ...

1  2 
arch/arm64/Kconfig
arch/arm64/Makefile
arch/arm64/include/asm/efi.h
arch/arm64/include/asm/ptrace.h
arch/arm64/kernel/Makefile
arch/arm64/kernel/asm-offsets.c
arch/arm64/kernel/cpu_errata.c
arch/arm64/kernel/entry.S
arch/arm64/kernel/setup.c
arch/arm64/kernel/smp.c
arch/arm64/mm/fault.c

Simple merge
Simple merge
Simple merge
@@@ -117,10 -117,10 +117,12 @@@ struct pt_regs 
        };
        u64 orig_x0;
        u64 syscallno;
 +      u64 orig_addr_limit;
 +      u64 unused;     // maintain 16 byte alignment
  };
  
+ #define MAX_REG_OFFSET offsetof(struct pt_regs, pstate)
  #define arch_has_single_step()        (1)
  
  #ifdef CONFIG_COMPAT
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -279,9 -307,8 +307,9 @@@ static int __kprobes do_page_fault(unsi
                mm_flags |= FAULT_FLAG_WRITE;
        }
  
-       if (permission_fault(esr) && (addr < USER_DS)) {
+       if (is_permission_fault(esr) && (addr < USER_DS)) {
 -              if (get_fs() == KERNEL_DS)
 +              /* regs->orig_addr_limit may be 0 if we entered from EL0 */
 +              if (regs->orig_addr_limit == KERNEL_DS)
                        die("Accessing user space memory with fs=KERNEL_DS", regs, esr);
  
                if (!search_exception_tables(regs->pc))