Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Apr 2018 23:01:43 +0000 (16:01 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Apr 2018 23:01:43 +0000 (16:01 -0700)
Pull arm64 updates from Will Deacon:
 "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"

* tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (70 commits)
  arm64: uaccess: Fix omissions from usercopy whitelist
  arm64: fpsimd: Split cpu field out from struct fpsimd_state
  arm64: tlbflush: avoid writing RES0 bits
  arm64: cmpxchg: Include linux/compiler.h in asm/cmpxchg.h
  arm64: move percpu cmpxchg implementation from cmpxchg.h to percpu.h
  arm64: cmpxchg: Include build_bug.h instead of bug.h for BUILD_BUG
  arm64: lse: Include compiler_types.h and export.h for out-of-line LL/SC
  arm64: fpsimd: include <linux/init.h> in fpsimd.h
  drivers/perf: arm_pmu_platform: do not warn about affinity on uniprocessor
  perf: arm_spe: include linux/vmalloc.h for vmap()
  Revert "arm64: Revert L1_CACHE_SHIFT back to 6 (64-byte cache line size)"
  arm64: cpufeature: Avoid warnings due to unused symbols
  arm64: Add work around for Arm Cortex-A55 Erratum 1024718
  arm64: Delay enabling hardware DBM feature
  arm64: Add MIDR encoding for Arm Cortex-A55 and Cortex-A35
  arm64: capabilities: Handle shared entries
  arm64: capabilities: Add support for checks based on a list of MIDRs
  arm64: Add helpers for checking CPU MIDR against a range
  arm64: capabilities: Clean up midr range helpers
  arm64: capabilities: Change scope of VHE to Boot CPU feature
  ...

1  2 
arch/arm64/Kconfig
arch/arm64/kernel/cpu_errata.c
arch/x86/kernel/signal_compat.c
include/asm-generic/vmlinux.lds.h
include/uapi/asm-generic/siginfo.h
kernel/signal.c
scripts/kallsyms.c

Simple merge
index b5a28336c07712af8d10aa62f1669b8a798065d8,4613e4d75c7304e90dd7defb4108c363cc138840..2df792771053f14dd8a1fc63bd256f93c81879d1
@@@ -178,8 -196,8 +196,8 @@@ enable_smccc_arch_workaround_1(const st
        case PSCI_CONDUIT_HVC:
                arm_smccc_1_1_hvc(ARM_SMCCC_ARCH_FEATURES_FUNC_ID,
                                  ARM_SMCCC_ARCH_WORKAROUND_1, &res);
 -              if (res.a0)
 +              if ((int)res.a0 < 0)
-                       return 0;
+                       return;
                cb = call_hvc_arch_workaround_1;
                smccc_start = __smccc_workaround_1_hvc_start;
                smccc_end = __smccc_workaround_1_hvc_end;
        case PSCI_CONDUIT_SMC:
                arm_smccc_1_1_smc(ARM_SMCCC_ARCH_FEATURES_FUNC_ID,
                                  ARM_SMCCC_ARCH_WORKAROUND_1, &res);
 -              if (res.a0)
 +              if ((int)res.a0 < 0)
-                       return 0;
+                       return;
                cb = call_smc_arch_workaround_1;
                smccc_start = __smccc_workaround_1_smc_start;
                smccc_end = __smccc_workaround_1_smc_end;
index 838a4dc90a6d2d65255bf711cdd9562f411aa589,d2884e951bb588edf0ef209551c3fdf99f3f85de..df92605d87244e9c0ed63cec557e6cce7addbf09
@@@ -26,8 -26,8 +26,8 @@@ static inline void signal_compat_build_
         * new fields are handled in copy_siginfo_to_user32()!
         */
        BUILD_BUG_ON(NSIGILL  != 11);
-       BUILD_BUG_ON(NSIGFPE  != 13);
+       BUILD_BUG_ON(NSIGFPE  != 14);
 -      BUILD_BUG_ON(NSIGSEGV != 4);
 +      BUILD_BUG_ON(NSIGSEGV != 7);
        BUILD_BUG_ON(NSIGBUS  != 5);
        BUILD_BUG_ON(NSIGTRAP != 4);
        BUILD_BUG_ON(NSIGCHLD != 6);
Simple merge
index 73ae06b67051c3dc65605da838e7b96c16d657cb,4b3520bf67ba1ab5d6e8a47fe6acbd1f3072977d..6088bca899179cc3ebf2f88a5200eee879823f7c
@@@ -202,12 -219,18 +202,13 @@@ typedef struct siginfo 
  #define FPE_FLTRES    6       /* floating point inexact result */
  #define FPE_FLTINV    7       /* floating point invalid operation */
  #define FPE_FLTSUB    8       /* subscript out of range */
 -#ifdef __frv__
 -# define FPE_MDAOVF   9       /* media overflow */
 -#endif
 -#ifdef __ia64__
 -# define __FPE_DECOVF 9       /* decimal overflow */
 -# define __FPE_DECDIV 10      /* decimal division by zero */
 -# define __FPE_DECERR 11      /* packed decimal error */
 -# define __FPE_INVASC 12      /* invalid ASCII digit */
 -# define __FPE_INVDEC 13      /* invalid decimal digit */
 -#endif
 +#define __FPE_DECOVF  9       /* decimal overflow */
 +#define __FPE_DECDIV  10      /* decimal division by zero */
 +#define __FPE_DECERR  11      /* packed decimal error */
 +#define __FPE_INVASC  12      /* invalid ASCII digit */
 +#define __FPE_INVDEC  13      /* invalid decimal digit */
- #define NSIGFPE               13
+ #define FPE_FLTUNK    14      /* undiagnosed floating-point exception */
+ #define NSIGFPE               14
  
  /*
   * SIGSEGV si_codes
diff --cc kernel/signal.c
Simple merge
Simple merge