diff options
Diffstat (limited to 'arch/powerpc/mm/hugetlbpage.c')
-rw-r--r-- | arch/powerpc/mm/hugetlbpage.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index a117024ab8cd..f0c3b88d50fa 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
@@ -507,6 +507,9 @@ unsigned long hugetlb_get_unmapped_area(struct file *file, unsigned long addr, | |||
507 | { | 507 | { |
508 | struct hstate *hstate = hstate_file(file); | 508 | struct hstate *hstate = hstate_file(file); |
509 | int mmu_psize = shift_to_mmu_psize(huge_page_shift(hstate)); | 509 | int mmu_psize = shift_to_mmu_psize(huge_page_shift(hstate)); |
510 | |||
511 | if (!mmu_huge_psizes[mmu_psize]) | ||
512 | return -EINVAL; | ||
510 | return slice_get_unmapped_area(addr, len, flags, mmu_psize, 1, 0); | 513 | return slice_get_unmapped_area(addr, len, flags, mmu_psize, 1, 0); |
511 | } | 514 | } |
512 | 515 | ||
@@ -677,7 +680,7 @@ repeat: | |||
677 | return err; | 680 | return err; |
678 | } | 681 | } |
679 | 682 | ||
680 | void set_huge_psize(int psize) | 683 | static void __init set_huge_psize(int psize) |
681 | { | 684 | { |
682 | /* Check that it is a page size supported by the hardware and | 685 | /* Check that it is a page size supported by the hardware and |
683 | * that it fits within pagetable limits. */ | 686 | * that it fits within pagetable limits. */ |