Re: [PATCH 1/1] ptrace: task_clear_jobctl_trapping()->wake_up_bit() needs mb()

From: Peter Zijlstra
Date: Wed May 21 2014 - 05:29:50 EST


On Fri, May 16, 2014 at 03:51:37PM +0200, Oleg Nesterov wrote:
> __wake_up_bit() checks waitqueue_active() and thus the caller needs
> mb() as wake_up_bit() documents, fix task_clear_jobctl_trapping().
>
> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>

Seeing how you are one of the ptrace maintainers, how do you want this
routed? Does Andrew pick this up, do I stuff it somewhere?

> ---
> kernel/signal.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/kernel/signal.c b/kernel/signal.c
> index c2a8542..f4c4119 100644
> --- a/kernel/signal.c
> +++ b/kernel/signal.c
> @@ -277,6 +277,7 @@ void task_clear_jobctl_trapping(struct task_struct *task)
> {
> if (unlikely(task->jobctl & JOBCTL_TRAPPING)) {
> task->jobctl &= ~JOBCTL_TRAPPING;
> + smp_mb(); /* advised by wake_up_bit() */
> wake_up_bit(&task->jobctl, JOBCTL_TRAPPING_BIT);
> }
> }
> --
> 1.5.5.1
>
>

Attachment: pgplCSuRskbdf.pgp
Description: PGP signature