The following patches bring in
commit 20af540051e1c1f7a7d9b9e4613c1ecc53ded4a6 Author: James Morse james.morse@arm.com Date: Wed Jul 22 19:05:54 2015 +0100
arm64: kernel: Add support for Privileged Access Never commit 338d4f49d6f7114a017d294ccf7374df4f998edc upstream. 'Privileged Access Never' is a new arm8.1 feature which prevents privileged code from accessing any virtual address where read or write access is also permitted at EL0. This patch enables the PAN feature on all CPUs, and modifies {get,put}_user helpers temporarily to permit access. This will catch kernel bugs where user memory is accessed directly. 'Unprivileged loads and stores' using ldtrb et al are unaffected by PAN.
along with an additional 26 patches it depends on.
Daniel Thompson (1): arm64: alternative: Provide if/else/endif assembler macros
Fabio Estevam (1): arm64: Provide a namespace to NCAPS
James Morse (6): arm64: kernel: Move config_sctlr_el1 arm64: kernel: Add optional CONFIG_ parameter to ALTERNATIVE() arm64: kernel: Add min_field_value and use '>=' for feature detection arm64: kernel: Add cpuid_feature_extract_field() for 4bit sign extension arm64: kernel: Add cpufeature 'enable' callback arm64: kernel: Add support for Privileged Access Never
Marc Zyngier (4): arm64: Extract feature parsing code from cpu_errata.c arm64: alternative: Introduce feature for GICv3 CPU interface arm64: alternative: Merge alternative-asm.h into alternative.h arm64: alternative: Work around .inst assembler bugs
Michael S. Tsirkin (1): arm64/uaccess: fix sparse errors
Punit Agrawal (6): arm64: Add framework for legacy instruction emulation arm64: Add support for hooks to handle undefined instructions arm64: Port SWP/SWPB emulation support from arm arm64: Emulate CP15 Barrier instructions arm64: Trace emulation of AArch32 legacy instructions arm64: Add AArch32 instruction set condition code checks
Suzuki K. Poulose (4): arm64: Track system support for mixed endian EL0 arm64: Consolidate hotplug notifier for instruction emulation arm64: Emulate SETEND for AArch32 tasks arm64: Generalise msr_s/mrs_s operations
Will Deacon (4): arm64: alternatives: fix pr_fmt string for consistency arm64: fix return code check when changing emulation handler arm64: kconfig: move emulation option under kernel features arm64: lib: use pair accessors for copy_*_user routines
Documentation/arm64/legacy_instructions.txt | 57 +++ arch/arm64/Kconfig | 81 ++++ arch/arm64/include/asm/alternative-asm.h | 29 -- arch/arm64/include/asm/alternative.h | 109 ++++- arch/arm64/include/asm/cpufeature.h | 42 +- arch/arm64/include/asm/cputype.h | 14 + arch/arm64/include/asm/futex.h | 8 + arch/arm64/include/asm/insn.h | 10 + arch/arm64/include/asm/opcodes.h | 1 + arch/arm64/include/asm/processor.h | 2 + arch/arm64/include/asm/ptrace.h | 7 + arch/arm64/include/asm/sysreg.h | 40 +- arch/arm64/include/asm/traps.h | 16 + arch/arm64/include/asm/uaccess.h | 13 +- arch/arm64/include/uapi/asm/ptrace.h | 1 + arch/arm64/kernel/Makefile | 7 +- arch/arm64/kernel/armv8_deprecated.c | 659 ++++++++++++++++++++++++++++ arch/arm64/kernel/cpu_errata.c | 36 +- arch/arm64/kernel/cpufeature.c | 97 ++++ arch/arm64/kernel/cpuinfo.c | 23 + arch/arm64/kernel/entry.S | 2 +- arch/arm64/kernel/insn.c | 26 ++ arch/arm64/kernel/setup.c | 2 +- arch/arm64/kernel/signal32.c | 5 +- arch/arm64/kernel/trace-events-emulation.h | 35 ++ arch/arm64/kernel/traps.c | 66 +++ arch/arm64/lib/clear_user.S | 8 + arch/arm64/lib/copy_from_user.S | 25 +- arch/arm64/lib/copy_in_user.S | 25 +- arch/arm64/lib/copy_to_user.S | 25 +- arch/arm64/mm/cache.S | 2 +- arch/arm64/mm/fault.c | 16 + 32 files changed, 1389 insertions(+), 100 deletions(-) create mode 100644 Documentation/arm64/legacy_instructions.txt delete mode 100644 arch/arm64/include/asm/alternative-asm.h create mode 100644 arch/arm64/include/asm/opcodes.h create mode 100644 arch/arm64/kernel/armv8_deprecated.c create mode 100644 arch/arm64/kernel/cpufeature.c create mode 100644 arch/arm64/kernel/trace-events-emulation.h