diff options
| author | Srinivasarao P <spathi@codeaurora.org> | 2018-08-28 16:40:15 +0530 |
|---|---|---|
| committer | Srinivasarao P <spathi@codeaurora.org> | 2018-08-28 16:40:54 +0530 |
| commit | 40eed1f50062df731c0bf79af27c463b7d2003a1 (patch) | |
| tree | 4994977838ec50f7525698b1cb39b237c94fe594 /arch/x86/include | |
| parent | e440301cac877425eb10116e1c95902353655955 (diff) | |
| parent | 5541782ce2bba0a5ac75f564e8f74e40b831d6b9 (diff) | |
Merge android-4.4.150 (5541782) into msm-4.4
* refs/heads/tmp-5541782
Linux 4.4.150
x86/speculation/l1tf: Exempt zeroed PTEs from inversion
Linux 4.4.149
x86/mm: Add TLB purge to free pmd/pte page interfaces
ioremap: Update pgtable free interfaces with addr
Bluetooth: hidp: buffer overflow in hidp_process_report
ASoC: Intel: cht_bsw_max98090_ti: Fix jack initialization
crypto: ablkcipher - fix crash flushing dcache in error path
crypto: blkcipher - fix crash flushing dcache in error path
crypto: vmac - separate tfm and request context
crypto: vmac - require a block cipher with 128-bit block size
kbuild: verify that $DEPMOD is installed
i2c: ismt: fix wrong device address when unmap the data buffer
kasan: don't emit builtin calls when sanitization is off
tcp: Fix missing range_truesize enlargement in the backport
x86/mm: Disable ioremap free page handling on x86-PAE
Conflicts:
Makefile
Change-Id: I9cbfedbeb3bdb1df021d4f192a2a7392010cd627
Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
Diffstat (limited to 'arch/x86/include')
| -rw-r--r-- | arch/x86/include/asm/pgtable-invert.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/include/asm/pgtable-invert.h b/arch/x86/include/asm/pgtable-invert.h index 44b1203ece12..a0c1525f1b6f 100644 --- a/arch/x86/include/asm/pgtable-invert.h +++ b/arch/x86/include/asm/pgtable-invert.h @@ -4,9 +4,18 @@ #ifndef __ASSEMBLY__ +/* + * A clear pte value is special, and doesn't get inverted. + * + * Note that even users that only pass a pgprot_t (rather + * than a full pte) won't trigger the special zero case, + * because even PAGE_NONE has _PAGE_PROTNONE | _PAGE_ACCESSED + * set. So the all zero case really is limited to just the + * cleared page table entry case. + */ static inline bool __pte_needs_invert(u64 val) { - return !(val & _PAGE_PRESENT); + return val && !(val & _PAGE_PRESENT); } /* Get a mask to xor with the page table entry to get the correct pfn. */ |
