mbox series

[GIT,PULL] arm64: updates for 5.2

Message ID 20190506181122.GC2875@brain-police (mailing list archive)
State Mainlined, archived
Commit b33f908811b7627015238e0dee9baf2b4c9d720d
Headers show
Series [GIT,PULL] arm64: updates for 5.2 | expand

Pull-request

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

Message

Will Deacon May 6, 2019, 6:11 p.m. UTC
Hi Linus,

Please pull these arm64 updates for 5.2. As per usual, there are details
in the tag, but it's worth noting that we're including the core
"mitigations=" command-line code here from -tip so that we could develop
arm64 support on top of adding support for the "cpu/vulnerabilities"
directory under sysfs.

There is a straightforward conflict with -tip in the mm/kasan Makefile,
which just involves replacing a '-pg' with '$(CC_FLAGS_FTRACE)'. I also
ended up applying a duplicate of 045afc24124d ("arm64: futex: Fix
FUTEX_WAKE_OP atomic ops with non-zero result value") as 84ff7a09c371,
which I'm not very pleased about. The fix in mainline was based on -rc4,
so the alternative would've been merging all of that in, which seemed a
lot messier. In future, we're going to avoid fast-forwarding our fixes
branch with each -rc, so this shouldn't happen again.

Cheers,

Will

--->8

The following changes since commit 79a3aaa7b82e3106be97842dedfd8429248896e6:

  Linux 5.1-rc3 (2019-03-31 14:39:29 -0700)

are available in the git repository at:

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

for you to fetch changes up to b33f908811b7627015238e0dee9baf2b4c9d720d:

  Merge branch 'for-next/perf' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into for-next/core (2019-05-03 10:18:08 +0100)

----------------------------------------------------------------
arm64 updates for 5.2

Mostly just incremental improvements here:

- Introduce AT_HWCAP2 for advertising CPU features to userspace

- Expose SVE2 availability to userspace

- Support for "data cache clean to point of deep persistence" (DC PODP)

- Honour "mitigations=off" on the cmdline and advertise status via sysfs

- CPU timer erratum workaround (Neoverse-N1 #1188873)

- Introduce perf PMU driver for the SMMUv3 performance counters

- Add config option to disable the kuser helpers page for AArch32 tasks

- Futex modifications to ensure liveness under contention

- Rework debug exception handling to seperate kernel and user handlers

- Non-critical fixes and cleanup

----------------------------------------------------------------
Alexandru Elisei (1):
      arm64: Use defines instead of magic numbers

Andrew Murray (6):
      arm64: HWCAP: add support for AT_HWCAP2
      arm64: HWCAP: encapsulate elf_hwcap
      arm64: Handle trapped DC CVADP
      arm64: Expose DC CVADP to userspace
      arm64: add CVADP support to the cache maintenance helper
      arm64: Advertise ARM64_HAS_DCPODP cpu feature

Anshuman Khandual (1):
      KVM: ARM: Remove pgtable page standard functions from stage-2 page tables

Arun KS (1):
      arm64: Fix size of __early_cpu_boot_status

Boyang Zhou (1):
      arm64: mmap: Ensure file offset is treated as unsigned

Dave Martin (1):
      arm64: Expose SVE2 features for userspace

Jean-Philippe Brucker (2):
      arm64: Clear OSDLR_EL1 on CPU boot
      arm64: Save and restore OSDLR_EL1 across suspend/resume

Jeremy Linton (6):
      arm64: Provide a command line to disable spectre_v2 mitigation
      arm64: add sysfs vulnerability show for meltdown
      arm64: Always enable spectre-v2 vulnerability detection
      arm64: add sysfs vulnerability show for spectre-v2
      arm64: Always enable ssb vulnerability detection
      arm64: add sysfs vulnerability show for speculative store bypass

Josh Poimboeuf (6):
      cpu/speculation: Add 'mitigations=' cmdline option
      x86/speculation: Support 'mitigations=' cmdline option
      powerpc/speculation: Support 'mitigations=' cmdline option
      s390/speculation: Support 'mitigations=' cmdline option
      arm64/speculation: Support 'mitigations=' cmdline option
      Documentation: Add ARM64 to kernel-parameters.rst

Kees Cook (1):
      arm64: sysreg: Make mrs_s and msr_s macros work with Clang and LTO

Kefeng Wang (1):
      ACPI/IORT: Reject platform device creation on NUMA node mapping failure

Marc Zyngier (13):
      arm64: Advertise mitigation of Spectre-v2, or lack thereof
      arm64: Use firmware to detect CPUs that are not affected by Spectre-v2
      arm64: Restrict ARM64_ERRATUM_1188873 mitigation to AArch32
      arm64: Make ARM64_ERRATUM_1188873 depend on COMPAT
      arm64: Add part number for Neoverse N1
      arm64: Apply ARM64_ERRATUM_1188873 to Neoverse-N1
      ARM: vdso: Remove dependency with the arch_timer driver internals
      watchdog/sbsa: Use arch_timer_read_counter instead of arch_counter_get_cntvct
      arm64: Use arch_timer_read_counter instead of arch_counter_get_cntvct
      clocksource/arm_arch_timer: Direcly assign set_next_event workaround
      clocksource/arm_arch_timer: Drop use of static key in arch_timer_reg_read_stable
      clocksource/arm_arch_timer: Remove use of workaround static key
      clocksource/arm_arch_timer: Use arch_timer_read_counter to access stable counters

Mark Rutland (1):
      arm64: instrument smp_{load_acquire,store_release}

Masahiro Yamada (2):
      arm64: vdso: fix and clean-up Makefile
      arm64: vdso: use $(LD) instead of $(CC) to link VDSO

Masami Hiramatsu (1):
      arm64: ptrace: Add function argument access API

Matteo Croce (1):
      arm64/vdso: don't leak kernel addresses

Mian Yousaf Kaukab (2):
      arm64: Add sysfs vulnerability show for spectre-v1
      arm64: enable generic CPU vulnerabilites support

Miles Chen (2):
      arm64: setup min_low_pfn
      arm64: mm: check virtual addr in virt_to_page() if CONFIG_DEBUG_VIRTUAL=y

Muchun Song (1):
      arm64: mm: fix incorrect assignment of 'max_mapnr'

Neil Leeder (2):
      ACPI/IORT: Add support for PMCG
      perf/smmuv3: Add arm64 smmuv3 pmu driver

Nishad Kamdar (1):
      arm64: Use the correct style for SPDX License Identifier

Qian Cai (3):
      arm64/mm: fix kernel-doc comments
      arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable
      arm64: mm: Remove pte_unmap_nested()

Raphael Gault (1):
      arm64: perf_event: Remove wrongfully used inline

Robin Murphy (2):
      perf/arm-cci: Remove broken race mitigation
      perf/arm-ccn: Clean up CPU hotplug handling

Shameer Kolothum (2):
      perf/smmuv3: Add MSI irq support
      perf/smmuv3: Enable HiSilicon Erratum 162001800 quirk

Torsten Duwe (3):
      arm64: Makefile: Replace -pg with CC_FLAGS_FTRACE
      efi/arm/arm64: Makefile: Replace -pg with CC_FLAGS_FTRACE
      kasan: Makefile: Replace -pg with CC_FLAGS_FTRACE

Vincenzo Frascino (7):
      arm64: compat: Reduce address limit
      arm64: vdso: Fix clock_getres() for CLOCK_REALTIME
      arm64: compat: Alloc separate pages for vectors and sigpage
      arm64: compat: Split kuser32
      arm64: compat: Refactor aarch32_alloc_vdso_pages()
      arm64: compat: Add KUSER_HELPERS config option
      arm64: compat: Reduce address limit for 64K pages

Wen Yang (1):
      arm64: cpu_ops: fix a leaked reference by adding missing of_node_put

Will Deacon (25):
      arm64: mm: Make show_pte() a static function
      arm64: mm: Ensure we ignore the initrd if it is placed out of range
      arm64: debug: Remove unused return value from do_debug_exception()
      arm64: debug: Rename addr parameter for non-watchpoint exception hooks
      arm64: debug: Remove meaningless comment
      arm64: debug: Separate debug hooks based on target exception level
      arm64: kprobes: Avoid calling kprobes debug handlers explicitly
      arm64: debug: Remove redundant user_mode(regs) checks from debug handlers
      arm64: probes: Move magic BRK values into brk-imm.h
      arm64: debug: Clean up brk_handler()
      arm64: mm: Consolidate early page table allocation
      arm64: Kconfig: Make CONFIG_COMPAT a menuconfig entry
      Merge branch 'core/speculation' of git://git.kernel.org/.../tip/tip into for-next/mitigations
      arm64: futex: Fix FUTEX_WAKE_OP atomic ops with non-zero result value
      locking/futex: Allow low-level atomic operations to return -EAGAIN
      arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP
      arm64: futex: Avoid copying out uninitialised stack in failed cmpxchg()
      futex: Update comments and docs about return values of arch futex code
      arm64: Kconfig: Tidy up errata workaround help text
      arm64: arch_timer: Ensure counter register reads occur with seqlock held
      arm64: ssbs: Don't treat CPUs with SSBS as unaffected by SSB
      Merge branch 'for-next/futex' of git://git.kernel.org/.../arm64/linux into for-next/core
      Merge branch 'for-next/mitigations' of git://git.kernel.org/.../arm64/linux into for-next/core
      Merge branch 'for-next/timers' of git://git.kernel.org/.../arm64/linux into for-next/core
      Merge branch 'for-next/perf' of git://git.kernel.org/.../will/linux into for-next/core

Xiongfeng Wang (1):
      firmware: arm_sdei: Prohibit probing in '_sdei_handler'

Yu Zhao (3):
      arm64: mm: use appropriate ctors for page tables
      arm64: mm: don't call page table ctors for init_mm
      arm64: mm: enable per pmd page table lock

 Documentation/admin-guide/kernel-parameters.rst |   1 +
 Documentation/admin-guide/kernel-parameters.txt |  42 +-
 Documentation/arm64/cpu-feature-registers.txt   |  16 +
 Documentation/arm64/elf_hwcaps.txt              |  41 +-
 Documentation/arm64/silicon-errata.txt          |   2 +
 Documentation/arm64/sve.txt                     |  17 +
 Documentation/robust-futexes.txt                |   3 +-
 arch/arm/include/asm/arch_timer.h               |  18 +-
 arch/arm/include/asm/cp15.h                     |   2 +
 arch/arm/include/asm/stage2_pgtable.h           |   4 +-
 arch/arm/vdso/vgettimeofday.c                   |   5 +-
 arch/arm64/Kconfig                              | 132 ++--
 arch/arm64/boot/dts/mediatek/mt2712-pinfunc.h   |   2 +-
 arch/arm64/crypto/aes-ce-ccm-glue.c             |   2 +-
 arch/arm64/crypto/aes-neonbs-glue.c             |   2 +-
 arch/arm64/crypto/chacha-neon-glue.c            |   2 +-
 arch/arm64/crypto/crct10dif-ce-glue.c           |   4 +-
 arch/arm64/crypto/ghash-ce-glue.c               |   8 +-
 arch/arm64/crypto/nhpoly1305-neon-glue.c        |   2 +-
 arch/arm64/crypto/sha256-glue.c                 |   4 +-
 arch/arm64/include/asm/arch_timer.h             | 119 +++-
 arch/arm64/include/asm/assembler.h              |   8 +-
 arch/arm64/include/asm/barrier.h                |  24 +-
 arch/arm64/include/asm/brk-imm.h                |   5 +
 arch/arm64/include/asm/cpucaps.h                |   3 +-
 arch/arm64/include/asm/cpufeature.h             |  25 +-
 arch/arm64/include/asm/cputype.h                |   2 +
 arch/arm64/include/asm/debug-monitors.h         |  25 +-
 arch/arm64/include/asm/elf.h                    |   6 +-
 arch/arm64/include/asm/esr.h                    |   7 +-
 arch/arm64/include/asm/futex.h                  |  63 +-
 arch/arm64/include/asm/hwcap.h                  |  60 +-
 arch/arm64/include/asm/irqflags.h               |   8 +-
 arch/arm64/include/asm/kprobes.h                |   2 -
 arch/arm64/include/asm/kvm_hyp.h                |   4 +-
 arch/arm64/include/asm/memory.h                 |   2 +-
 arch/arm64/include/asm/pgalloc.h                |  12 +-
 arch/arm64/include/asm/pgtable.h                |   5 +-
 arch/arm64/include/asm/pointer_auth.h           |   2 +-
 arch/arm64/include/asm/processor.h              |   8 +
 arch/arm64/include/asm/ptrace.h                 |  22 +
 arch/arm64/include/asm/sdei.h                   |   2 +-
 arch/arm64/include/asm/signal32.h               |   2 -
 arch/arm64/include/asm/stage2_pgtable.h         |   4 +-
 arch/arm64/include/asm/sysreg.h                 |  59 +-
 arch/arm64/include/asm/system_misc.h            |   1 -
 arch/arm64/include/asm/tlb.h                    |   5 +-
 arch/arm64/include/asm/vdso_datapage.h          |   1 +
 arch/arm64/include/asm/vmap_stack.h             |   2 +-
 arch/arm64/include/uapi/asm/hwcap.h             |  13 +-
 arch/arm64/kernel/Makefile                      |  11 +-
 arch/arm64/kernel/asm-offsets.c                 |   2 +-
 arch/arm64/kernel/cpu_errata.c                  | 256 +++++--
 arch/arm64/kernel/cpu_ops.c                     |   1 +
 arch/arm64/kernel/cpufeature.c                  | 193 ++++--
 arch/arm64/kernel/cpuinfo.c                     |   9 +-
 arch/arm64/kernel/debug-monitors.c              | 115 ++--
 arch/arm64/kernel/entry.S                       |  19 +-
 arch/arm64/kernel/fpsimd.c                      |   4 +-
 arch/arm64/kernel/head.S                        |  12 +-
 arch/arm64/kernel/kgdb.c                        |  30 +-
 arch/arm64/kernel/kuser32.S                     |  66 +-
 arch/arm64/kernel/perf_event.c                  |   4 +-
 arch/arm64/kernel/probes/kprobes.c              |  22 +-
 arch/arm64/kernel/probes/uprobes.c              |  19 +-
 arch/arm64/kernel/signal32.c                    |   3 +-
 arch/arm64/kernel/sigreturn32.S                 |  46 ++
 arch/arm64/kernel/sys.c                         |   2 +-
 arch/arm64/kernel/traps.c                       |  33 +-
 arch/arm64/kernel/vdso.c                        | 139 +++-
 arch/arm64/kernel/vdso/Makefile                 |  19 +-
 arch/arm64/kernel/vdso/gettimeofday.S           |  22 +-
 arch/arm64/lib/Makefile                         |   2 +-
 arch/arm64/mm/fault.c                           |  16 +-
 arch/arm64/mm/init.c                            |   5 +-
 arch/arm64/mm/mmu.c                             |  47 +-
 arch/arm64/mm/numa.c                            |  25 +-
 arch/arm64/mm/proc.S                            |  34 +-
 arch/powerpc/kernel/security.c                  |   6 +-
 arch/powerpc/kernel/setup_64.c                  |   2 +-
 arch/s390/kernel/nospec-branch.c                |   3 +-
 arch/x86/kernel/cpu/bugs.c                      |  11 +-
 arch/x86/mm/pti.c                               |   4 +-
 drivers/acpi/arm64/iort.c                       | 150 +++-
 drivers/clocksource/arm_arch_timer.c            | 138 ++--
 drivers/firmware/arm_sdei.c                     |   3 +
 drivers/firmware/efi/libstub/Makefile           |   6 +-
 drivers/perf/Kconfig                            |   9 +
 drivers/perf/Makefile                           |   1 +
 drivers/perf/arm-cci.c                          |  21 +-
 drivers/perf/arm-ccn.c                          |  25 +-
 drivers/perf/arm_smmuv3_pmu.c                   | 865 ++++++++++++++++++++++++
 drivers/watchdog/sbsa_gwdt.c                    |   2 +-
 include/asm-generic/futex.h                     |   8 +-
 include/linux/acpi_iort.h                       |   8 +
 include/linux/cpu.h                             |  24 +
 kernel/cpu.c                                    |  15 +
 kernel/futex.c                                  | 188 +++--
 mm/kasan/Makefile                               |   6 +-
 virt/kvm/arm/mmu.c                              |   2 +-
 100 files changed, 2624 insertions(+), 839 deletions(-)
 create mode 100644 arch/arm64/kernel/sigreturn32.S
 create mode 100644 drivers/perf/arm_smmuv3_pmu.c

Comments

pr-tracker-bot@kernel.org May 7, 2019, 1:55 a.m. UTC | #1
The pull request you sent on Mon, 6 May 2019 19:11:22 +0100:

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

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/c620f7bd0ba5c882b3e7fc199a8d5c2f6c2f5263

Thank you!