Re: [PATCH REPOST 1/5] thread_info: Port core code to use update_thread_flag() helpers

From: Steven Rostedt
Date: Fri May 11 2018 - 11:33:45 EST


On Fri, 11 May 2018 16:05:00 +0100
Dave Martin <Dave.Martin@xxxxxxx> wrote:

> This patch ports a couple of relevant bits of the core kernel to
> use the new update_thread_flag() helpers.
>
> No functional change.
>
> Signed-off-by: Dave Martin <Dave.Martin@xxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
> ---
> include/trace/syscall.h | 6 ++----
> kernel/ptrace.c | 13 +++++--------
> 2 files changed, 7 insertions(+), 12 deletions(-)
>
> diff --git a/include/trace/syscall.h b/include/trace/syscall.h
> index dc8ac27..dcc9bdf 100644
> --- a/include/trace/syscall.h
> +++ b/include/trace/syscall.h
> @@ -37,10 +37,8 @@ struct syscall_metadata {
> #if defined(CONFIG_TRACEPOINTS) && defined(CONFIG_HAVE_SYSCALL_TRACEPOINTS)
> static inline void syscall_tracepoint_update(struct task_struct *p)
> {
> - if (test_thread_flag(TIF_SYSCALL_TRACEPOINT))
> - set_tsk_thread_flag(p, TIF_SYSCALL_TRACEPOINT);
> - else
> - clear_tsk_thread_flag(p, TIF_SYSCALL_TRACEPOINT);
> + update_tsk_thread_flag(p, TIF_SYSCALL_TRACEPOINT,
> + test_thread_flag(TIF_SYSCALL_TRACEPOINT));
> }

Acked-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

-- Steve

> #else
> static inline void syscall_tracepoint_update(struct task_struct *p)
> diff --git a/kernel/ptrace.c b/kernel/ptrace.c
> index 21fec73..7a2bd8d 100644
> --- a/kernel/ptrace.c
> +++ b/kernel/ptrace.c
> @@ -785,16 +785,13 @@ static int ptrace_resume(struct task_struct *child, long request,
> if (!valid_signal(data))
> return -EIO;
>
> - if (request == PTRACE_SYSCALL)
> - set_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
> - else
> - clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
> + update_tsk_thread_flag(child, TIF_SYSCALL_TRACE,
> + request == PTRACE_SYSCALL);
>
> #ifdef TIF_SYSCALL_EMU
> - if (request == PTRACE_SYSEMU || request == PTRACE_SYSEMU_SINGLESTEP)
> - set_tsk_thread_flag(child, TIF_SYSCALL_EMU);
> - else
> - clear_tsk_thread_flag(child, TIF_SYSCALL_EMU);
> + update_tsk_thread_flag(child, TIF_SYSCALL_EMU,
> + request == PTRACE_SYSEMU ||
> + request == PTRACE_SYSEMU_SINGLESTEP);
> #endif
>
> if (is_singleblock(request)) {