Re: [patch 3/3] x86, mm: get ASLR work for hugetlb mappings

From: Kirill A. Shutemov
Date: Tue Nov 19 2013 - 08:18:01 EST


Ingo Molnar wrote:
>
> * akpm@xxxxxxxxxxxxxxxxxxxx <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> > From: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
> > Subject: x86, mm: get ASLR work for hugetlb mappings
> >
> > 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.
> >
> > 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.
>
> So the title and the changelog has typos (I counted three), which
> makes me wonder how well this was tested.
>
> To show/document the testing effort a before/after /proc/PID/maps
> output showing hugetlb vma addresses would be nice, showing that ASLR
> didn't work before and that it works adequately after the patch.
>
> A word about the range and granularity of randomization in the typical
> case would be nice as well.

What about this: