public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [BUG] get_unmapped_area() change -> non booting machine
@ 2004-02-10  3:47 Benjamin Herrenschmidt
  2004-02-10 16:25 ` Linus Torvalds
  2004-02-11 23:23 ` Andi Kleen
  0 siblings, 2 replies; 22+ messages in thread
From: Benjamin Herrenschmidt @ 2004-02-10  3:47 UTC (permalink / raw)
  To: Andi Kleen, Linux Kernel list; +Cc: Andrew Morton, Linus Torvalds

Hi !

I've finally found what is causing my box not to boot any more
with recent 2.6.3-rc* bk's.

Andi change to get_unmapped_area() is triggering that interesting
scenario:

 - bash tries to load
 - ld.so tries to map libc somewhere below the executable at a
location provided by the prelink informations. However, probably due to
outdated prelink informations (I didn't re-run prelink since I updated
glibc), it won't fit.
 - Andi change cause do_mmap() to actually do a search of a free
space from the address... when ends up beeing right after the brk point
of the just loaded bash
 - something (glibc) is now mapped right after brk point of bash,
preventing it from malloc'ing, so it dies.

Just reverting the patch fixes it. Though, the patch do make sense in
some cases, paulus suggested to modify the code so that for a non
MAP_FIXED map, it still search from the passed-in address, but avoids
the spare between the current mm->brk and TASK_UNMAPPED_BASE, thus the
algorithm would still work for things outside of these areas.

Commment ?

(Sorry, no patch at this point, still recovering the box and deep
into another bug...)

Ben.



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2004-02-13 19:50 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-10  3:47 [BUG] get_unmapped_area() change -> non booting machine Benjamin Herrenschmidt
2004-02-10 16:25 ` Linus Torvalds
2004-02-10 17:37   ` Jamie Lokier
2004-02-10 22:25     ` Benjamin Herrenschmidt
2004-02-12 23:23     ` Andi Kleen
2004-02-12 10:04       ` Ingo Molnar
2004-02-12 16:36         ` Linus Torvalds
2004-02-12 17:02           ` Dave McCracken
2004-02-12 17:17             ` Linus Torvalds
2004-02-12 17:31               ` Dave McCracken
2004-02-12 18:19                 ` Linus Torvalds
2004-02-12 18:25                   ` Dave McCracken
2004-02-12 20:49           ` Benjamin Herrenschmidt
2004-02-13  3:26           ` Jamie Lokier
2004-02-15  5:25             ` Andi Kleen
2004-02-13 18:33               ` Martin J. Bligh
2004-02-13  1:52                 ` Andi Kleen
2004-02-13  6:26           ` H. Peter Anvin
2004-02-10 22:17   ` Benjamin Herrenschmidt
2004-02-14  8:34     ` Andi Kleen
2004-02-11 23:23 ` Andi Kleen
2004-02-10  7:48   ` Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox