* Patch "s390: revert ELF_ET_DYN_BASE base changes" has been added to the 4.14-stable tree
@ 2017-12-04 10:53 gregkh
0 siblings, 0 replies; only message in thread
From: gregkh @ 2017-12-04 10:53 UTC (permalink / raw)
To: schwidefsky, gregkh; +Cc: stable, stable-commits
This is a note to let you know that I've just added the patch titled
s390: revert ELF_ET_DYN_BASE base changes
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
s390-revert-elf_et_dyn_base-base-changes.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.
>From 345f8f34bb473241d62803951c18a844dd705f8d Mon Sep 17 00:00:00 2001
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Date: Fri, 24 Nov 2017 16:23:15 +0100
Subject: s390: revert ELF_ET_DYN_BASE base changes
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
commit 345f8f34bb473241d62803951c18a844dd705f8d upstream.
This reverts commit a73dc5370e153ac63718d850bddf0c9aa9d871e6.
Reducing the base address for 31-bit PIE executables from
(STACK_TOP/3)*2 to 4MB broke several compat programs which
use -fpie to move the executable out of the lower 16MB.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/s390/include/asm/elf.h | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
--- a/arch/s390/include/asm/elf.h
+++ b/arch/s390/include/asm/elf.h
@@ -194,13 +194,14 @@ struct arch_elf_state {
#define CORE_DUMP_USE_REGSET
#define ELF_EXEC_PAGESIZE PAGE_SIZE
-/*
- * This is the base location for PIE (ET_DYN with INTERP) loads. On
- * 64-bit, this is raised to 4GB to leave the entire 32-bit address
- * space open for things that want to use the area for 32-bit pointers.
- */
-#define ELF_ET_DYN_BASE (is_compat_task() ? 0x000400000UL : \
- 0x100000000UL)
+/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
+ use of this is to invoke "./ld.so someprog" to test out a new version of
+ the loader. We need to make sure that it is out of the way of the program
+ that it will "exec", and that there is sufficient room for the brk. 64-bit
+ tasks are aligned to 4GB. */
+#define ELF_ET_DYN_BASE (is_compat_task() ? \
+ (STACK_TOP / 3 * 2) : \
+ (STACK_TOP / 3 * 2) & ~((1UL << 32) - 1))
/* This yields a mask that user programs can use to figure out what
instruction set this CPU supports. */
Patches currently in stable-queue which might be from schwidefsky@de.ibm.com are
queue-4.14/s390-revert-elf_et_dyn_base-base-changes.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-12-04 10:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-04 10:53 Patch "s390: revert ELF_ET_DYN_BASE base changes" has been added to the 4.14-stable tree gregkh
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).