diff options
Diffstat (limited to 'arch/s390/mm')
-rw-r--r-- | arch/s390/mm/pgtable.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c index 796c9320c709..5d8324cd866b 100644 --- a/arch/s390/mm/pgtable.c +++ b/arch/s390/mm/pgtable.c | |||
@@ -505,6 +505,9 @@ static int gmap_connect_pgtable(unsigned long address, unsigned long segment, | |||
505 | if (!pmd_present(*pmd) && | 505 | if (!pmd_present(*pmd) && |
506 | __pte_alloc(mm, vma, pmd, vmaddr)) | 506 | __pte_alloc(mm, vma, pmd, vmaddr)) |
507 | return -ENOMEM; | 507 | return -ENOMEM; |
508 | /* large pmds cannot yet be handled */ | ||
509 | if (pmd_large(*pmd)) | ||
510 | return -EFAULT; | ||
508 | /* pmd now points to a valid segment table entry. */ | 511 | /* pmd now points to a valid segment table entry. */ |
509 | rmap = kmalloc(sizeof(*rmap), GFP_KERNEL|__GFP_REPEAT); | 512 | rmap = kmalloc(sizeof(*rmap), GFP_KERNEL|__GFP_REPEAT); |
510 | if (!rmap) | 513 | if (!rmap) |