diff options
| -rw-r--r-- | arch/s390/mm/mmap.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c index 2e10d2b8ad35..5bea139517a2 100644 --- a/arch/s390/mm/mmap.c +++ b/arch/s390/mm/mmap.c | |||
| @@ -119,7 +119,8 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, | |||
| 119 | return addr; | 119 | return addr; |
| 120 | 120 | ||
| 121 | check_asce_limit: | 121 | check_asce_limit: |
| 122 | if (addr + len > current->mm->context.asce_limit) { | 122 | if (addr + len > current->mm->context.asce_limit && |
| 123 | addr + len <= TASK_SIZE) { | ||
| 123 | rc = crst_table_upgrade(mm, addr + len); | 124 | rc = crst_table_upgrade(mm, addr + len); |
| 124 | if (rc) | 125 | if (rc) |
| 125 | return (unsigned long) rc; | 126 | return (unsigned long) rc; |
| @@ -183,7 +184,8 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, | |||
| 183 | } | 184 | } |
| 184 | 185 | ||
| 185 | check_asce_limit: | 186 | check_asce_limit: |
| 186 | if (addr + len > current->mm->context.asce_limit) { | 187 | if (addr + len > current->mm->context.asce_limit && |
| 188 | addr + len <= TASK_SIZE) { | ||
| 187 | rc = crst_table_upgrade(mm, addr + len); | 189 | rc = crst_table_upgrade(mm, addr + len); |
| 188 | if (rc) | 190 | if (rc) |
| 189 | return (unsigned long) rc; | 191 | return (unsigned long) rc; |
