diff options
Diffstat (limited to 'mm/hugetlb.c')
| -rw-r--r-- | mm/hugetlb.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 2dbec90dc3ba..a088f593a807 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c | |||
| @@ -478,6 +478,9 @@ int hugetlb_no_page(struct mm_struct *mm, struct vm_area_struct *vma, | |||
| 478 | retry: | 478 | retry: |
| 479 | page = find_lock_page(mapping, idx); | 479 | page = find_lock_page(mapping, idx); |
| 480 | if (!page) { | 480 | if (!page) { |
| 481 | size = i_size_read(mapping->host) >> HPAGE_SHIFT; | ||
| 482 | if (idx >= size) | ||
| 483 | goto out; | ||
| 481 | if (hugetlb_get_quota(mapping)) | 484 | if (hugetlb_get_quota(mapping)) |
| 482 | goto out; | 485 | goto out; |
| 483 | page = alloc_huge_page(vma, address); | 486 | page = alloc_huge_page(vma, address); |
