[PATCH 0/2] Introduce PTE_WRITE for arm64

Steve Capper steve.capper at arm.com
Wed Jan 15 09:07:11 EST 2014


This series adds support for a separate PTE_WRITE bit, allowing one to
distinguish between writable clean ptes and read only ptes. At the
moment we have the following bit encodings:

                                PTE_DIRTY       PTE_RDONLY
!pte_dirty && !pte_write        0               1
!pte_dirty && pte_write         0               1
pte_dirty && !pte_write         1               1
pte_dirty && pte_write          1               0

One reason we need to add the distinction is to fix a problem with huge
pages, described here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-November/215155.html

The patch in the link above attempts to address this issue by bypassing
set_pte_at in the huge page code, but it was decided that the lack of
distinction between writable clean ptes and read only ptes should be
addressed instead as it could likely lead to other issues that we've
not yet seen.

The first patch in the series expands out PTE_BIT_FUNC to make life
much easier for cscope and tags users. Whilst the second patch actually
introduces PTE_WRITE.

LPAE on ARM is also affected by this issue and will need a similar
patch.
 
Steve Capper (2):
  arm64: mm: Remove PTE_BIT_FUNC macro
  arm64: mm: Introduce PTE_WRITE

 arch/arm64/include/asm/pgtable.h | 93 +++++++++++++++++++++++++++-------------
 1 file changed, 63 insertions(+), 30 deletions(-)

-- 
1.8.1.4





More information about the linux-arm-kernel mailing list