linux/arch/arm64
Christoffer Dall 6b344aadf9 arm64: Don't report clear pmds and puds as huge
commit fd28f5d439 upstream.

The current pmd_huge() and pud_huge() functions simply check if the table
bit is not set and reports the entries as huge in that case.  This is
counter-intuitive as a clear pmd/pud cannot also be a huge pmd/pud, and
it is inconsistent with at least arm and x86.

To prevent others from making the same mistake as me in looking at code
that calls these functions and to fix an issue with KVM on arm64 that
causes memory corruption due to incorrect page reference counting
resulting from this mistake, let's change the behavior.

Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Reviewed-by: Steve Capper <steve.capper@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Fixes: 084bd29810 ("ARM64: mm: HugeTLB support.")
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2015-08-03 09:29:18 -07:00
..
boot - dts: mt8173: fix compatible string 2015-06-01 17:06:51 +02:00
configs ARM: SoC 64-bit changes for v4.1 2015-04-22 09:23:58 -07:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2015-05-11 11:05:13 -07:00
include arm64: add missing data types in smp_load_acquire/smp_store_release 2015-04-27 11:39:04 +01:00
kernel ARM64: smp: Fix suspicious RCU usage with ipi tracepoints 2015-08-03 09:29:18 -07:00
kvm arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
lib arm64: __clear_user: handle exceptions on strb 2014-11-13 15:21:26 +00:00
mm arm64: Don't report clear pmds and puds as huge 2015-08-03 09:29:18 -07:00
net arm64: bpf: fix endianness conversion bugs 2015-08-03 09:29:18 -07:00
xen arm: xen: implement multicall hypercall support. 2014-04-24 13:09:46 +01:00
Kconfig ARM64: Enable CONFIG_GENERIC_IRQ_SHOW_LEVEL 2015-04-27 11:39:05 +01:00
Kconfig.debug coresight: moving to new "hwtracing" directory 2015-04-03 16:17:04 +02:00
Makefile arm64: Adjust EFI libstub object include logic 2015-03-17 16:59:47 +00:00