futex: Fix (possible) missed wakeup
mainline inclusion from mainline-5.0 commit b061c38b category: bugfix bugzilla: 7208 CVE: NA ------------------------------------------------- We must not rely on wake_q_add() to delay the wakeup; in particular commit: 1d0dcb3a ("futex: Implement lockless wakeups") moved wake_q_add() before smp_store_release(&q->lock_ptr, NULL), which could result in futex_wait() waking before observing ->lock_ptr == NULL and going back to sleep again. Signed-off-by:Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Fixes: 1d0dcb3a ("futex: Implement lockless wakeups") Signed-off-by:
Ingo Molnar <mingo@kernel.org> Signed-off-by:
Cheng Jian <cj.chengjian@huawei.com> Reviewed-by:
Xie XiuQi <xiexiuqi@huawei.com> Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com>
Loading
Please sign in to comment