futex: Mark the begin of futex exit explicitly
authorThomas Gleixner <tglx@linutronix.de>
Wed, 6 Nov 2019 21:55:41 +0000 (22:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 14:38:27 +0000 (15:38 +0100)
commit1be36de0acdc5d58d8e2510b8b35c6d97c881451
treedf974875b804b9b794d89ce5718bdf193f960ac8
parent32676552cfea1aa1d96b23000c8d9af735cd064f
futex: Mark the begin of futex exit explicitly

commit 18f694385c4fd77a09851fd301236746ca83f3cb upstream.

Instead of relying on PF_EXITING use an explicit state for the futex exit
and set it in the futex exit function. This moves the smp barrier and the
lock/unlock serialization into the futex code.

As with the DEAD state this is restricted to the exit path as exec
continues to use the same task struct.

This allows to simplify that logic in a next step.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20191106224556.539409004@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/futex.h
kernel/exit.c
kernel/futex.c