Re: [PATCH 2.6.15-rc3] Fix missing pfn variables caused by vm changes

From: Russell King
Date: Wed Nov 30 2005 - 08:58:09 EST


On Tue, Nov 29, 2005 at 11:45:26AM -0800, Ben Collins wrote:
> 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.

This also fixes ARM, thanks.

Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>

> diff --git a/mm/memory.c b/mm/memory.c
> index 6c1eac9..74839b3 100644
> --- a/mm/memory.c
> +++ b/mm/memory.c
> @@ -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);
> diff --git a/mm/rmap.c b/mm/rmap.c
> index 491ac35..f853c6d 100644
> --- a/mm/rmap.c
> +++ b/mm/rmap.c
> @@ -641,7 +641,7 @@ static void try_to_unmap_cluster(unsigne
> continue;
>
> /* 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. */
>

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/