It then introduces a new define ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUTCan you make this a Kconfig option defined in arch/Kconfig or mm/Kconfig
that can be defined by other architectures to benefit from those functions.
and selected by the architectures?
-#ifndef STACK_RND_MASKMaybe the move of this function can be split into another prep patch,
-#define STACK_RND_MASK (0x7ff >> (PAGE_SHIFT - 12)) /* 8MB of VA */
-#endif
-
-static unsigned long randomize_stack_top(unsigned long stack_top)
-{
- unsigned long random_variable = 0;
-
- if (current->flags & PF_RANDOMIZE) {
- random_variable = get_random_long();
- random_variable &= STACK_RND_MASK;
- random_variable <<= PAGE_SHIFT;
- }
-#ifdef CONFIG_STACK_GROWSUP
- return PAGE_ALIGN(stack_top) + random_variable;
-#else
- return PAGE_ALIGN(stack_top) - random_variable;
-#endif
-}
-
as it is only very lightly related?
+#if defined(HAVE_ARCH_PICK_MMAP_LAYOUT) || \Not sure if it is wrÑtten down somehwere or just convention, but I
+ defined(ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT)
general see cpp defined statements aligned with spaces to the
one on the previous line.
Except for these nitpicks this looks very nice to me, thanks for doing
this work!