linux/arch/arm64/include
Catalin Marinas c6f03933b6 arm64: Ensure pmd_present() returns false after pmd_mknotpresent()
[ Upstream commit 5bb1cc0ff9 ]

Currently, pmd_present() only checks for a non-zero value, returning
true even after pmd_mknotpresent() (which only clears the type bits).
This patch converts pmd_present() to using pte_present(), similar to the
other pmd_*() checks. As a side effect, it will return true for
PROT_NONE mappings, though they are not yet used by the kernel with
transparent huge pages.

For consistency, also change pmd_mknotpresent() to only clear the
PMD_SECT_VALID bit, even though the PMD_TABLE_BIT is already 0 for block
mappings (no functional change). The unused PMD_SECT_PROT_NONE
definition is removed as transparent huge pages use the pte page prot
values.

Fixes: 9c7e535fcc ("arm64: mm: Route pmd thp functions through pte equivalents")
Cc: <stable@vger.kernel.org> # 3.15+
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2016-06-03 11:30:37 -04:00
..
asm arm64: Ensure pmd_present() returns false after pmd_mknotpresent() 2016-06-03 11:30:37 -04:00
uapi/asm KVM: arm/arm64: check IRQ number on userland injection 2015-05-17 19:11:50 -04:00