[GIT PULL] x86/mm changes for v4.21

From: Ingo Molnar
Date: Mon Dec 24 2018 - 18:11:15 EST


Please pull the latest x86-mm-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-mm-for-linus

# HEAD: 6848ac7ca39a226ede5df7af0efcc4ef0611e99c x86/mm/dump_pagetables: Use DEFINE_SHOW_ATTRIBUTE()

The main changes in this cycle were:

- Update and clean up x86 fault handling, by Andy Lutomirski.

- Drop usage of __flush_tlb_all() in kernel_physical_mapping_init() and
related fallout, by Dan Williams.

- CPA cleanups and reorganization by Peter Zijlstra: simplify the flow
and remove a few warts.

- Other misc cleanups.

out-of-topic modifications in x86-mm-for-linus:
include/asm-generic/5level-fixup.h # 0a9fe8ca844d: x86/mm: Validate kernel_phys
include/asm-generic/pgtable-nop4d-hack.h# 0a9fe8ca844d: x86/mm: Validate kernel_phys
include/asm-generic/pgtable-nop4d.h# 0a9fe8ca844d: x86/mm: Validate kernel_phys
include/asm-generic/pgtable-nopud.h# 0a9fe8ca844d: x86/mm: Validate kernel_phys
include/asm-generic/pgtable.h # 4369deaa2f02: generic/pgtable: Introduce s
# 0cebbb60f759: generic/pgtable: Introduce {
# c683c37cd132: generic/pgtable: Make {pmd,



Andy Lutomirski (12):
x86/fault: Check user_mode(regs) when avoiding an mmap_sem deadlock
x86/cpufeatures, x86/fault: Mark SMAP as disabled when configured out
x86/fault: Fold smap_violation() into do_user_addr_fault()
x86/fault: Fix SMAP #PF handling buglet for implicit supervisor accesses
x86/fault: Improve the condition for signalling vs OOPSing
x86/fault: Make error_code sanitization more robust
x86/fault: Don't set thread.cr2, etc before OOPSing
x86/fault: Remove sw_error_code
x86/fault: Don't try to recover from an implicit supervisor access
x86/oops: Show the correct CS value in show_regs()
x86/vsyscall/64: Use X86_PF constants in the simulated #PF error code
x86/fault: Decode page fault OOPSes better

Dan Williams (5):
generic/pgtable: Make {pmd, pud}_same() unconditionally available
generic/pgtable: Introduce {p4d,pgd}_same()
generic/pgtable: Introduce set_pte_safe()
x86/mm: Validate kernel_physical_mapping_init() PTE population
x86/mm: Drop usage of __flush_tlb_all() in kernel_physical_mapping_init()

Ingo Molnar (1):
x86/fault: Clean up the page fault oops decoder a bit

Peter Zijlstra (9):
x86/mm/cpa: Add ARRAY and PAGES_ARRAY selftests
x86/mm/cpa: Add __cpa_addr() helper
x86/mm/cpa: Make cpa_data::vaddr invariant
x86/mm/cpa: Simplify the code after making cpa->vaddr invariant
x86/mm/cpa: Optimize cpa_flush_array() TLB invalidation
x86/mm/cpa: Make cpa_data::numpages invariant
x86/mm/cpa: Fold cpa_flush_range() and cpa_flush_array() into a single cpa_flush() function
x86/mm/cpa: Better use CLFLUSHOPT
x86/mm/cpa: Rename @addrinarray to @numpages

Waiman Long (1):
x86/mm/fault: Allow stack access below %rsp

Yangtao Li (1):
x86/mm/dump_pagetables: Use DEFINE_SHOW_ATTRIBUTE()

arch/x86/entry/vsyscall/vsyscall_64.c | 2 +-
arch/x86/include/asm/disabled-features.h | 8 +-
arch/x86/include/asm/pgalloc.h | 27 +++
arch/x86/kernel/process_64.c | 5 +-
arch/x86/mm/debug_pagetables.c | 58 +------
arch/x86/mm/fault.c | 244 +++++++++++++++++-----------
arch/x86/mm/init_64.c | 30 ++--
arch/x86/mm/mm_internal.h | 2 +
arch/x86/mm/pageattr-test.c | 31 +++-
arch/x86/mm/pageattr.c | 271 +++++++++++++------------------
arch/x86/mm/tlb.c | 4 +-
include/asm-generic/5level-fixup.h | 1 +
include/asm-generic/pgtable-nop4d-hack.h | 1 +
include/asm-generic/pgtable-nop4d.h | 1 +
include/asm-generic/pgtable-nopud.h | 1 +
include/asm-generic/pgtable.h | 56 ++++++-
16 files changed, 396 insertions(+), 346 deletions(-)