linux/arch/arm64
Catalin Marinas 5bb1cc0ff9 arm64: Ensure pmd_present() returns false after pmd_mknotpresent()
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>
2016-05-06 12:46:53 +01:00
..
boot ARM: DT changes, part 2 2016-03-24 19:01:38 -07:00
configs arm64: defconfig: updates for 4.6 2016-03-29 16:56:00 +01:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
include arm64: Ensure pmd_present() returns false after pmd_mknotpresent() 2016-05-06 12:46:53 +01:00
kernel arm64: hibernate: Refuse to hibernate if the boot cpu is offline 2016-04-28 13:36:23 +01:00
kvm arm64: kvm: Fix kvm teardown for systems using the extended idmap 2016-05-03 09:50:27 +01:00
lib arm64 updates for 4.6: 2016-03-17 20:03:47 -07:00
mm arm64: mm: remove unnecessary EXPORT_SYMBOL_GPL 2016-05-05 09:49:38 +01:00
net arm64: bpf: add extra pass to handle faulty codegen 2016-01-17 19:15:26 -05:00
xen xen/arm: introduce HYPERVISOR_platform_op on arm and arm64 2015-12-21 14:40:56 +00:00
Kconfig arm64: kconfig: drop CONFIG_RTC_LIB dependency 2016-04-28 19:43:37 +01:00
Kconfig.debug arm64: simplify kernel segment mapping granularity 2016-04-14 18:11:44 +01:00
Kconfig.platforms Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-24 10:29:44 -07:00
Makefile arm64 updates for 4.6: 2016-03-17 20:03:47 -07:00