On Tue, Mar 17, 2026 at 04:20:15PM +0800, Jinjie Ruan wrote: > include/linux/irq-entry-common.h | 8 -- > include/linux/rseq_entry.h | 18 --- > 11 files changed, 127 insertions(+), 209 deletions(-)
Excellent, Acked-by: Peter Zijlstra (Intel) <[email protected]> > diff --git a/include/linux/irq-entry-common.h > b/include/linux/irq-entry-common.h > index d26d1b1bcbfb..6519b4a30dc1 100644 > --- a/include/linux/irq-entry-common.h > +++ b/include/linux/irq-entry-common.h > @@ -236,14 +236,6 @@ static __always_inline void > __exit_to_user_mode_validate(void) > lockdep_sys_exit(); > } > > -/* Temporary workaround to keep ARM64 alive */ > -static __always_inline void exit_to_user_mode_prepare_legacy(struct pt_regs > *regs) > -{ > - __exit_to_user_mode_prepare(regs); > - rseq_exit_to_user_mode_legacy(); > - __exit_to_user_mode_validate(); > -} > - > /** > * syscall_exit_to_user_mode_prepare - call exit_to_user_mode_loop() if > required > * @regs: Pointer to pt_regs on entry stack > diff --git a/include/linux/rseq_entry.h b/include/linux/rseq_entry.h > index c6831c93cd6e..e9c4108ac514 100644 > --- a/include/linux/rseq_entry.h > +++ b/include/linux/rseq_entry.h > @@ -743,24 +743,6 @@ static __always_inline void > rseq_irqentry_exit_to_user_mode(void) > ev->events = 0; > } > > -/* Required to keep ARM64 working */ > -static __always_inline void rseq_exit_to_user_mode_legacy(void) > -{ > - struct rseq_event *ev = ¤t->rseq.event; > - > - rseq_stat_inc(rseq_stats.exit); > - > - if (static_branch_unlikely(&rseq_debug_enabled)) > - WARN_ON_ONCE(ev->sched_switch); > - > - /* > - * Ensure that event (especially user_irq) is cleared when the > - * interrupt did not result in a schedule and therefore the > - * rseq processing did not clear it. > - */ > - ev->events = 0; > -} > - > void __rseq_debug_syscall_return(struct pt_regs *regs); > > static __always_inline void rseq_debug_syscall_return(struct pt_regs *regs) > -- > 2.34.1 >

