Re: [PATCH -mmotm] arm64: fix build for MAX_USER_VA_BITS

From: Andrew Morton
Date: Thu Dec 27 2018 - 22:12:02 EST


On Mon, 24 Dec 2018 16:03:12 -0500 Qian Cai <cai@xxxxxx> wrote:

> Some code in 9b31cf493ff was lost during merging into the -mmotm tree
> for some reasons,
>
> In file included from ./arch/arm64/include/asm/processor.h:46,
> from ./include/linux/rcupdate.h:43,
> from ./include/linux/rculist.h:11,
> from ./include/linux/pid.h:5,
> from ./include/linux/sched.h:14,
> from arch/arm64/kernel/asm-offsets.c:22:
> ./arch/arm64/include/asm/pgtable-hwdef.h:83:30: error:
> 'MAX_USER_VA_BITS' undeclared here (not in a function); did you mean
> 'MAX_USER_PRIO'?
> #define PTRS_PER_PGD (1 << (MAX_USER_VA_BITS - PGDIR_SHIFT))
> ^~~~~~~~~~~~~~~~
> ./arch/arm64/include/asm/pgtable.h:442:26: note: in expansion of macro
> 'PTRS_PER_PGD'
> extern pgd_t init_pg_dir[PTRS_PER_PGD];
>
> ...
>
> --- a/arch/arm64/include/asm/memory.h
> +++ b/arch/arm64/include/asm/memory.h
> @@ -67,6 +67,12 @@
> #define KERNEL_START _text
> #define KERNEL_END _end
>
> +#ifdef CONFIG_ARM64_USER_VA_BITS_52
> +#define MAX_USER_VA_BITS 52
> +#else
> +#define MAX_USER_VA_BITS VA_BITS
> +#endif
> +
> /*
> * Generic and tag-based KASAN require 1/8th and 1/16th of the kernel virtual
> * address space for the shadow region respectively. They can bloat the stack

hm, that was presumably me getting lost in a maze of rejects. It seems
OK now.