diff options
author | Alex Shi | 2017-04-08 23:01:24 -0500 |
---|---|---|
committer | Alex Shi | 2017-04-08 23:01:24 -0500 |
commit | af15ae47855e0f0e0172f912ae38d1c50f7fe27f (patch) | |
tree | 0ae3148a3a83200bdbf799a54f3dd4c1b0f911d2 /mm | |
parent | e3f0f47b3247686dbac196937c85159743159b8a (diff) | |
parent | 8f8ee9706b0a64a3506b9d9789ace7c44f3d817d (diff) | |
download | kernel-omap-af15ae47855e0f0e0172f912ae38d1c50f7fe27f.tar.gz kernel-omap-af15ae47855e0f0e0172f912ae38d1c50f7fe27f.tar.xz kernel-omap-af15ae47855e0f0e0172f912ae38d1c50f7fe27f.zip |
Merge tag 'v4.4.60' into linux-linaro-lsk-v4.4
This is the 4.4.60 stable release
Diffstat (limited to 'mm')
-rw-r--r-- | mm/hugetlb.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index ea11123a9249..7294301d8495 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c | |||
@@ -4362,6 +4362,7 @@ follow_huge_pmd(struct mm_struct *mm, unsigned long address, | |||
4362 | { | 4362 | { |
4363 | struct page *page = NULL; | 4363 | struct page *page = NULL; |
4364 | spinlock_t *ptl; | 4364 | spinlock_t *ptl; |
4365 | pte_t pte; | ||
4365 | retry: | 4366 | retry: |
4366 | ptl = pmd_lockptr(mm, pmd); | 4367 | ptl = pmd_lockptr(mm, pmd); |
4367 | spin_lock(ptl); | 4368 | spin_lock(ptl); |
@@ -4371,12 +4372,13 @@ retry: | |||
4371 | */ | 4372 | */ |
4372 | if (!pmd_huge(*pmd)) | 4373 | if (!pmd_huge(*pmd)) |
4373 | goto out; | 4374 | goto out; |
4374 | if (pmd_present(*pmd)) { | 4375 | pte = huge_ptep_get((pte_t *)pmd); |
4376 | if (pte_present(pte)) { | ||
4375 | page = pmd_page(*pmd) + ((address & ~PMD_MASK) >> PAGE_SHIFT); | 4377 | page = pmd_page(*pmd) + ((address & ~PMD_MASK) >> PAGE_SHIFT); |
4376 | if (flags & FOLL_GET) | 4378 | if (flags & FOLL_GET) |
4377 | get_page(page); | 4379 | get_page(page); |
4378 | } else { | 4380 | } else { |
4379 | if (is_hugetlb_entry_migration(huge_ptep_get((pte_t *)pmd))) { | 4381 | if (is_hugetlb_entry_migration(pte)) { |
4380 | spin_unlock(ptl); | 4382 | spin_unlock(ptl); |
4381 | __migration_entry_wait(mm, (pte_t *)pmd, ptl); | 4383 | __migration_entry_wait(mm, (pte_t *)pmd, ptl); |
4382 | goto retry; | 4384 | goto retry; |