aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/mm/gmap.c
diff options
context:
space:
mode:
authorGerald Schaefer <gerald.schaefer@de.ibm.com>2016-07-04 14:47:01 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2016-07-06 08:46:43 +0200
commitd08de8e2d86744f91d9d5d57c56ca2b6e33bf6ec (patch)
tree2bcf0bcb5ec30e48eb82fbc7e3a216cab8671f04 /arch/s390/mm/gmap.c
parents390: have unique symbol for __switch_to address (diff)
downloadlinux-dev-d08de8e2d86744f91d9d5d57c56ca2b6e33bf6ec.tar.xz
linux-dev-d08de8e2d86744f91d9d5d57c56ca2b6e33bf6ec.zip
s390/mm: add support for 2GB hugepages
This adds support for 2GB hugetlbfs pages on s390. Reviewed-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/mm/gmap.c')
-rw-r--r--arch/s390/mm/gmap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
index cace818d86eb..69466f6055c2 100644
--- a/arch/s390/mm/gmap.c
+++ b/arch/s390/mm/gmap.c
@@ -430,6 +430,9 @@ int __gmap_link(struct gmap *gmap, unsigned long gaddr, unsigned long vmaddr)
VM_BUG_ON(pgd_none(*pgd));
pud = pud_offset(pgd, vmaddr);
VM_BUG_ON(pud_none(*pud));
+ /* large puds cannot yet be handled */
+ if (pud_large(*pud))
+ return -EFAULT;
pmd = pmd_offset(pud, vmaddr);
VM_BUG_ON(pmd_none(*pmd));
/* large pmds cannot yet be handled */