Messages in this thread |  | | Date | Sun, 26 Oct 2014 16:04:53 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH v2] futex: fix a race condition between REQUEUE_PI and task death |
| |
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
|  |