1. 20 2月, 2018 3 次提交
    • M
      arm64: Remove unimplemented syscall log message · 1962682d
      Michael Weiser 提交于
      Stop printing a (ratelimited) kernel message for each instance of an
      unimplemented syscall being called. Userland making an unimplemented
      syscall is not necessarily misbehaviour and to be expected with a
      current userland running on an older kernel. Also, the current message
      looks scary to users but does not actually indicate a real problem nor
      help them narrow down the cause. Just rely on sys_ni_syscall() to return
      -ENOSYS.
      
      Cc: <stable@vger.kernel.org>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NMichael Weiser <michael.weiser@gmx.de>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      1962682d
    • M
      arm64: Disable unhandled signal log messages by default · 5ee39a71
      Michael Weiser 提交于
      aarch64 unhandled signal kernel messages are very verbose, suggesting
      them to be more of a debugging aid:
      
      sigsegv[33]: unhandled level 2 translation fault (11) at 0x00000000, esr
      0x92000046, in sigsegv[400000+71000]
      CPU: 1 PID: 33 Comm: sigsegv Tainted: G        W        4.15.0-rc3+ #3
      Hardware name: linux,dummy-virt (DT)
      pstate: 60000000 (nZCv daif -PAN -UAO)
      pc : 0x4003f4
      lr : 0x4006bc
      sp : 0000fffffe94a060
      x29: 0000fffffe94a070 x28: 0000000000000000
      x27: 0000000000000000 x26: 0000000000000000
      x25: 0000000000000000 x24: 00000000004001b0
      x23: 0000000000486ac8 x22: 00000000004001c8
      x21: 0000000000000000 x20: 0000000000400be8
      x19: 0000000000400b30 x18: 0000000000484728
      x17: 000000000865ffc8 x16: 000000000000270f
      x15: 00000000000000b0 x14: 0000000000000002
      x13: 0000000000000001 x12: 0000000000000000
      x11: 0000000000000000 x10: 0008000020008008
      x9 : 000000000000000f x8 : ffffffffffffffff
      x7 : 0004000000000000 x6 : ffffffffffffffff
      x5 : 0000000000000000 x4 : 0000000000000000
      x3 : 00000000004003e4 x2 : 0000fffffe94a1e8
      x1 : 000000000000000a x0 : 0000000000000000
      
      Disable them by default, so they can be enabled using
      /proc/sys/debug/exception-trace.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NMichael Weiser <michael.weiser@gmx.de>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      5ee39a71
    • W
      arm64: cpufeature: Fix CTR_EL0 field definitions · be68a8aa
      Will Deacon 提交于
      Our field definitions for CTR_EL0 suffer from a number of problems:
      
        - The IDC and DIC fields are missing, which causes us to enable CTR
          trapping on CPUs with either of these returning non-zero values.
      
        - The ERG is FTR_LOWER_SAFE, whereas it should be treated like CWG as
          FTR_HIGHER_SAFE so that applications can use it to avoid false sharing.
      
        - [nit] A RES1 field is described as "RAO"
      
      This patch updates the CTR_EL0 field definitions to fix these issues.
      
      Cc: <stable@vger.kernel.org>
      Cc: Shanker Donthineni <shankerd@codeaurora.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      be68a8aa
  2. 19 2月, 2018 2 次提交
    • R
      arm64: uaccess: Formalise types for access_ok() · 9085b34d
      Robin Murphy 提交于
      In converting __range_ok() into a static inline, I inadvertently made
      it more type-safe, but without considering the ordering of the relevant
      conversions. This leads to quite a lot of Sparse noise about the fact
      that we use __chk_user_ptr() after addr has already been converted from
      a user pointer to an unsigned long.
      
      Rather than just adding another cast for the sake of shutting Sparse up,
      it seems reasonable to rework the types to make logical sense (although
      the resulting codegen for __range_ok() remains identical). The only
      callers this affects directly are our compat traps where the inferred
      "user-pointer-ness" of a register value now warrants explicit casting.
      Signed-off-by: NRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      9085b34d
    • B
      arm64: Fix compilation error while accessing MPIDR_HWID_BITMASK from .S files · 04c49273
      Bhupesh Sharma 提交于
      Since commit e1a50de3 (arm64: cputype: Silence Sparse warnings),
      compilation of arm64 architecture is broken with the following error
      messages:
      
        AR      arch/arm64/kernel/built-in.o
        arch/arm64/kernel/head.S: Assembler messages:
        arch/arm64/kernel/head.S:677: Error: found 'L', expected: ')'
        arch/arm64/kernel/head.S:677: Error: found 'L', expected: ')'
        arch/arm64/kernel/head.S:677: Error: found 'L', expected: ')'
        arch/arm64/kernel/head.S:677: Error: junk at end of line, first
        unrecognized character is `L'
        arch/arm64/kernel/head.S:677: Error: unexpected characters following
        instruction at operand 2 -- `movz x1,:abs_g1_s:0xff00ffffffUL'
        arch/arm64/kernel/head.S:677: Error: unexpected characters following
        instruction at operand 2 -- `movk x1,:abs_g0_nc:0xff00ffffffUL'
      
      This patch fixes the same by using the UL() macro correctly for
      assigning the MPIDR_HWID_BITMASK macro value.
      
      Fixes: e1a50de3 ("arm64: cputype: Silence Sparse warnings")
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NRobin Murphy <robin.murphy@arm.com>
      Signed-off-by: NBhupesh Sharma <bhsharma@redhat.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      04c49273
  3. 17 2月, 2018 2 次提交
  4. 15 2月, 2018 1 次提交
  5. 12 2月, 2018 1 次提交
  6. 07 2月, 2018 31 次提交