Re: [PATCH] ARM: avoid ARCH_MMAP_RND_BITS for NOMMU

From: Daniel Cashman
Date: Mon Nov 30 2015 - 18:40:20 EST


Thank you for this. I will add this to the recently posted patchset
v4. Without CONFIG_MMU, arch_pick_mmap_layout() is a no-op and the
arch/$ARCH/mm/mmap.c source is not included, so this change makes
sense. In addition, we should drop the nommu default and add
depends-on for the Kconfig portions.

-Dan

On Fri, Nov 27, 2015 at 6:04 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> ARM kernels with MMU disabled fail to build because of CONFIG_ARCH_MMAP_RND_BITS:
>
> kernel/built-in.o:(.data+0x754): undefined reference to `mmap_rnd_bits'
> kernel/built-in.o:(.data+0x76c): undefined reference to `mmap_rnd_bits_min'
> kernel/built-in.o:(.data+0x770): undefined reference to `mmap_rnd_bits_max'
>
> This changes the newly added line to only select this allow for
> MMU-enabled kernels.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Fixes: 14570b3fd31a ("arm: mm: support ARCH_MMAP_RND_BITS")
> ---
> Found on yesterday's linux-next with ARM randconfig. The commit that
> introduced this is currently in Andrew's tree.
>
> If you don't already have a fix, please either apply this patch on top,
> or fold it into the original patch.
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index b64f64d124c4..5a0957e3ea36 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -34,7 +34,7 @@ config ARM
> select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
> select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
> select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
> - select HAVE_ARCH_MMAP_RND_BITS
> + select HAVE_ARCH_MMAP_RND_BITS if MMU
> select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
> select HAVE_ARCH_TRACEHOOK
> select HAVE_BPF_JIT
>



--
Dan Cashman
--
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/