mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
x86, mm: fix gup_pte_range() vs DAX mappings
am: 91cdd9d796
Change-Id: I925fe226ea09b4a0b2f1ec5eac509c1bf55f18f0
This commit is contained in:
@@ -120,6 +120,11 @@ static noinline int gup_pte_range(pmd_t pmd, unsigned long addr,
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!pte_allows_gup(pte_val(pte), write)) {
|
||||
pte_unmap(ptep);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (pte_devmap(pte)) {
|
||||
pgmap = get_dev_pagemap(pte_pfn(pte), pgmap);
|
||||
if (unlikely(!pgmap)) {
|
||||
@@ -127,8 +132,7 @@ static noinline int gup_pte_range(pmd_t pmd, unsigned long addr,
|
||||
pte_unmap(ptep);
|
||||
return 0;
|
||||
}
|
||||
} else if (!pte_allows_gup(pte_val(pte), write) ||
|
||||
pte_special(pte)) {
|
||||
} else if (pte_special(pte)) {
|
||||
pte_unmap(ptep);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user