Re: [PATCH] robust futex thread exit race
- From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
- Date: Sun, 30 Sep 2007 17:53:24 +0200 (CEST)
On Sun, 30 Sep 2007, Ingo Molnar wrote:
* Martin Schwidefsky <schwidefsky@xxxxxxxxxx> 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@xxxxxxx>
Acked-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [PATCH] robust futex thread exit race
- From: Ingo Molnar
- Re: [PATCH] robust futex thread exit race
- References:
- [PATCH] robust futex thread exit race
- From: Martin Schwidefsky
- Re: [PATCH] robust futex thread exit race
- From: Ingo Molnar
- [PATCH] robust futex thread exit race
- Prev by Date: Re: [PATCH] fix console change race exposed by CFS
- Next by Date: Re: [PATCH] robust futex thread exit race
- Previous by thread: Re: [PATCH] robust futex thread exit race
- Next by thread: Re: [PATCH] robust futex thread exit race
- Index(es):
Relevant Pages
|
|