Re: [GIT PULL] futex fixlet

From: Linus Torvalds
Date: Thu Dec 29 2011 - 20:27:40 EST

On Thu, Dec 29, 2011 at 1:07 PM, Ingo Molnar <mingo@xxxxxxx> wrote:
> Please pull the latest core-urgent-for-linus git tree from:
>   git:// core-urgent-for-linus
> Please have a good look at it - it was probably not tested
> by everyone with the usual vigor, due to holiday excesse^W
> festivities.


It's not about the testing, that thing is disgusting, and I really dislike it.

Why do we even bother to check "page->mapping" at all? What's the
*use* of that loop? My gut feeling is that *that* is the fundamental
problem, and we should just get rid of it, rather than add all these
totally random work-arounds for the problem.

Peter Z? That "if (!page->mapping) goto again" actually goes back to
38d47c1b7075, in 2008. Why does it exist in the first place? There's
no comment nor explanation in the changelog.

Why don't we just unconditionally return -EFAULT? What is the retry
actually supposed to *do*? If somebody races with a mmap/munmap, why
the hell would we care? What is it doing?

So there's no way I'll pull that patch. Even if the patch is
technically correct, what it *really* needs is the comment about why
retrying would be needed and a good idea in the first place. The
comments about all the cases where retrying cannot work are completely
pointless without that much more important commentary.

I really don't understand what race we could be fixing by retrying,
and why we should care about that race.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at