path: root/arch/s390/include/asm/elf.h
diff options
authorMartin Schwidefsky <>2015-01-14 17:51:17 +0100
committerMartin Schwidefsky <>2015-01-22 12:15:59 +0100
commit1f6b83e5e4d3aed46eac1d219322fba9c7341cd8 (patch)
treea7839cd769ec8637746d5e20a7eb7117373caaf0 /arch/s390/include/asm/elf.h
parentf8b2dcbd9e6d1479b9b5a9e9e78bbaf783bde819 (diff)
s390: avoid z13 cache aliasing
Avoid cache aliasing on z13 by aligning shared objects to multiples of 512K. The virtual addresses of a page from a shared file needs to have identical bits in the range 2^12 to 2^18. Signed-off-by: Martin Schwidefsky <>
Diffstat (limited to 'arch/s390/include/asm/elf.h')
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h
index f6e43d39e3d8..c9df40b5c0ac 100644
--- a/arch/s390/include/asm/elf.h
+++ b/arch/s390/include/asm/elf.h
@@ -163,8 +163,8 @@ extern unsigned int vdso_enabled;
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. */
-extern unsigned long randomize_et_dyn(unsigned long base);
-#define ELF_ET_DYN_BASE (randomize_et_dyn(STACK_TOP / 3 * 2))
+extern unsigned long randomize_et_dyn(void);
+#define ELF_ET_DYN_BASE randomize_et_dyn()
/* This yields a mask that user programs can use to figure out what
instruction set this CPU supports. */
@@ -209,7 +209,9 @@ do { \
} while (0)
#endif /* CONFIG_COMPAT */
-#define STACK_RND_MASK 0x7ffUL
+extern unsigned long mmap_rnd_mask;
+#define STACK_RND_MASK (mmap_rnd_mask)
#define ARCH_DLINFO \
do { \