Merge branch 'for-next/entry' into for-next/core
authorCatalin Marinas <catalin.marinas@arm.com>
Thu, 26 Aug 2021 10:49:33 +0000 (11:49 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 26 Aug 2021 10:49:33 +0000 (11:49 +0100)
* for-next/entry:
  : More entry.S clean-ups and conversion to C.
  arm64: entry: call exit_to_user_mode() from C
  arm64: entry: move bulk of ret_to_user to C
  arm64: entry: clarify entry/exit helpers
  arm64: entry: consolidate entry/exit helpers

1  2 
arch/arm64/kernel/entry.S
arch/arm64/kernel/signal.c

@@@ -605,20 -563,10 +583,8 @@@ SYM_CODE_START_LOCAL(ret_to_kernel
        kernel_exit 1
  SYM_CODE_END(ret_to_kernel)
  
- /*
-  * "slow" syscall return path.
-  */
  SYM_CODE_START_LOCAL(ret_to_user)
-       disable_daif
-       gic_prio_kentry_setup tmp=x3
- #ifdef CONFIG_TRACE_IRQFLAGS
-       bl      trace_hardirqs_off
- #endif
-       ldr     x19, [tsk, #TSK_TI_FLAGS]
-       and     x2, x19, #_TIF_WORK_MASK
-       cbnz    x2, work_pending
- finish_ret_to_user:
-       user_enter_irqoff
 -      /* Ignore asynchronous tag check faults in the uaccess routines */
 -      clear_mte_async_tcf
+       ldr     x19, [tsk, #TSK_TI_FLAGS]       // re-check for single-step
        enable_step_tsk x19, x2
  #ifdef CONFIG_GCC_PLUGIN_STACKLEAK
        bl      stackleak_erase
Simple merge