Re: [PATCH] x86, mm: get ASLR work for hugetlb mappings

From: Dave Hansen
Date: Tue Oct 22 2013 - 11:22:15 EST


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/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/