Re: [PATCH 3/3] mm,generic: only flush the local TLB in ptep_set_access_flags

From: Rik van Riel
Date: Fri Oct 26 2012 - 14:55:20 EST


On 10/26/2012 02:48 PM, Linus Torvalds wrote:
On Fri, Oct 26, 2012 at 11:46 AM, Rik van Riel <riel@xxxxxxxxxx> wrote:

The function ptep_set_access_flags is only ever used to upgrade
access permissions to a page.

NOTE: It's *not* "access permissions". It's "access flags".

Big difference. This is not about permissions at all.

It looks like do_wp_page also sets the write bit in the pte
"entry" before passing it to ptep_set_access_flags, making
that the place where the write bit is set in the pte.

Is this a bug in do_wp_page?

Am I reading things wrong?

reuse:
flush_cache_page(vma, address, pte_pfn(orig_pte));
entry = pte_mkyoung(orig_pte);
entry = maybe_mkwrite(pte_mkdirty(entry), vma);
if (ptep_set_access_flags(vma, address, page_table, entry,1))
update_mmu_cache(vma, address, page_table);

--
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/