aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2007-10-12 10:11:45 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-10-12 10:13:09 -0400
commite39394b84156bc0822785e379977fe75a5662aad (patch)
tree0331fbe89df3327d0d0e4123ccf0cdcc6c529fc2 /include
parent53a0868cb4d77dcba8e95e1033361ffdb6e510e2 (diff)
[S390] Make vmalloc area start at address > 4GB.
Prevent that modules get loaded at addresses below 4GB to prevent exchanging system call table entries. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'include')
-rw-r--r--include/asm-s390/pgtable.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/asm-s390/pgtable.h b/include/asm-s390/pgtable.h
index 3208dc6c412c..39bb5192dc31 100644
--- a/include/asm-s390/pgtable.h
+++ b/include/asm-s390/pgtable.h
@@ -107,11 +107,18 @@ extern char empty_zero_page[PAGE_SIZE];
107 * any out-of-bounds memory accesses will hopefully be caught. 107 * any out-of-bounds memory accesses will hopefully be caught.
108 * The vmalloc() routines leaves a hole of 4kB between each vmalloced 108 * The vmalloc() routines leaves a hole of 4kB between each vmalloced
109 * area for the same reason. ;) 109 * area for the same reason. ;)
110 * vmalloc area starts at 4GB to prevent syscall table entry exchanging
111 * from modules.
110 */ 112 */
111extern unsigned long vmalloc_end; 113extern unsigned long vmalloc_end;
112#define VMALLOC_OFFSET (8*1024*1024) 114
113#define VMALLOC_START (((unsigned long) high_memory + VMALLOC_OFFSET) \ 115#ifdef CONFIG_64BIT
114 & ~(VMALLOC_OFFSET-1)) 116#define VMALLOC_ADDR (max(0x100000000UL, (unsigned long) high_memory))
117#else
118#define VMALLOC_ADDR ((unsigned long) high_memory)
119#endif
120#define VMALLOC_OFFSET (8*1024*1024)
121#define VMALLOC_START ((VMALLOC_ADDR + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
115#define VMALLOC_END vmalloc_end 122#define VMALLOC_END vmalloc_end
116 123
117/* 124/*