Comment 12 for bug 1215665

Revision history for this message
Doug Smythies (dsmythies) wrote :

Just adding the upstream commit numbers and descriptions:

commit 41aacc1eea645c99edbe8fbcf78a97dc9b862adc
Author: Radu Caragea <email address hidden>
Date: Wed Aug 21 20:55:59 2013 +0300

    x86 get_unmapped_area: Access mmap_legacy_base through mm_struct member

    This is the updated version of df54d6fa5427 ("x86 get_unmapped_area():
    use proper mmap base for bottom-up direction") that only randomizes the
    mmap base address once.

    Signed-off-by: Radu Caragea <email address hidden>
    Reported-and-tested-by: Jeff Shorey <email address hidden>
    Cc: Andrew Morton <email address hidden>
    Cc: Michel Lespinasse <email address hidden>
    Cc: Oleg Nesterov <email address hidden>
    Cc: Rik van Riel <email address hidden>
    Cc: Ingo Molnar <email address hidden>
    Cc: Adrian Sendroiu <email address hidden>
    Cc: Greg KH <email address hidden>
    Cc: Kamal Mostafa <email address hidden>
    Signed-off-by: Linus Torvalds <email address hidden>

commit 5ea80f76a56605a190a7ea16846c82aa63dbd0aa
Author: Linus Torvalds <email address hidden>
Date: Thu Aug 22 09:13:06 2013 -0700

    Revert "x86 get_unmapped_area(): use proper mmap base for bottom-up direction"

    This reverts commit df54d6fa54275ce59660453e29d1228c2b45a826.

    The commit isn't necessarily wrong, but because it recalculates the
    random mmap_base every time, it seems to confuse user memory allocators
    that expect contiguous mmap allocations even when the mmap address isn't
    specified.

    In particular, the MATLAB Java runtime seems to be unhappy. See

      https://bugzilla.kernel.org/show_bug.cgi?id=60774

    So we'll want to apply the random offset only once, and Radu has a patch
    for that. Revert this older commit in order to apply the other one.

    Reported-by: Jeff Shorey <email address hidden>
    Cc: Radu Caragea <email address hidden>
    Cc: Andrew Morton <email address hidden>
    Signed-off-by: Linus Torvalds <email address hidden>