On 2/1/19 6:15 AM, Dan Williams wrote:
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -1714,6 +1714,29 @@ config SLAB_FREELIST_HARDENED
>         sacrifies to harden the kernel slab allocator against common
>         freelist exploit methods.
>  
> +config SHUFFLE_PAGE_ALLOCATOR
> +     bool "Page allocator randomization"
> +     default SLAB_FREELIST_RANDOM && ACPI_NUMA
> +     help
> +       Randomization of the page allocator improves the average
> +       utilization of a direct-mapped memory-side-cache. See section
> +       5.2.27 Heterogeneous Memory Attribute Table (HMAT) in the ACPI
> +       6.2a specification for an example of how a platform advertises
> +       the presence of a memory-side-cache. There are also incidental
> +       security benefits as it reduces the predictability of page
> +       allocations to compliment SLAB_FREELIST_RANDOM, but the
> +       default granularity of shuffling on 4MB (MAX_ORDER) pages is
> +       selected based on cache utilization benefits.
> +
> +       While the randomization improves cache utilization it may
> +       negatively impact workloads on platforms without a cache. For
> +       this reason, by default, the randomization is enabled only
> +       after runtime detection of a direct-mapped memory-side-cache.
> +       Otherwise, the randomization may be force enabled with the
> +       'page_alloc.shuffle' kernel command line parameter.
> +
> +       Say Y if unsure.

It says "Say Y if unsure", yet if I run make oldconfig, the default is
N. Does that make sense?

> Page allocator randomization (SHUFFLE_PAGE_ALLOCATOR) [N/y/?] (NEW)

Reply via email to