futex: Don't enable IRQs unconditionally in put_pi_state()
stable inclusion from linux-4.19.158 commit 3f7277405fb3fe2853ce5d017ac7935ffca4ccfd category: bugfix bugzilla: NA CVE: CVE-2021-3347 -------------------------------- commit 1e106aa3509b86738769775969822ffc1ec21bf4 upstream. 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: 153fbd12 ("futex: Fix more put_pi_state() vs. exit_pi_state_list() races") Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Acked-by: NPeter Zijlstra (Intel) <peterz@infradead.org> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/20201106085205.GA1159983@mwandaSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NYu Changchun <yuchangchun1@huawei.com>
Showing
想要评论请 注册 或 登录