]> git.baikalelectronics.ru Git - kernel.git/commit
futex: Don't enable IRQs unconditionally in put_pi_state()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 6 Nov 2020 08:52:05 +0000 (11:52 +0300)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 9 Nov 2020 13:30:30 +0000 (14:30 +0100)
commite2411af9fe26cd3a064587233768c05d2365e0c8
tree8e8a975a56017ec49c9a8190a5a4f5cd7ef64431
parentc264010cc5c3df68366b65702bff545bebd1b7d0
futex: Don't enable IRQs unconditionally in put_pi_state()

The exit_pi_state_list() function calls put_pi_state() with IRQs disabled
and is not expecting that IRQs will be enabled inside the function.

Use the _irqsave() variant so that IRQs are restored to the original state
instead of being enabled unconditionally.

Fixes: 31020a54e7ea ("futex: Fix more put_pi_state() vs. exit_pi_state_list() races")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20201106085205.GA1159983@mwanda
kernel/futex.c