* [PATCH 0/5] Define AT_VECTOR_SIZE_ARCH correctly
@ 2016-07-25 15:59 James Hogan
2016-07-25 15:59 ` [PATCH 4/5] s390: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO James Hogan
0 siblings, 1 reply; 3+ messages in thread
From: James Hogan @ 2016-07-25 15:59 UTC (permalink / raw)
To: linux-arch
Cc: linux-kernel, James Hogan, Ralf Baechle, Russell King,
Nathan Lynch, Catalin Marinas, Will Deacon, Martin Schwidefsky,
Heiko Carstens, Chris Metcalf, Jeff Dike, Richard Weinberger,
linux-mips, linux-arm-kernel, linux-s390, user-mode-linux-devel
Several architectures define ARCH_DLINFO to [sometimes] contain
NEW_AUX_ENT entries, but don't define AT_VECTOR_SIZE_ARCH with the
corresponding maximum number of NEW_AUX_ENT entries.
In practice this doesn't cause any problems as AT_VECTOR_SIZE_BASE
includes space for AT_BASE_PLATFORM which none of these arches use, but
nevertheless 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.
Arch maintainers, please take via your own trees if you're happy to do
so.
- I haven't included an update for x86/um as it doesn't follow the same
pattern as other architectures so it is unclear to me whether it has
the same issue.
- Build tested on MIPS, ARM & tile.
- Tested on MIPS.
James Hogan (5):
MIPS: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
ARM: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
arm64: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
s390: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
tile: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
arch/arm/include/asm/elf.h | 1 +
arch/arm/include/uapi/asm/auxvec.h | 2 ++
arch/arm64/include/asm/elf.h | 1 +
arch/arm64/include/uapi/asm/auxvec.h | 2 ++
arch/mips/include/asm/elf.h | 1 +
arch/mips/include/uapi/asm/auxvec.h | 2 ++
arch/s390/include/asm/elf.h | 1 +
arch/s390/include/uapi/asm/auxvec.h | 2 ++
arch/tile/include/asm/elf.h | 1 +
arch/tile/include/uapi/asm/auxvec.h | 2 ++
10 files changed, 15 insertions(+)
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Nathan Lynch <nathan_lynch@mentor.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Chris Metcalf <cmetcalf@mellanox.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: linux-mips@linux-mips.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-s390@vger.kernel.org
Cc: user-mode-linux-devel@lists.sourceforge.net
--
2.4.10
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 4/5] s390: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
2016-07-25 15:59 [PATCH 0/5] Define AT_VECTOR_SIZE_ARCH correctly James Hogan
@ 2016-07-25 15:59 ` James Hogan
2016-07-31 12:23 ` Martin Schwidefsky
0 siblings, 1 reply; 3+ messages in thread
From: James Hogan @ 2016-07-25 15:59 UTC (permalink / raw)
To: linux-arch
Cc: linux-kernel, James Hogan, Martin Schwidefsky, Heiko Carstens,
linux-s390
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 s390 at all even though ARCH_DLINFO can contain one NEW_AUX_ENT when
VDSO is enabled.
This shouldn't be a problem as AT_VECTOR_SIZE_BASE includes space for
AT_BASE_PLATFORM which s390 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: b020632e40c3 ("[S390] introduce vdso on s390")
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux-s390@vger.kernel.org
---
arch/s390/include/asm/elf.h | 1 +
arch/s390/include/uapi/asm/auxvec.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h
index 563ab9f44874..1736c7d3c94c 100644
--- a/arch/s390/include/asm/elf.h
+++ b/arch/s390/include/asm/elf.h
@@ -225,6 +225,7 @@ do { \
#define MMAP_ALIGN_MASK (is_compat_task() ? 0 : 0x7fUL)
#define STACK_RND_MASK MMAP_RND_MASK
+/* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */
#define ARCH_DLINFO \
do { \
if (vdso_enabled) \
diff --git a/arch/s390/include/uapi/asm/auxvec.h b/arch/s390/include/uapi/asm/auxvec.h
index a1f153e89133..c53e08442255 100644
--- a/arch/s390/include/uapi/asm/auxvec.h
+++ b/arch/s390/include/uapi/asm/auxvec.h
@@ -3,4 +3,6 @@
#define AT_SYSINFO_EHDR 33
+#define AT_VECTOR_SIZE_ARCH 1 /* entries in ARCH_DLINFO */
+
#endif
--
2.4.10
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 4/5] s390: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
2016-07-25 15:59 ` [PATCH 4/5] s390: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO James Hogan
@ 2016-07-31 12:23 ` Martin Schwidefsky
0 siblings, 0 replies; 3+ messages in thread
From: Martin Schwidefsky @ 2016-07-31 12:23 UTC (permalink / raw)
To: James Hogan; +Cc: linux-arch, linux-kernel, Heiko Carstens, linux-s390
On Mon, 25 Jul 2016 16:59:53 +0100
James Hogan <james.hogan@imgtec.com> wrote:
> 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 s390 at all even though ARCH_DLINFO can contain one NEW_AUX_ENT when
> VDSO is enabled.
>
> This shouldn't be a problem as AT_VECTOR_SIZE_BASE includes space for
> AT_BASE_PLATFORM which s390 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: b020632e40c3 ("[S390] introduce vdso on s390")
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
> Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
> Cc: linux-s390@vger.kernel.org
The patch makes sense. I not quite sure about the checkpoint-restore code
that clears the last two entries of the user_auxv[] without knowing how
many aux entries there really are. That seems kind of strange.
I will the patch to our repositories and we'll give it a spin. If there
is no fallout I queue it to linux-s390.
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-07-31 12:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-25 15:59 [PATCH 0/5] Define AT_VECTOR_SIZE_ARCH correctly James Hogan
2016-07-25 15:59 ` [PATCH 4/5] s390: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO James Hogan
2016-07-31 12:23 ` Martin Schwidefsky
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).