Re: [PATCH v13 RESEND 11/14] s390: Rename TIF_SINGLE_STEP to TIF_SINGLESTEP
From: Kevin Brodsky
Date: Thu Mar 19 2026 - 13:18:56 EST
On 17/03/2026 09:20, Jinjie Ruan wrote:
> Rename TIF_SINGLE_STEP to TIF_SINGLESTEP to align with the naming
> convention used by arm64, x86, and other architectures.
>
> By aligning the name, TIF_SINGLESTEP can be consolidated into the generic
> TIF bits definitions, reducing architectural divergence and simplifying
> cross-architecture entry/exit logic.
>
> No functional changes intended.
>
> Acked-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
> Signed-off-by: Jinjie Ruan <ruanjinjie@xxxxxxxxxx>
Reviewed-by: Kevin Brodsky <kevin.brodsky@xxxxxxx>
> ---
> arch/s390/include/asm/thread_info.h | 4 ++--
> arch/s390/kernel/process.c | 2 +-
> arch/s390/kernel/ptrace.c | 20 ++++++++++----------
> arch/s390/kernel/signal.c | 6 +++---
> 4 files changed, 16 insertions(+), 16 deletions(-)
>
> diff --git a/arch/s390/include/asm/thread_info.h b/arch/s390/include/asm/thread_info.h
> index 6a548a819400..1bcd42614e41 100644
> --- a/arch/s390/include/asm/thread_info.h
> +++ b/arch/s390/include/asm/thread_info.h
> @@ -69,7 +69,7 @@ void arch_setup_new_exec(void);
> #define TIF_GUARDED_STORAGE 17 /* load guarded storage control block */
> #define TIF_ISOLATE_BP_GUEST 18 /* Run KVM guests with isolated BP */
> #define TIF_PER_TRAP 19 /* Need to handle PER trap on exit to usermode */
> -#define TIF_SINGLE_STEP 21 /* This task is single stepped */
> +#define TIF_SINGLESTEP 21 /* This task is single stepped */
> #define TIF_BLOCK_STEP 22 /* This task is block stepped */
> #define TIF_UPROBE_SINGLESTEP 23 /* This task is uprobe single stepped */
>
> @@ -77,7 +77,7 @@ void arch_setup_new_exec(void);
> #define _TIF_GUARDED_STORAGE BIT(TIF_GUARDED_STORAGE)
> #define _TIF_ISOLATE_BP_GUEST BIT(TIF_ISOLATE_BP_GUEST)
> #define _TIF_PER_TRAP BIT(TIF_PER_TRAP)
> -#define _TIF_SINGLE_STEP BIT(TIF_SINGLE_STEP)
> +#define _TIF_SINGLESTEP BIT(TIF_SINGLESTEP)
> #define _TIF_BLOCK_STEP BIT(TIF_BLOCK_STEP)
> #define _TIF_UPROBE_SINGLESTEP BIT(TIF_UPROBE_SINGLESTEP)
>
> diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
> index 0df95dcb2101..3accc0c064a0 100644
> --- a/arch/s390/kernel/process.c
> +++ b/arch/s390/kernel/process.c
> @@ -122,7 +122,7 @@ int copy_thread(struct task_struct *p, const struct kernel_clone_args *args)
> /* Don't copy debug registers */
> memset(&p->thread.per_user, 0, sizeof(p->thread.per_user));
> memset(&p->thread.per_event, 0, sizeof(p->thread.per_event));
> - clear_tsk_thread_flag(p, TIF_SINGLE_STEP);
> + clear_tsk_thread_flag(p, TIF_SINGLESTEP);
> p->thread.per_flags = 0;
> /* Initialize per thread user and system timer values */
> p->thread.user_timer = 0;
> diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
> index 125ca4c4e30c..d2cf91f4ac3f 100644
> --- a/arch/s390/kernel/ptrace.c
> +++ b/arch/s390/kernel/ptrace.c
> @@ -90,8 +90,8 @@ void update_cr_regs(struct task_struct *task)
> new.start.val = thread->per_user.start;
> new.end.val = thread->per_user.end;
>
> - /* merge TIF_SINGLE_STEP into user specified PER registers. */
> - if (test_tsk_thread_flag(task, TIF_SINGLE_STEP) ||
> + /* merge TIF_SINGLESTEP into user specified PER registers. */
> + if (test_tsk_thread_flag(task, TIF_SINGLESTEP) ||
> test_tsk_thread_flag(task, TIF_UPROBE_SINGLESTEP)) {
> if (test_tsk_thread_flag(task, TIF_BLOCK_STEP))
> new.control.val |= PER_EVENT_BRANCH;
> @@ -119,18 +119,18 @@ void update_cr_regs(struct task_struct *task)
> void user_enable_single_step(struct task_struct *task)
> {
> clear_tsk_thread_flag(task, TIF_BLOCK_STEP);
> - set_tsk_thread_flag(task, TIF_SINGLE_STEP);
> + set_tsk_thread_flag(task, TIF_SINGLESTEP);
> }
>
> void user_disable_single_step(struct task_struct *task)
> {
> clear_tsk_thread_flag(task, TIF_BLOCK_STEP);
> - clear_tsk_thread_flag(task, TIF_SINGLE_STEP);
> + clear_tsk_thread_flag(task, TIF_SINGLESTEP);
> }
>
> void user_enable_block_step(struct task_struct *task)
> {
> - set_tsk_thread_flag(task, TIF_SINGLE_STEP);
> + set_tsk_thread_flag(task, TIF_SINGLESTEP);
> set_tsk_thread_flag(task, TIF_BLOCK_STEP);
> }
>
> @@ -143,7 +143,7 @@ void ptrace_disable(struct task_struct *task)
> {
> memset(&task->thread.per_user, 0, sizeof(task->thread.per_user));
> memset(&task->thread.per_event, 0, sizeof(task->thread.per_event));
> - clear_tsk_thread_flag(task, TIF_SINGLE_STEP);
> + clear_tsk_thread_flag(task, TIF_SINGLESTEP);
> clear_tsk_thread_flag(task, TIF_PER_TRAP);
> task->thread.per_flags = 0;
> }
> @@ -155,19 +155,19 @@ static inline unsigned long __peek_user_per(struct task_struct *child,
> {
> if (addr == offsetof(struct per_struct_kernel, cr9))
> /* Control bits of the active per set. */
> - return test_thread_flag(TIF_SINGLE_STEP) ?
> + return test_thread_flag(TIF_SINGLESTEP) ?
> PER_EVENT_IFETCH : child->thread.per_user.control;
> else if (addr == offsetof(struct per_struct_kernel, cr10))
> /* Start address of the active per set. */
> - return test_thread_flag(TIF_SINGLE_STEP) ?
> + return test_thread_flag(TIF_SINGLESTEP) ?
> 0 : child->thread.per_user.start;
> else if (addr == offsetof(struct per_struct_kernel, cr11))
> /* End address of the active per set. */
> - return test_thread_flag(TIF_SINGLE_STEP) ?
> + return test_thread_flag(TIF_SINGLESTEP) ?
> -1UL : child->thread.per_user.end;
> else if (addr == offsetof(struct per_struct_kernel, bits))
> /* Single-step bit. */
> - return test_thread_flag(TIF_SINGLE_STEP) ?
> + return test_thread_flag(TIF_SINGLESTEP) ?
> (1UL << (BITS_PER_LONG - 1)) : 0;
> else if (addr == offsetof(struct per_struct_kernel, starting_addr))
> /* Start address of the user specified per set. */
> diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c
> index 4874de5edea0..83f7650f2032 100644
> --- a/arch/s390/kernel/signal.c
> +++ b/arch/s390/kernel/signal.c
> @@ -423,7 +423,7 @@ static void handle_signal(struct ksignal *ksig, sigset_t *oldset,
> else
> ret = setup_frame(ksig->sig, &ksig->ka, oldset, regs);
>
> - signal_setup_done(ret, ksig, test_thread_flag(TIF_SINGLE_STEP));
> + signal_setup_done(ret, ksig, test_thread_flag(TIF_SINGLESTEP));
> }
>
> /*
> @@ -491,7 +491,7 @@ void arch_do_signal_or_restart(struct pt_regs *regs)
> regs->gprs[2] = regs->orig_gpr2;
> current->restart_block.arch_data = regs->psw.addr;
> regs->psw.addr = VDSO_SYMBOL(current, restart_syscall);
> - if (test_thread_flag(TIF_SINGLE_STEP))
> + if (test_thread_flag(TIF_SINGLESTEP))
> clear_thread_flag(TIF_PER_TRAP);
> break;
> case -ERESTARTNOHAND:
> @@ -499,7 +499,7 @@ void arch_do_signal_or_restart(struct pt_regs *regs)
> case -ERESTARTNOINTR:
> regs->gprs[2] = regs->orig_gpr2;
> regs->psw.addr = __rewind_psw(regs->psw, regs->int_code >> 16);
> - if (test_thread_flag(TIF_SINGLE_STEP))
> + if (test_thread_flag(TIF_SINGLESTEP))
> clear_thread_flag(TIF_PER_TRAP);
> break;
> }