diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2007-10-12 10:11:45 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-10-12 10:13:09 -0400 |
commit | e39394b84156bc0822785e379977fe75a5662aad (patch) | |
tree | 0331fbe89df3327d0d0e4123ccf0cdcc6c529fc2 /include/asm-s390 | |
parent | 53a0868cb4d77dcba8e95e1033361ffdb6e510e2 (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/asm-s390')
-rw-r--r-- | include/asm-s390/pgtable.h | 13 |
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 | */ |
111 | extern unsigned long vmalloc_end; | 113 | extern 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 | /* |