|
@@ -169,12 +169,12 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0,
|
|
|
|
|
|
int s390_mmap_check(unsigned long addr, unsigned long len, unsigned long flags)
|
|
int s390_mmap_check(unsigned long addr, unsigned long len, unsigned long flags)
|
|
{
|
|
{
|
|
- if (is_compat_task() || (TASK_SIZE >= (1UL << 53)))
|
|
|
|
|
|
+ if (is_compat_task() || TASK_SIZE >= TASK_MAX_SIZE)
|
|
return 0;
|
|
return 0;
|
|
if (!(flags & MAP_FIXED))
|
|
if (!(flags & MAP_FIXED))
|
|
addr = 0;
|
|
addr = 0;
|
|
if ((addr + len) >= TASK_SIZE)
|
|
if ((addr + len) >= TASK_SIZE)
|
|
- return crst_table_upgrade(current->mm, 1UL << 53);
|
|
|
|
|
|
+ return crst_table_upgrade(current->mm, TASK_MAX_SIZE);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -189,9 +189,9 @@ s390_get_unmapped_area(struct file *filp, unsigned long addr,
|
|
area = arch_get_unmapped_area(filp, addr, len, pgoff, flags);
|
|
area = arch_get_unmapped_area(filp, addr, len, pgoff, flags);
|
|
if (!(area & ~PAGE_MASK))
|
|
if (!(area & ~PAGE_MASK))
|
|
return area;
|
|
return area;
|
|
- if (area == -ENOMEM && !is_compat_task() && TASK_SIZE < (1UL << 53)) {
|
|
|
|
|
|
+ if (area == -ENOMEM && !is_compat_task() && TASK_SIZE < TASK_MAX_SIZE) {
|
|
/* Upgrade the page table to 4 levels and retry. */
|
|
/* Upgrade the page table to 4 levels and retry. */
|
|
- rc = crst_table_upgrade(mm, 1UL << 53);
|
|
|
|
|
|
+ rc = crst_table_upgrade(mm, TASK_MAX_SIZE);
|
|
if (rc)
|
|
if (rc)
|
|
return (unsigned long) rc;
|
|
return (unsigned long) rc;
|
|
area = arch_get_unmapped_area(filp, addr, len, pgoff, flags);
|
|
area = arch_get_unmapped_area(filp, addr, len, pgoff, flags);
|
|
@@ -211,9 +211,9 @@ s390_get_unmapped_area_topdown(struct file *filp, const unsigned long addr,
|
|
area = arch_get_unmapped_area_topdown(filp, addr, len, pgoff, flags);
|
|
area = arch_get_unmapped_area_topdown(filp, addr, len, pgoff, flags);
|
|
if (!(area & ~PAGE_MASK))
|
|
if (!(area & ~PAGE_MASK))
|
|
return area;
|
|
return area;
|
|
- if (area == -ENOMEM && !is_compat_task() && TASK_SIZE < (1UL << 53)) {
|
|
|
|
|
|
+ if (area == -ENOMEM && !is_compat_task() && TASK_SIZE < TASK_MAX_SIZE) {
|
|
/* Upgrade the page table to 4 levels and retry. */
|
|
/* Upgrade the page table to 4 levels and retry. */
|
|
- rc = crst_table_upgrade(mm, 1UL << 53);
|
|
|
|
|
|
+ rc = crst_table_upgrade(mm, TASK_MAX_SIZE);
|
|
if (rc)
|
|
if (rc)
|
|
return (unsigned long) rc;
|
|
return (unsigned long) rc;
|
|
area = arch_get_unmapped_area_topdown(filp, addr, len,
|
|
area = arch_get_unmapped_area_topdown(filp, addr, len,
|