[PATCH] mm/hugetlb.c: check the failure case for find_vma

From: Navid Emamdoost
Date: Wed Jul 24 2019 - 21:40:55 EST


find_vma may fail and return NULL. The null check is added.

Signed-off-by: Navid Emamdoost <navid.emamdoost@xxxxxxxxx>
---
mm/hugetlb.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index ede7e7f5d1ab..9c5e8b7a6476 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -4743,6 +4743,9 @@ void adjust_range_if_pmd_sharing_possible(struct vm_area_struct *vma,
pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
{
struct vm_area_struct *vma = find_vma(mm, addr);
+ if (!vma)
+ return (pte_t *)pmd_alloc(mm, pud, addr);
+
struct address_space *mapping = vma->vm_file->f_mapping;
pgoff_t idx = ((addr - vma->vm_start) >> PAGE_SHIFT) +
vma->vm_pgoff;
--
2.17.1