Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9d7ab97 authored by Dominik Dingel's avatar Dominik Dingel Committed by Martin Schwidefsky
Browse files

s390/mm: use TASK_MAX_SIZE where applicable



To improve readability we can use TASK_MAX_SIZE when we just check for the
upper limit.  All places explicitly dealing with 3 vs 4 level pgtables
were left unchanged.

Signed-off-by: default avatarDominik Dingel <dingel@linux.vnet.ibm.com>
Reviewed-By: default avatarSascha Silbe <silbe@linux.vnet.ibm.com>
parent a200dcb3
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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)
{
	if (is_compat_task() || (TASK_SIZE >= (1UL << 53)))
	if (is_compat_task() || TASK_SIZE >= TASK_MAX_SIZE)
		return 0;
	if (!(flags & MAP_FIXED))
		addr = 0;
	if ((addr + len) >= TASK_SIZE)
		return crst_table_upgrade(current->mm, 1UL << 53);
		return crst_table_upgrade(current->mm, TASK_MAX_SIZE);
	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);
	if (!(area & ~PAGE_MASK))
		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. */
		rc = crst_table_upgrade(mm, 1UL << 53);
		rc = crst_table_upgrade(mm, TASK_MAX_SIZE);
		if (rc)
			return (unsigned long) rc;
		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);
	if (!(area & ~PAGE_MASK))
		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. */
		rc = crst_table_upgrade(mm, 1UL << 53);
		rc = crst_table_upgrade(mm, TASK_MAX_SIZE);
		if (rc)
			return (unsigned long) rc;
		area = arch_get_unmapped_area_topdown(filp, addr, len,
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ int crst_table_upgrade(struct mm_struct *mm, unsigned long limit)
	unsigned long entry;
	int flush;

	BUG_ON(limit > (1UL << 53));
	BUG_ON(limit > TASK_MAX_SIZE);
	flush = 0;
repeat:
	table = crst_table_alloc(mm);