ptrace: task_clear_jobctl_trapping()->wake_up_bit() needs mb()
__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@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
4e52365f27
commit
650226bd95
|
@ -277,6 +277,7 @@ void task_clear_jobctl_trapping(struct task_struct *task)
|
||||||
{
|
{
|
||||||
if (unlikely(task->jobctl & JOBCTL_TRAPPING)) {
|
if (unlikely(task->jobctl & JOBCTL_TRAPPING)) {
|
||||||
task->jobctl &= ~JOBCTL_TRAPPING;
|
task->jobctl &= ~JOBCTL_TRAPPING;
|
||||||
|
smp_mb(); /* advised by wake_up_bit() */
|
||||||
wake_up_bit(&task->jobctl, JOBCTL_TRAPPING_BIT);
|
wake_up_bit(&task->jobctl, JOBCTL_TRAPPING_BIT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue