[GIT PULL] arm64 updates for 4.8

Catalin Marinas catalin.marinas at arm.com
Wed Jul 27 00:19:29 PDT 2016


Hi Linus,

Please pull the arm64 updates for 4.8 below. FYI, I'll be on holiday
from Friday for about 10 days, so missing the end of the merging window.
If there are any issues, Will is around to handle them.

There is a minor conflict with latest upstream caused by a function
renaming. My conflict resolution is:

diff --cc arch/arm64/mm/fault.c
index 031820d989a8,4ebda515a016..000000000000
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@@ -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))

Thanks.


The following changes since commit 33688abb2802ff3a230bd2441f765477b94cc89e:

  Linux 4.7-rc4 (2016-06-19 21:30:02 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux tags/arm64-upstream

for you to fetch changes up to fd6380b75065fd2ff51b5f7cbbe6be77d71ea9c7:

  arm64: arm: Fix-up the removal of the arm64 regs_query_register_name() prototype (2016-07-27 08:15:42 +0100)

----------------------------------------------------------------
arm64 updates for 4.8:

- 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

----------------------------------------------------------------
Al Stone (1):
      ARM64: ACPI: Update documentation for latest specification version

Alexander Potapenko (1):
      arm64: allow building with kcov coverage on ARM64

Andre Przywara (6):
      Revert "arm64: alternatives: add enable parameter to conditional asm macros"
      arm64: fix "dc cvau" cache operation on errata-affected core
      arm64: include alternative handling in dcache_by_line_op
      arm64: errata: Calling enable functions for CPU errata too
      arm64: consolidate signal injection on emulation errors
      arm64: trap userspace "dc cvau" cache operation on errata-affected core

Ard Biesheuvel (7):
      arm64: mm: fix location of _etext
      arm64: mm: add param to force create_pgd_mapping() to use page mappings
      arm64: efi: always map runtime services code and data regions down to pages
      arm64: efi: avoid block mappings for unaligned UEFI memory regions
      arm64: mm: fold init_pgd() into __create_pgd_mapping()
      arm64: mm: make create_mapping_late() non-allocating
      arm64: mm: run pgtable_page_ctor() on non-swapper translation table pages

Catalin Marinas (8):
      Revert "arm64: Add support ARCH_SUPPORTS_INT128"
      arm64: mm: Remove split_p*d() functions
      arm64: Fix vdso-offsets.h dependency
      Revert "arm64: Fix vdso-offsets.h dependency"
      arm64: kprobes: Add KASAN instrumentation around stack accesses
      Merge branch 'for-next/kprobes' into for-next/core
      arm64: Only select ARM64_MODULE_PLTS if MODULES=y
      arm64: arm: Fix-up the removal of the arm64 regs_query_register_name() prototype

David A. Long (3):
      arm64: Add HAVE_REGS_AND_STACK_ACCESS_API feature
      arm64: Add more test functions to insn.c
      arm64: add conditional instruction simulation support

Geoff Levand (4):
      arm64: Add back cpu reset routines
      arm64/kexec: Add core kexec support
      arm64/kexec: Enable kexec in the arm64 defconfig
      arm64/kexec: Add pr_debug output

James Morse (1):
      arm64: smp: Add function to determine if cpus are stuck in the kernel

Jisheng Zhang (1):
      arm64: mm: only initialize swiotlb when necessary

Kefeng Wang (2):
      arm64: Add support ARCH_SUPPORTS_INT128
      arm64: mm: remove unnecessary BUG_ON

Kevin Brodsky (3):
      arm64: fix vdso-offsets.h dependency
      arm64: Refactor vDSO time functions
      arm64: Add support for CLOCK_MONOTONIC_RAW in clock_gettime() vDSO

Lorenzo Pieralisi (1):
      arm64: mm: change IOMMU notifier action to attach DMA ops

Marc Zyngier (3):
      drivers/perf: arm-pmu: Handle per-interrupt affinity mask
      arm64: kprobes: Fix overflow when saving stack
      arm64: kprobes: Cleanup jprobe_return

Mark Rutland (7):
      arm64: mm: dump: make page table dumping reusable
      arm64: simplify dump_mem
      arm64: add macro to extract ESR_ELx.EC
      arm64/kvm: use ESR_ELx_EC to extract EC
      arm64: kill ESR_LNX_EXEC
      arm64: mm: simplify memblock numa node extraction
      arm64: localise Image objcopy flags

Pratyush Anand (2):
      arm64: Blacklist non-kprobe-able symbol
      arm64: Treat all entry code as non-kprobe-able

Robin Murphy (1):
      arm64: Implement optimised IP checksum helpers

Sandeepa Prabhu (4):
      arm64: Kprobes with single stepping support
      arm64: kprobes instruction simulation support
      arm64: Add kernel return probes support (kretprobes)
      kprobes: Add arm64 case in kprobe example module

Steve Capper (1):
      arm64: cpuinfo: Expose MIDR_EL1 and REVIDR_EL1 to sysfs

Suzuki K Poulose (2):
      arm64: Fix incorrect per-cpu usage for boot CPU
      arm64: Honor nosmp kernel command line option

Vladimir Murzin (1):
      arm64: ptrace: remove extra define for CPSR's E bit

Will Deacon (4):
      arm64: debug: unmask PSTATE.D earlier
      arm64: debug: remove redundant spsr manipulation
      arm64: debug: remove unused local_dbg_{enable, disable} macros
      arm64: kprobes: WARN if attempting to step with PSTATE.D=1

William Cohen (1):
      arm64: Add trampoline code for kretprobes

Yang Shi (1):
      arm64: kasan: instrument user memory access API

 Documentation/ABI/testing/sysfs-devices-system-cpu |  10 +
 Documentation/arm64/acpi_object_usage.txt          | 343 ++++++-----
 Documentation/arm64/arm-acpi.txt                   |  40 +-
 Documentation/devicetree/bindings/arm/pmu.txt      |   4 +-
 arch/arm64/Kconfig                                 |  16 +-
 arch/arm64/Makefile                                |  11 +-
 arch/arm64/boot/Makefile                           |   2 +
 arch/arm64/configs/defconfig                       |   1 +
 arch/arm64/include/asm/Kbuild                      |   1 -
 arch/arm64/include/asm/alternative.h               |  16 +-
 arch/arm64/include/asm/assembler.h                 |  12 +-
 arch/arm64/include/asm/checksum.h                  |  51 ++
 arch/arm64/include/asm/cpu.h                       |   2 +
 arch/arm64/include/asm/cpufeature.h                |   2 +
 arch/arm64/include/asm/debug-monitors.h            |   5 +
 arch/arm64/include/asm/efi.h                       |   3 +-
 arch/arm64/include/asm/esr.h                       |   1 +
 arch/arm64/include/asm/insn.h                      |  41 ++
 arch/arm64/include/asm/irqflags.h                  |   3 -
 arch/arm64/include/asm/kexec.h                     |  48 ++
 arch/arm64/include/asm/kprobes.h                   |  62 ++
 arch/arm64/include/asm/kvm_emulate.h               |   2 +-
 arch/arm64/include/asm/mmu.h                       |   2 +-
 arch/arm64/include/asm/probes.h                    |  35 ++
 arch/arm64/include/asm/processor.h                 |   1 +
 arch/arm64/include/asm/ptdump.h                    |  44 ++
 arch/arm64/include/asm/ptrace.h                    |  64 +-
 arch/arm64/include/asm/smp.h                       |  12 +
 arch/arm64/include/asm/sysreg.h                    |   2 +-
 arch/arm64/include/asm/traps.h                     |   2 +
 arch/arm64/include/asm/uaccess.h                   |  25 +-
 arch/arm64/include/asm/vdso_datapage.h             |   8 +-
 arch/arm64/include/asm/virt.h                      |   5 +
 arch/arm64/kernel/Makefile                         |  11 +-
 arch/arm64/kernel/arm64ksyms.c                     |   6 +-
 arch/arm64/kernel/armv8_deprecated.c               |  44 +-
 arch/arm64/kernel/asm-offsets.c                    |  17 +-
 arch/arm64/kernel/cpu-reset.S                      |  54 ++
 arch/arm64/kernel/cpu-reset.h                      |  34 +
 arch/arm64/kernel/cpu_errata.c                     |   7 +
 arch/arm64/kernel/cpufeature.c                     |   4 +-
 arch/arm64/kernel/cpuinfo.c                        | 120 ++++
 arch/arm64/kernel/debug-monitors.c                 |  47 +-
 arch/arm64/kernel/efi.c                            |  50 +-
 arch/arm64/kernel/entry.S                          |  17 +-
 arch/arm64/kernel/hw_breakpoint.c                  |   8 +
 arch/arm64/kernel/hyp-stub.S                       |  10 +-
 arch/arm64/kernel/insn.c                           | 133 ++++
 arch/arm64/kernel/kgdb.c                           |   4 +
 arch/arm64/kernel/machine_kexec.c                  | 212 +++++++
 arch/arm64/kernel/probes/Makefile                  |   3 +
 arch/arm64/kernel/probes/decode-insn.c             | 174 ++++++
 arch/arm64/kernel/probes/decode-insn.h             |  35 ++
 arch/arm64/kernel/probes/kprobes.c                 | 686 +++++++++++++++++++++
 arch/arm64/kernel/probes/kprobes_trampoline.S      |  81 +++
 arch/arm64/kernel/probes/simulate-insn.c           | 217 +++++++
 arch/arm64/kernel/probes/simulate-insn.h           |  28 +
 arch/arm64/kernel/ptrace.c                         | 101 +++
 arch/arm64/kernel/relocate_kernel.S                | 130 ++++
 arch/arm64/kernel/setup.c                          |   2 +-
 arch/arm64/kernel/smp.c                            |  28 +-
 arch/arm64/kernel/traps.c                          | 152 ++++-
 arch/arm64/kernel/vdso.c                           |   8 +-
 arch/arm64/kernel/vdso/Makefile                    |   7 +-
 arch/arm64/kernel/vdso/gettimeofday.S              | 331 ++++++----
 arch/arm64/kernel/vmlinux.lds.S                    |   9 +-
 arch/arm64/kvm/handle_exit.c                       |   4 +-
 arch/arm64/kvm/hyp/Makefile                        |   4 +
 arch/arm64/kvm/hyp/switch.c                        |   2 +-
 arch/arm64/lib/copy_from_user.S                    |   4 +-
 arch/arm64/lib/copy_to_user.S                      |   4 +-
 arch/arm64/mm/cache.S                              |   2 +-
 arch/arm64/mm/dma-mapping.c                        |  37 +-
 arch/arm64/mm/dump.c                               |  32 +-
 arch/arm64/mm/fault.c                              |  41 +-
 arch/arm64/mm/init.c                               |  13 +-
 arch/arm64/mm/mmu.c                                | 154 ++---
 arch/arm64/mm/proc.S                               |   2 +
 drivers/perf/arm_pmu.c                             |  27 +-
 include/uapi/linux/kexec.h                         |   1 +
 samples/kprobes/kprobe_example.c                   |   9 +
 81 files changed, 3394 insertions(+), 588 deletions(-)
 create mode 100644 arch/arm64/include/asm/checksum.h
 create mode 100644 arch/arm64/include/asm/kexec.h
 create mode 100644 arch/arm64/include/asm/kprobes.h
 create mode 100644 arch/arm64/include/asm/probes.h
 create mode 100644 arch/arm64/include/asm/ptdump.h
 create mode 100644 arch/arm64/kernel/cpu-reset.S
 create mode 100644 arch/arm64/kernel/cpu-reset.h
 create mode 100644 arch/arm64/kernel/machine_kexec.c
 create mode 100644 arch/arm64/kernel/probes/Makefile
 create mode 100644 arch/arm64/kernel/probes/decode-insn.c
 create mode 100644 arch/arm64/kernel/probes/decode-insn.h
 create mode 100644 arch/arm64/kernel/probes/kprobes.c
 create mode 100644 arch/arm64/kernel/probes/kprobes_trampoline.S
 create mode 100644 arch/arm64/kernel/probes/simulate-insn.c
 create mode 100644 arch/arm64/kernel/probes/simulate-insn.h
 create mode 100644 arch/arm64/kernel/relocate_kernel.S

-- 
Catalin



More information about the linux-arm-kernel mailing list