I found a dead code in the queue/4.9 branch of the stable-rc repository.
2021-02-03: commit c27f392040e2f6 ("futex: Provide distinct return value when owner is exiting") The function handle_exit_race does not exist. Therefore, the change in handle_exit_race() is ignored in the patch round.
2021-02-22: commit e55cb811e612 ("futex: Cure exit race") Define the handle_exit_race() function, but no branch in the function returns EBUSY. As a result, dead code occurs in the attach_to_pi_owner():
int ret = handle_exit_race(uaddr, uval, p); ... if (ret == -EBUSY) *exiting = p; /* dead code */
To fix the dead code, modify the commit e55cb811e612 ("futex: Cure exit race"), or install a patch to incorporate the changes in handle_exit_race().
I am unfamiliar with the processing of the stable-rc queue branch, and I cannot find the patch mail of the current branch in https://lore.kernel.org/lkml/?q=%22futex%3A+Cure+exit+race%22 Therefore, I re-integrated commit ac31c7ff8624 ("futex: Provide distinct return value when owner is exiting").
-----
Thomas Gleixner (1): futex: Provide distinct return value when owner is exiting
kernel/futex.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)