android_kernel_oneplus_msm8998/arch
Will Deacon 54cf0dde46 ARM: 8578/1: mm: ensure pmd_present only checks the valid bit
commit 624531886987f0f1b5d01fb598034d039198e090 upstream.

In a subsequent patch, pmd_mknotpresent will clear the valid bit of the
pmd entry, resulting in a not-present entry from the hardware's
perspective. Unfortunately, pmd_present simply checks for a non-zero pmd
value and will therefore continue to return true even after a
pmd_mknotpresent operation. Since pmd_mknotpresent is only used for
managing huge entries, this is only an issue for the 3-level case.

This patch fixes the 3-level pmd_present implementation to take into
account the valid bit. For bisectability, the change is made before the
fix to pmd_mknotpresent.

[catalin.marinas@arm.com: comment update regarding pmd_mknotpresent patch]

Fixes: 8d96250700 ("ARM: mm: Transparent huge page support for LPAE systems.")
Cc: Russell King <linux@armlinux.org.uk>
Cc: Steve Capper <Steve.Capper@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-07-27 09:47:30 -07:00
..
alpha
arc ARC: Add missing io barriers to io{read,write}{16,32}be() 2016-05-11 11:21:20 +02:00
arm ARM: 8578/1: mm: ensure pmd_present only checks the valid bit 2016-07-27 09:47:30 -07:00
arm64 arm64: mm: always take dirty state from new pte in ptep_set_access_flags 2016-06-24 10:18:19 -07:00
avr32
blackfin
c6x
cris
frv
h8300
hexagon
ia64 ia64: define ioremap_uc() 2016-04-12 09:08:54 -07:00
m32r m32r: fix m32104ut_defconfig build fail 2016-02-25 12:01:22 -08:00
m68k
metag
microblaze
mips MIPS: Fix 64k page support for 32 bit kernels. 2016-06-24 10:18:22 -07:00
mn10300
nios2
openrisc
parisc parisc: Fix pagefault crash in unaligned __get_user() call 2016-06-24 10:18:20 -07:00
powerpc powerpc/tm: Always reclaim in start_thread() for exec() class syscalls 2016-07-27 09:47:28 -07:00
s390 s390/bpf: reduce maximum program size to 64 KB 2016-06-24 10:18:19 -07:00
score
sh sched/preempt, sh: kmap_coherent relies on disabled preemption 2016-04-12 09:08:36 -07:00
sparc sparc64: Fix return from trap window fill crashes. 2016-06-24 10:18:21 -07:00
tile tile: provide CONFIG_PAGE_SIZE_64KB etc for tilepro 2016-01-05 08:16:09 -05:00
um fs/coredump: prevent fsuid=0 dumps into user-controlled directories 2016-04-12 09:08:58 -07:00
unicore32
x86 x86/amd_nb: Fix boot crash on non-AMD systems 2016-07-27 09:47:29 -07:00
xtensa xtensa: clear all DBREAKC registers on start 2016-04-12 09:08:55 -07:00
.gitignore
Kconfig