projects
/
GitHub
/
mt8127
/
android_kernel_alcatel_ttab.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'v3.10.63' into update
[GitHub/mt8127/android_kernel_alcatel_ttab.git]
/
mm
/
pgtable-generic.c
diff --git
a/mm/pgtable-generic.c
b/mm/pgtable-generic.c
index 0c8323fe6c8f610b4068a2232eb4459c23f765f6..4b62a16fc3c1bd243a3d1db9067deb5b6eadc494 100644
(file)
--- a/
mm/pgtable-generic.c
+++ b/
mm/pgtable-generic.c
@@
-86,9
+86,10
@@
int pmdp_clear_flush_young(struct vm_area_struct *vma,
pte_t ptep_clear_flush(struct vm_area_struct *vma, unsigned long address,
pte_t *ptep)
{
pte_t ptep_clear_flush(struct vm_area_struct *vma, unsigned long address,
pte_t *ptep)
{
+ struct mm_struct *mm = (vma)->vm_mm;
pte_t pte;
pte_t pte;
- pte = ptep_get_and_clear(
(vma)->vm_
mm, address, ptep);
- if (pte_accessible(pte))
+ pte = ptep_get_and_clear(mm, address, ptep);
+ if (pte_accessible(
mm,
pte))
flush_tlb_page(vma, address);
return pte;
}
flush_tlb_page(vma, address);
return pte;
}
@@
-166,6
+167,9
@@
pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm)
void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address,
pmd_t *pmdp)
{
void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address,
pmd_t *pmdp)
{
+ pmd_t entry = *pmdp;
+ if (pmd_numa(entry))
+ entry = pmd_mknonnuma(entry);
set_pmd_at(vma->vm_mm, address, pmdp, pmd_mknotpresent(*pmdp));
flush_tlb_range(vma, address, address + HPAGE_PMD_SIZE);
}
set_pmd_at(vma->vm_mm, address, pmdp, pmd_mknotpresent(*pmdp));
flush_tlb_range(vma, address, address + HPAGE_PMD_SIZE);
}