• Darren Hart's avatar
    futex: fix requeue_pi key imbalance · da085681
    Darren Hart authored
    If futex_wait_requeue_pi() wakes prior to requeue, we drop the
    reference to the source futex_key twice, once in
    handle_early_requeue_pi_wakeup() and once on our way out.
    
    Remove the drop from the handle_early_requeue_pi_wakeup() and keep
    the get/drops together in futex_wait_requeue_pi().
    Reported-by: default avatarHelge Bahmann <hcb@chaoticmind.net>
    Signed-off-by: default avatarDarren Hart <dvhltc@us.ibm.com>
    Cc: Helge Bahmann <hcb@chaoticmind.net>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Eric Dumazet <eric.dumazet@gmail.com>
    Cc: Dinakar Guniguntala <dino@in.ibm.com>
    Cc: John Stultz <johnstul@us.ibm.com>
    Cc: stable-2.6.31 <stable@kernel.org>
    LKML-Reference: <4ACCE21E.5030805@us.ibm.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    da085681
futex.c 67.3 KB