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(-)

-- 
2.27.0

Reply via email to