Messages in this thread |  | | | Date | Sun, 30 Sep 2007 17:57:16 +0200 | | From | Ingo Molnar <> | | Subject | Re: [PATCH] robust futex thread exit race |
| |
* Thomas Gleixner <tglx@linutronix.de> wrote:
> > 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 ?
i've still got plenty of them stacked up, can pass over a few. (i'm getting them cheap from the manufacturer - large quantity discount)
Ingo - 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/
|  |