Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO

AT_VECTOR_SIZE_ARCH should be defined with the maximum number of
NEW_AUX_ENT entries that ARCH_DLINFO can contain, but it wasn't defined
for MIPS at all even though ARCH_DLINFO will contain one NEW_AUX_ENT for
the VDSO address.

This shouldn't be a problem as AT_VECTOR_SIZE_BASE includes space for
AT_BASE_PLATFORM which MIPS doesn't use, but lets define it now and add
the comment above ARCH_DLINFO as found in several other architectures to
remind future modifiers of ARCH_DLINFO to keep AT_VECTOR_SIZE_ARCH up to
date.

Fixes: ebb5e78cc634 ("MIPS: Initial implementation of a VDSO")
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-arch@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/13823/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

James Hogan and committed by
Ralf Baechle
233b2ca1 7e78db99

+3
+1
arch/mips/include/asm/elf.h
··· 458 458 #define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2) 459 459 #endif 460 460 461 + /* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */ 461 462 #define ARCH_DLINFO \ 462 463 do { \ 463 464 NEW_AUX_ENT(AT_SYSINFO_EHDR, \
+2
arch/mips/include/uapi/asm/auxvec.h
··· 14 14 /* Location of VDSO image. */ 15 15 #define AT_SYSINFO_EHDR 33 16 16 17 + #define AT_VECTOR_SIZE_ARCH 1 /* entries in ARCH_DLINFO */ 18 + 17 19 #endif /* __ASM_AUXVEC_H */