ARM: mm: correct pte_same behaviour for LPAE.
authorSteve Capper <steve.capper@linaro.org>
Fri, 17 May 2013 11:32:55 +0000 (12:32 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Thu, 2 Oct 2014 18:24:58 +0000 (20:24 +0200)
commit6ea0cfc5fd25e82d2bdb101cff47c86c30200927
treea256169d239a186e9522525eb36de4b64aa68abf
parent8bb495e3f02401ee6f76d1b1d77f3ac9f079e376
ARM: mm: correct pte_same behaviour for LPAE.

For 3 levels of paging the PTE_EXT_NG bit will be set for user
address ptes that are written to a page table but not for ptes
created with mk_pte.

This can cause some comparison tests made by pte_same to fail
spuriously and lead to other problems.

To correct this behaviour, we mask off PTE_EXT_NG for any pte that
is present before running the comparison.

Signed-off-by: Steve Capper <steve.capper@linaro.org>
Reviewed-by: Will Deacon <will.deacon@arm.com>
(cherry picked from commit dde1b65110353517816bcbc58539463396202244)
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm/include/asm/pgtable-3level.h