Messages in this thread | | | Date | Sun, 30 Sep 2007 17:53:24 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH] robust futex thread exit race |
| |
On Sun, 30 Sep 2007, Ingo Molnar wrote: > * Martin Schwidefsky <schwidefsky@de.ibm.com> wrote: > > > Hi Ingo, > > I finally found the bug that causes tst-robust8 from the glibc to fail > > on s390x. Turned out to be a common code problem with the processing of > > the robust futex list. The patch below fixes the bug for me. > > good catch! A quick preliminary review of your patch indicates it's fine > - and it might be v2.6.23 material. > > Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
> > Calling handle_futex_death in exit_robust_list for the different > > robust mutexes of a thread basically frees the mutex. Another thread > > might grab the lock immediately which updates the next pointer of the > > mutex. fetch_robust_entry over the next pointer might therefore branch > > into the robust mutex list of a different thread. This can cause two > > problems: 1) some mutexes held by the dead thread are not getting > > freed and 2) some mutexs held by a different thread are freed. The > > next point need to be read before calling handle_futex_death. > > nasty race... Ulrich, Thomas, do you concur?
Yes. Where do they sell those brown paperbags again ?
tglx
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |