lkml.org 
[lkml]   [2004]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Subject[BUG] get_unmapped_area() change -> non booting machine
    From
    Date
    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.


    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 14:00    [W:0.021 / U:59.920 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site