Remove the redundant conditional fast-path check within el0_svc_common() as both branches now execute the exact the same syscall_exit_to_user_mode_work().
Since both the conditional fast-path and the fallback slow-path now uniformly invoke syscall_exit_to_user_mode_work(), this explicit conditional branch is entirely redundant regardless of whether the evaluation is true or false. Removing it collapses the duplicated logic into a single, unconditional path. No functional changes. Cc: Mark Rutland <[email protected]> Cc: Will Deacon <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Ada Couprie Diaz <[email protected]> Signed-off-by: Jinjie Ruan <[email protected]> --- arch/arm64/kernel/syscall.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/arch/arm64/kernel/syscall.c b/arch/arm64/kernel/syscall.c index 74308b6df43b..275cde8ab6f4 100644 --- a/arch/arm64/kernel/syscall.c +++ b/arch/arm64/kernel/syscall.c @@ -114,17 +114,6 @@ static void el0_svc_common(struct pt_regs *regs, int scno, int sc_nr, } invoke_syscall(regs, scno, sc_nr, syscall_table); - - /* - * The tracing status may have changed under our feet, so we have to - * check again. However, if we were tracing entry, then we always trace - * exit regardless, as the old entry assembly did. - */ - if (!(unlikely(flags & _TIF_SYSCALL_WORK)) && !IS_ENABLED(CONFIG_DEBUG_RSEQ)) { - syscall_exit_to_user_mode_work(regs); - return; - } - trace_exit: syscall_exit_to_user_mode_work(regs); } -- 2.34.1
