diff options
Diffstat (limited to 'arch/s390/mm/fault.c')
| -rw-r--r-- | arch/s390/mm/fault.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 2650f46001d0..4d537205e83c 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c | |||
| @@ -28,6 +28,7 @@ | |||
| 28 | #include <linux/hardirq.h> | 28 | #include <linux/hardirq.h> |
| 29 | #include <linux/kprobes.h> | 29 | #include <linux/kprobes.h> |
| 30 | #include <linux/uaccess.h> | 30 | #include <linux/uaccess.h> |
| 31 | #include <linux/hugetlb.h> | ||
| 31 | #include <asm/system.h> | 32 | #include <asm/system.h> |
| 32 | #include <asm/pgtable.h> | 33 | #include <asm/pgtable.h> |
| 33 | #include <asm/s390_ext.h> | 34 | #include <asm/s390_ext.h> |
| @@ -367,6 +368,8 @@ good_area: | |||
| 367 | } | 368 | } |
| 368 | 369 | ||
| 369 | survive: | 370 | survive: |
| 371 | if (is_vm_hugetlb_page(vma)) | ||
| 372 | address &= HPAGE_MASK; | ||
| 370 | /* | 373 | /* |
| 371 | * If for any reason at all we couldn't handle the fault, | 374 | * If for any reason at all we couldn't handle the fault, |
| 372 | * make sure we exit gracefully rather than endlessly redo | 375 | * make sure we exit gracefully rather than endlessly redo |
