diff options
-rw-r--r-- | arch/s390/include/asm/processor.h | 2 | ||||
-rw-r--r-- | arch/s390/mm/pgtable.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h index 6b499870662f..83c85c217f5c 100644 --- a/arch/s390/include/asm/processor.h +++ b/arch/s390/include/asm/processor.h | |||
@@ -43,6 +43,7 @@ extern void execve_tail(void); | |||
43 | #ifndef CONFIG_64BIT | 43 | #ifndef CONFIG_64BIT |
44 | 44 | ||
45 | #define TASK_SIZE (1UL << 31) | 45 | #define TASK_SIZE (1UL << 31) |
46 | #define TASK_MAX_SIZE (1UL << 31) | ||
46 | #define TASK_UNMAPPED_BASE (1UL << 30) | 47 | #define TASK_UNMAPPED_BASE (1UL << 30) |
47 | 48 | ||
48 | #else /* CONFIG_64BIT */ | 49 | #else /* CONFIG_64BIT */ |
@@ -51,6 +52,7 @@ extern void execve_tail(void); | |||
51 | #define TASK_UNMAPPED_BASE (test_thread_flag(TIF_31BIT) ? \ | 52 | #define TASK_UNMAPPED_BASE (test_thread_flag(TIF_31BIT) ? \ |
52 | (1UL << 30) : (1UL << 41)) | 53 | (1UL << 30) : (1UL << 41)) |
53 | #define TASK_SIZE TASK_SIZE_OF(current) | 54 | #define TASK_SIZE TASK_SIZE_OF(current) |
55 | #define TASK_MAX_SIZE (1UL << 53) | ||
54 | 56 | ||
55 | #endif /* CONFIG_64BIT */ | 57 | #endif /* CONFIG_64BIT */ |
56 | 58 | ||
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c index 6d332487f363..967d0bf1c059 100644 --- a/arch/s390/mm/pgtable.c +++ b/arch/s390/mm/pgtable.c | |||
@@ -335,7 +335,7 @@ int gmap_map_segment(struct gmap *gmap, unsigned long from, | |||
335 | 335 | ||
336 | if ((from | to | len) & (PMD_SIZE - 1)) | 336 | if ((from | to | len) & (PMD_SIZE - 1)) |
337 | return -EINVAL; | 337 | return -EINVAL; |
338 | if (len == 0 || from + len > PGDIR_SIZE || | 338 | if (len == 0 || from + len > TASK_MAX_SIZE || |
339 | from + len < from || to + len < to) | 339 | from + len < from || to + len < to) |
340 | return -EINVAL; | 340 | return -EINVAL; |
341 | 341 | ||