Messages in this thread | | | Date | Wed, 4 Apr 2018 15:32:40 +0100 | From | Will Deacon <> | Subject | [GIT PULL] arm64: updates for 4.17 |
| |
Hi Linus,
Please pull these arm64 updates for 4.17. Note that I've pulled in a stable branch from Eric Biederman here to fulfil some siginfo dependencies, so the diffstat strays slightly out of arm64 due to his changes.
Other than that, there's a summary in the tag. You'll get a handful of straightforward conflicts with your tree due to some fixes we merged for 4.16 casting the return value from firmware to an int and a couple of trivial clashes caused by bumping NSIGFPE due to FPE_FLTUNK. There's also a trivial conflict with the KVM tree removing hyp_offset_low and clashing with some context.
I plan to send a second pull request after the KVM tree has gone in, since we had to drop a spectre-related cleanup from -next last week because of conflicts.
Cheers,
Will
--->8
The following changes since commit 4a3928c6f8a53fa1aed28ccba227742486e8ddcb:
Linux 4.16-rc3 (2018-02-25 18:50:41 -0800)
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 65896545b69ffaac947c12e11d3dcc57fd1fb772:
arm64: uaccess: Fix omissions from usercopy whitelist (2018-03-28 15:25:44 +0100)
---------------------------------------------------------------- arm64 updates for 4.17
Nothing particularly stands out here, probably because people were tied up with spectre/meltdown stuff last time around. Still, the main pieces are:
- Rework of our CPU features framework so that we can whitelist CPUs that don't require kpti even in a heterogeneous system
- Support for the IDC/DIC architecture extensions, which allow us to elide instruction and data cache maintenance when writing out instructions
- Removal of the large memory model which resulted in suboptimal codegen by the compiler and increased the use of literal pools, which could potentially be used as ROP gadgets since they are mapped as executable
- Rework of forced signal delivery so that the siginfo_t is well-formed and handling of show_unhandled_signals is consolidated and made consistent between different fault types
- More siginfo cleanup based on the initial patches from Eric Biederman
- Workaround for Cortex-A55 erratum #1024718
- Some small ACPI IORT updates and cleanups from Lorenzo Pieralisi
- Misc cleanups and non-critical fixes
---------------------------------------------------------------- Alexander Monakov (1): drivers/perf: arm_pmu_platform: do not warn about affinity on uniprocessor
Andrey Konovalov (1): kasan, arm64: clean up KASAN_SHADOW_SCALE_SHIFT usage
Ard Biesheuvel (8): arm64/kernel: kaslr: drop special Image placement logic scripts/kallsyms: filter arm64's __efistub_ symbols arm64: module: don't BUG when exceeding preallocated PLT count arm64/kernel: kaslr: reduce module randomization range to 4 GB arm64/kernel: don't ban ADRP to work around Cortex-A53 erratum #843419 arm64/errata: add REVIDR handling to framework arm64/kernel: enable A53 erratum #8434319 handling at runtime arm64: asm: drop special versions of adr_l/ldr_l/str_l for modules
Arnd Bergmann (2): arm64: fix undefined reference to 'printk' perf: arm_spe: include linux/vmalloc.h for vmap()
Catalin Marinas (1): arm64: Revert L1_CACHE_SHIFT back to 6 (64-byte cache line size)
Dave Martin (7): arm64: signal: Ensure si_code is valid for all fault signals signal: Add FPE_FLTUNK si_code for undiagnosable fp exceptions arm64: fpsimd: Fix bad si_code for undiagnosed SIGFPE arm64/sve: Document firmware support requirements in Kconfig arm64: capabilities: Update prototype for enable call back arm64: fpsimd: Split cpu field out from struct fpsimd_state arm64: uaccess: Fix omissions from usercopy whitelist
Douglas Anderson (1): arm64/debug: Fix registers on sleeping tasks
Eric W. Biederman (2): signal: Correct the offset of si_pkey in struct siginfo signal/x86: Include the field offsets in the build time checks
Jia He (1): ACPI/IORT: Remove linker section for IORT entries again
Kees Cook (2): arm64: cpufeature: Relocate PAN emulation report arm64: cpufeature: Remove redundant "feature" in reports
Lorenzo Pieralisi (2): ACPI/IORT: Remove temporary iort_get_id_mapping_index() ACPICA guard ACPI/IORT: Remove obsolete ACPI_IORT_SMMU_V3_CAVIUM_CN99XX define
Michael Weiser (1): arm64: Mirror arm for unimplemented compat syscalls
Philip Elcan (1): arm64: tlbflush: avoid writing RES0 bits
Shanker Donthineni (1): arm64: Add support for new control bits CTR_EL0.DIC and CTR_EL0.IDC
Suzuki K Poulose (23): arm64: Documentation: cpu-feature-registers: Remove RES0 fields arm64: Expose Arm v8.4 features arm64: capabilities: Move errata work around check on boot CPU arm64: capabilities: Move errata processing code arm64: capabilities: Prepare for fine grained capabilities arm64: capabilities: Add flags to handle the conflicts on late CPU arm64: capabilities: Unify the verification arm64: capabilities: Filter the entries based on a given mask arm64: capabilities: Prepare for grouping features and errata work arounds arm64: capabilities: Split the processing of errata work arounds arm64: capabilities: Allow features based on local CPU scope arm64: capabilities: Group handling of features and errata workarounds arm64: capabilities: Introduce weak features based on local CPU arm64: capabilities: Restrict KPTI detection to boot-time CPUs arm64: capabilities: Add support for features enabled early arm64: capabilities: Change scope of VHE to Boot CPU feature arm64: capabilities: Clean up midr range helpers arm64: Add helpers for checking CPU MIDR against a range arm64: capabilities: Add support for checks based on a list of MIDRs arm64: capabilities: Handle shared entries arm64: Add MIDR encoding for Arm Cortex-A55 and Cortex-A35 arm64: Delay enabling hardware DBM feature arm64: Add work around for Arm Cortex-A55 Erratum 1024718
Will Deacon (20): arm64: signal: Make force_signal_inject more robust arm64: signal: Force SIGKILL for unknown signals in force_signal_inject arm64: Introduce arm64_force_sig_info and hook up in arm64_notify_die arm64: signal: Don't print anything directly in force_signal_inject arm64: Pass user fault info to arm64_notify_die instead of printing it arm64: mm: Rework unhandled user pagefaults to call arm64_force_sig_info arm64: signal: Call arm64_notify_segfault when failing to deliver signal arm64: Move show_unhandled_signals_ratelimited into traps.c arm64: Use arm64_force_sig_info instead of force_sig_info arm64: lse: Pass -fomit-frame-pointer to out-of-line ll/sc atomics arm64: kaslr: Set TCR_EL1.NFD1 when CONFIG_RANDOMIZE_BASE=y Merge tag 'acpi/iort-for-v4.17' of git://git.kernel.org/.../lpieralisi/linux into aarch64/for-next/core Merge branch 'siginfo-next' of git://git.kernel.org/.../ebiederm/user-namespace into aarch64/for-next/core arm64: cpufeature: Avoid warnings due to unused symbols Revert "arm64: Revert L1_CACHE_SHIFT back to 6 (64-byte cache line size)" arm64: fpsimd: include <linux/init.h> in fpsimd.h arm64: lse: Include compiler_types.h and export.h for out-of-line LL/SC arm64: cmpxchg: Include build_bug.h instead of bug.h for BUILD_BUG arm64: move percpu cmpxchg implementation from cmpxchg.h to percpu.h arm64: cmpxchg: Include linux/compiler.h in asm/cmpxchg.h
Documentation/arm64/cpu-feature-registers.txt | 18 +- Documentation/arm64/elf_hwcaps.txt | 16 + Documentation/arm64/silicon-errata.txt | 1 + arch/arm64/Kconfig | 47 ++- arch/arm64/Makefile | 15 +- arch/arm64/include/asm/assembler.h | 34 +- arch/arm64/include/asm/cache.h | 4 + arch/arm64/include/asm/cacheflush.h | 3 + arch/arm64/include/asm/cmpxchg.h | 29 +- arch/arm64/include/asm/cpucaps.h | 6 +- arch/arm64/include/asm/cpufeature.h | 262 ++++++++++++++- arch/arm64/include/asm/cputype.h | 43 +++ arch/arm64/include/asm/esr.h | 9 + arch/arm64/include/asm/fpsimd.h | 34 +- arch/arm64/include/asm/lse.h | 3 + arch/arm64/include/asm/module.h | 2 + arch/arm64/include/asm/percpu.h | 29 ++ arch/arm64/include/asm/pgtable-hwdef.h | 1 + arch/arm64/include/asm/processor.h | 47 ++- arch/arm64/include/asm/sysreg.h | 3 + arch/arm64/include/asm/system_misc.h | 11 - arch/arm64/include/asm/tlbflush.h | 25 +- arch/arm64/include/asm/traps.h | 8 +- arch/arm64/include/asm/virt.h | 6 - arch/arm64/include/uapi/asm/hwcap.h | 4 + arch/arm64/include/uapi/asm/siginfo.h | 21 -- arch/arm64/kernel/armv8_deprecated.c | 2 +- arch/arm64/kernel/cpu_errata.c | 316 +++++++++++-------- arch/arm64/kernel/cpufeature.c | 438 ++++++++++++++++++++------ arch/arm64/kernel/cpuinfo.c | 4 + arch/arm64/kernel/debug-monitors.c | 3 +- arch/arm64/kernel/fpsimd.c | 105 +++--- arch/arm64/kernel/kaslr.c | 35 +- arch/arm64/kernel/kgdb.c | 21 +- arch/arm64/kernel/module-plts.c | 90 +++++- arch/arm64/kernel/module.c | 44 ++- arch/arm64/kernel/process.c | 6 +- arch/arm64/kernel/ptrace.c | 32 +- arch/arm64/kernel/reloc_test_core.c | 4 +- arch/arm64/kernel/reloc_test_syms.S | 12 +- arch/arm64/kernel/signal.c | 9 +- arch/arm64/kernel/signal32.c | 15 +- arch/arm64/kernel/smp.c | 44 --- arch/arm64/kernel/sys_compat.c | 23 +- arch/arm64/kernel/traps.c | 76 +++-- arch/arm64/lib/Makefile | 3 +- arch/arm64/mm/cache.S | 21 +- arch/arm64/mm/fault.c | 236 ++++++-------- arch/arm64/mm/proc.S | 22 +- arch/x86/kernel/signal_compat.c | 67 +++- drivers/acpi/arm64/iort.c | 12 - drivers/perf/arm_pmu_platform.c | 2 +- drivers/perf/arm_spe_pmu.c | 14 + include/asm-generic/vmlinux.lds.h | 1 - include/linux/compat.h | 4 +- include/linux/sizes.h | 4 + include/uapi/asm-generic/siginfo.h | 7 +- kernel/signal.c | 4 - scripts/kallsyms.c | 1 + 59 files changed, 1552 insertions(+), 806 deletions(-)
| |