Re: [linux-next:master 4174/4356] kernel/built-in.o:undefined reference to `mmap_rnd_bits'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yes, patch-set v5 addressed the MMU case.  As for
HAVE_ARCH_MMAP_RND_BITS=n, I deliberately made it such that once an
arch implements the feature it selects it in its Kconfig, so we
shouldn't have the situation where an arch relies on an mmap_rnd_bits*
in its mmap.c, but doesn't find one defined.

At present, I am planning to change the arm64/Kconfing to get rid of
the "if MMU" portion, per Will Deacon's request, adjust the min bit
value, and add a comment.  I've left the question of whether or not
the value should be the number of randomized bits (current situation)
or the size of the address space chunk affected up to akpm@.  Please
let me know what else should be done in v6 to keep these in.

Thank You,
Dan

On Fri, Dec 4, 2015 at 3:19 PM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, 4 Dec 2015 15:14:24 -0800 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
>> There's also the matter of CONFIG_MMU=n.
>
> ah, Arnd already fixed this one.  I guess I'll retain the patches
> for now.
>
>
>
> From: Arnd Bergmann <arnd@xxxxxxxx>
> Subject: ARM: avoid ARCH_MMAP_RND_BITS for NOMMU
>
> 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.
>
> Fixes: 14570b3fd31a ("arm: mm: support ARCH_MMAP_RND_BITS")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: Daniel Cashman <dcashman@xxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> ---
>
>  arch/arm/Kconfig |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff -puN arch/arm/Kconfig~arm-mm-support-arch_mmap_rnd_bits-fix arch/arm/Kconfig
> --- a/arch/arm/Kconfig~arm-mm-support-arch_mmap_rnd_bits-fix
> +++ a/arch/arm/Kconfig
> @@ -35,7 +35,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
>         select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32
> -       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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]