diff --git a/kernel/signal.c b/kernel/signal.c index 6e600aaa2af45b3074a34856582056d010f560bd..9b5453ee5f5e6f30121b54a79b9b3520bac570aa 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); } }