Fix missing pfn variables caused by vm changes
Subsystems (3)
PATCH 1/1 Fix missing pfn variables caused by vm changes
I image this showed up because of "unused var..." when the changes occured, because flush_cache_page() is a noop in most places. This showed up for me on parisc however, where flush_cache_page() is a real function.
mm/memory.c +2 -2
@@ -1345,7 +1345,7 @@ static int do_wp_page(struct mm_struct *int reuse =can_share_swap_page (old_page);unlock_page (old_page);if (reuse) { -flush_cache_page (vma, address, pfn); +flush_cache_page (vma, address,pte_pfn (orig_pte)); entry =pte_mkyoung (orig_pte); entry =maybe_mkwrite (pte_mkdirty (entry), vma);ptep_set_access_flags (vma, address, page_table, entry,1 );
@@ -1389,7 +1389,7 @@ gotten: } }else inc_mm_counter (mm, anon_rss); -flush_cache_page (vma, address, pfn); +flush_cache_page (vma, address,pte_pfn (orig_pte)); entry =mk_pte (new_page, vma->vm_page_prot); entry =maybe_mkwrite (pte_mkdirty (entry), vma);ptep_establish (vma, address, page_table, entry);
mm/rmap.c +1 -1
@@ -641,7 +641,7 @@ static void try_to_unmap_cluster(unsignecontinue ;/* Nuke the page table entry. */ -flush_cache_page (vma, address, pfn); +flush_cache_page (vma, address,pte_pfn (*pte)); pteval =ptep_clear_flush (vma, address, pte);/* If nonlinear, store the file page offset in the pte. */
Signature · 4 lines
Ubuntu - http://www.ubuntu.com/ Debian - http://www.debian.org/ Linux 1394 - http://www.linux1394.org/ SwissDisk - http://www.swissdisk.com/
Quoted 3 lines · Ben Collins
I image this showed up because of "unused var..." when the changes occured, because
flush_cache_page()is a noop in most places. This showed up for me on parisc however, whereflush_cache_page()is a real function.
This also fixes ARM, thanks.
Acked-by Russell King <[email protected]>
Quoted 36 lines
mm/memory.c +2
-2@@ -1345,7 +1345,7 @@ static int do_wp_page(struct mm_struct *int reuse =can_share_swap_page (old_page);unlock_page (old_page);if (reuse) { -flush_cache_page (vma, address, pfn); +flush_cache_page (vma, address,pte_pfn (orig_pte)); entry =pte_mkyoung (orig_pte); entry =maybe_mkwrite (pte_mkdirty (entry), vma);ptep_set_access_flags (vma, address, page_table, entry,1 );@@ -1389,7 +1389,7 @@ gotten: } }else inc_mm_counter (mm, anon_rss); -flush_cache_page (vma, address, pfn); +flush_cache_page (vma, address,pte_pfn (orig_pte)); entry =mk_pte (new_page, vma->vm_page_prot); entry =maybe_mkwrite (pte_mkdirty (entry), vma);ptep_establish (vma, address, page_table, entry);mm/rmap.c +1
-1@@ -641,7 +641,7 @@ static void try_to_unmap_cluster(unsignecontinue ;/* Nuke the page table entry. */ -flush_cache_page (vma, address, pfn); +flush_cache_page (vma, address,pte_pfn (*pte)); pteval =ptep_clear_flush (vma, address, pte);/* If nonlinear, store the file page offset in the pte. */
Signature · 3 lines
Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: 2.6 Serial core