Commit d8814650 authored by Linus Torvalds's avatar Linus Torvalds

Make the pte unmapping atomic wrt other threads.

parent d4c64640
...@@ -343,8 +343,7 @@ static void zap_pte_range(mmu_gather_t *tlb, pmd_t * pmd, unsigned long address, ...@@ -343,8 +343,7 @@ static void zap_pte_range(mmu_gather_t *tlb, pmd_t * pmd, unsigned long address,
if (pte_present(pte)) { if (pte_present(pte)) {
unsigned long pfn = pte_pfn(pte); unsigned long pfn = pte_pfn(pte);
pte_clear(ptep); pte = ptep_get_and_clear(ptep);
pfn = pte_pfn(pte);
tlb_remove_tlb_entry(tlb, pte, address+offset); tlb_remove_tlb_entry(tlb, pte, address+offset);
if (pfn_valid(pfn)) { if (pfn_valid(pfn)) {
struct page *page = pfn_to_page(pfn); struct page *page = pfn_to_page(pfn);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment