diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-03-18 13:27:37 +0100 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-03-18 13:28:13 +0100 |
commit | 0fb1d9bcbcf701a45835aa150c57ca54ea685bfa (patch) | |
tree | a2821e3d10918d4b76e6329da42a45cfbb9f19cd /arch/s390/include/asm/mman.h | |
parent | [S390] make page table walking more robust (diff) | |
download | linux-0fb1d9bcbcf701a45835aa150c57ca54ea685bfa.tar.xz linux-0fb1d9bcbcf701a45835aa150c57ca54ea685bfa.zip |
[S390] make page table upgrade work again
After TASK_SIZE now gives the current size of the address space the
upgrade of a 64 bit process from 3 to 4 levels of page table needs
to use the arch_mmap_check hook to catch large mmap lengths. The
get_unmapped_area* functions need to check for -ENOMEM from the
arch_get_unmapped_area*, upgrade the page table and retry.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/mman.h')
-rw-r--r-- | arch/s390/include/asm/mman.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/s390/include/asm/mman.h b/arch/s390/include/asm/mman.h index 7839767d837e..da01432e8f44 100644 --- a/arch/s390/include/asm/mman.h +++ b/arch/s390/include/asm/mman.h @@ -22,4 +22,9 @@ #define MCL_CURRENT 1 /* lock all current mappings */ #define MCL_FUTURE 2 /* lock all future mappings */ +#if defined(__KERNEL__) && !defined(__ASSEMBLY__) && defined(CONFIG_64BIT) +int s390_mmap_check(unsigned long addr, unsigned long len); +#define arch_mmap_check(addr,len,flags) s390_mmap_check(addr,len) +#endif + #endif /* __S390_MMAN_H__ */ |