Re: [PATCH v2] futex: fix a race condition between REQUEUE_PI and task death

From: Thomas Gleixner
Date: Sun Oct 26 2014 - 11:05:00 EST


On Sat, 25 Oct 2014, Brian Silverman wrote:
> @@ -64,6 +64,7 @@
> #include <linux/hugetlb.h>
> #include <linux/freezer.h>
> #include <linux/bootmem.h>
> +#include <linux/lockdep.h>

Already included.

> * PI futexes can not be requeued and must remove themself from the
> * hash bucket. The hash bucket lock (i.e. lock_ptr) is held on entry
> * and dropped here.
> + * Must be called with the hb lock held.

It's already required that the hb lock, i.e. q->lock_ptr is held on
entry. So there is no point for adding hb to the interface. We rather
add "struct spin_lock *lock" to free_pi_state() and hand in
q->lock_ptr from here and &hb2->lock from requeue_pi.

I take the immediate bugfix and strip out this debug stuff for
now. Care to resend this part?

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/