Messages in this thread | | | Date | Tue, 22 Oct 2013 08:21:25 -0700 | From | Dave Hansen <> | Subject | Re: [PATCH] x86, mm: get ASLR work for hugetlb mappings |
| |
On 10/22/2013 06:52 AM, Kirill A. Shutemov wrote: > Matthew noticed that hugetlb doesn't participate in ASLR on x86-64. > The reason is genereic hugetlb_get_unmapped_area() which is used on > x86-64. It doesn't support randomization and use bottom-up unmapped area > lookup, instead of usual top-down on x86-64.
I have to wonder if this was on purpose in order to keep the large and small mappings separate. We don't *have* to keep them separate this, of course, but it makes me wonder.
> x86 has arch-specific hugetlb_get_unmapped_area(), but it's used only on > x86-32. > > Let's use arch-specific hugetlb_get_unmapped_area() on x86-64 too. > It fixes the issue and make hugetlb use top-down unmapped area lookup.
Shouldn't we fix the generic code instead of further specializing the x86 stuff?
In any case, you probably also want to run this through: the libhugetlbfs tests:
http://sourceforge.net/p/libhugetlbfs/code/ci/master/tree/tests/
| |