linux-stable/arch/arm64
Steve Capper 52e7d049fa arm64: mm: Add double logical invert to pte accessors
commit 84fe6826c2 upstream.

Page table entries on ARM64 are 64 bits, and some pte functions such as
pte_dirty return a bitwise-and of a flag with the pte value. If the
flag to be tested resides in the upper 32 bits of the pte, then we run
into the danger of the result being dropped if downcast.

For example:
	gather_stats(page, md, pte_dirty(*pte), 1);
where pte_dirty(*pte) is downcast to an int.

This patch adds a double logical invert to all the pte_ accessors to
ensure predictable downcasting.

Signed-off-by: Steve Capper <steve.capper@linaro.org>
[steve.capper@linaro.org: rebased patch to leave pte_write alone to
allow for merge with 3.13 stable]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-03-23 21:44:20 -07:00
..
boot arm64: dts: Reserve the memory used for secondary CPU release address 2013-11-25 16:44:04 +00:00
configs arm64: defconfig: Enable CONFIG_PREEMPT by default 2013-11-05 10:03:53 +00:00
include arm64: mm: Add double logical invert to pte accessors 2014-03-23 21:44:20 -07:00
kernel ARM64: unwind: Fix PC calculation 2014-03-06 22:06:29 -08:00
kvm Here are the 3.13 KVM changes. There was a lot of work on the PPC 2013-11-15 13:51:36 +09:00
lib arm64: atomics: fix use of acquire + release for full barrier semantics 2014-02-20 11:10:07 -08:00
mm arm64: Invalidate the TLB when replacing pmd entries during boot 2014-02-20 11:10:08 -08:00
xen xen/arm,arm64: enable SWIOTLB_XEN 2013-10-10 13:40:44 +00:00
Kconfig arm64: make default NR_CPUS 8 2013-12-06 17:21:50 +00:00
Kconfig.debug arm64: Remove duplicate DEBUG_STACK_USAGE config 2013-10-02 18:03:26 +01:00
Makefile arm64: big-endian: add big-endian support to top-level arch Makefile 2013-10-25 15:59:31 +01:00