2017-05-12-15-53 merged

Andrea Arcangeli (2):
      ksm: introduce ksm_max_page_sharing per page deduplication limit
      ksm: fix use after free with merge_across_nodes = 0

Andrew Morton (1):
      mm-slub-wrap-cpu_slab-partial-in-config_slub_cpu_partial-fix

Andy Lutomirski (12):
      x86/tls: Forcibly set the accessed bit in TLS segments
      selftests/x86/ldt_gdt_32: Work around a glibc sigaction() bug
      x86/gdt: Fix setup_fixmap_gdt() to use the correct PA
      x86/efi/32: Fix EFI on systems where the per-cpu GDT is virtually mapped
      x86/boot/32: Defer resyncing initial_page_table until per-cpu is set up
      x86/gdt: Get rid of the get_*_gdt_*_vaddr() helpers
      x86/xen/gdt: Use X86_FEATURE_XENPV instead of globals for the GDT fixup
      x86/boot/32: Rewrite test_wp_bit()
      x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly()
      x86/mm: Remove flush_tlb() and flush_tlb_current_task()
      x86/mm: Make flush_tlb_mm_range() more predictable
      x86/mm: Fix flush_tlb_page() on Xen

Anshuman Khandual (1):
      mm/vmstat.c: standardize file operations variable names

Borislav Petkov (3):
      x86/boot: Fix pr_debug() API braindamage
      x86/boot/64: Rename start_cpu()
      x86/boot/32: Flip the logic in test_wp_bit()

Colin King (1):
      x86/boot/e820: Remove a redundant self assignment

Dan Williams (1):
      mm, zone_device: Replace {get, put}_zone_device_page() with a single reference to fix pmem crash

Daniel Micay (1):
      mm/mmap.c: mark protection_map as __ro_after_init

Dave Hansen (1):
      mm, sparsemem: break out of loops early

David Rientjes (1):
      mm, thp: copying user pages must schedule on collapse

Dmitry Safonov (6):
      x86/mm: Introduce arch_rnd() to compute 32/64 mmap random base
      x86/mm: Add task_size parameter to mmap_base()
      x86/mm: Introduce mmap_compat_base() for 32-bit mmap()
      x86/mm: Make mmap(MAP_32BIT) work correctly
      x86/hugetlb: Adjust to the new native/compat mmap bases
      x86/mm: Make in_compat_syscall() work during exec

Ingo Molnar (63):
      x86/boot/e820: Introduce arch/x86/include/asm/e820/types.h
      x86/boot/e820: Clean up and improve comments in asm/e820/types.h
      x86/boot/e820: Move asm/e820.h to asm/e820/api.h
      x86/boot/e820: Split minimal UAPI types out into uapi/asm/e820/types.h
      x86/boot/e820: Clean up the E820_X_MAX definition
      x86/boot/e820: Remove spurious asm/e820/api.h inclusions
      x86/boot/e820: Remove assembly guard from asm/e820/types.h
      x86/boot/e820: Clean up asm/e820/api.h
      x86/boot/e820: Remove unnecessary __ASSEMBLY__ guard
      x86/boot/e820: Move HIGH_MEMORY define to asm/e820/types.h
      x86/boot/e820: Rename the basic e820 data types to 'struct e820_entry' and 'struct e820_array'
      x86/boot/e820: Remove unnecessary #include <linux/ioport.h> from asm/e820/api.h
      x86/boot/e820: Remove e820_mark_nosave_regions() definition uglies
      x86/boot/e820: Rename 'e820_map' variables to 'e820_array'
      x86/boot/e820: Rename everything to e820_table
      x86/boot/e820: Harmonize the 'struct e820_table' fields
      x86/boot/e820: Rename default_machine_specific_memory_setup() to e820__memory_setup_default()
      x86/boot/e820: Rename e820_table_saved to e820_table_firmware and improve the description
      x86/boot/e820: Basic cleanup of e820.c
      x86/boot/e820: Rename memblock_x86_fill() to e820__memblock_setup() and improve the explanations
      x86/boot/e820: Consolidate 'struct e820_entry *entry' local variable names
      x86/boot/e820: Convert printk(KERN_* ...) to pr_*()
      x86/boot/e820: Move the memblock_find_dma_reserve() function and rename it to memblock_set_dma_reserve()
      x86/boot/e820: Rename parse_e820_ext() to e820__memory_setup_extended()
      x86/boot/e820: Move e820_reserve_setup_data() to e820.c
      x86/boot/e820: Clarify the role of finish_e820_parsing() and rename it to e820__finish_early_params()
      x86/boot/e820: Rename early_reserve_e820() to e820__memblock_alloc() and document it
      x86/boot/e820: Rename update_e820() to e820__update_table()
      x86/boot/e820: Rename sanitize_e820_table() to e820__update_table()
      x86/boot/e820: Rename e820_any_mapped()/e820_all_mapped() to e820__mapped_any()/e820__mapped_all()
      x86/boot/e820: Rename e820_setup_gap() to e820__setup_pci_gap()
      x86/boot/e820: Create coherent API function names for E820 range operations
      x86/boot/e820: Rename e820_print_map() to e820__print_table()
      x86/boot/e820: Reorder the function prototypes in api.h
      x86/boot/e820: Simplify e820_reserve_resources()
      x86/boot/e820: Introduce 'enum e820_type'
      x86/boot/e820: Use 'enum e820_type' in 'struct e820_entry'
      x86/boot/e820: Use 'enum e820_type' when handling the e820 region type
      x86/boot/e820: Prefix the E820_* type names with "E820_TYPE_"
      x86/boot/e820: Clean up the E820 table size define names
      x86/boot/e820: Clean up and standardize sizeof() uses
      xen, x86/boot/e820: Simplify Xen's xen_e820_table construct
      x86/boot/e820: Simplify the e820__update_table() interface
      x86/boot/e820: Clean up __e820__update_table() et al
      x86/boot/e820: Document e820__reserve_setup_data()
      x86/boot/e820: Use bool in query APIs
      x86/boot/e820: Rename e820_reserve_resources*() to e820__reserve_resources*()
      x86/boot/e820: Rename e820_mark_nosave_regions() to e820__register_nosave_regions()
      x86/boot/e820: Remove unnecessary #include's
      x86/boot/e820: Rename the remaining E820 APIs to the e820__*() prefix
      x86/boot/e820: Fix and clean up e820_type switch() statements
      x86/boot/e820: Separate the E820 ABI structures from the in-kernel structures
      x86/boot/e820: Simplify e820__update_table()
      xen, x86/headers: Add <linux/device.h> dependency to <asm/xen/page.h>
      Merge branch 'linus' into WIP.x86/boot, to fix up conflicts and to pick up updates
      x86/xen: Update e820 table handling to the new core x86 E820 code
      Merge branch 'linus' into x86/mm, to pick up a bugfix
      Merge branch 'x86/process' into x86/mm, to create new base for further patches
      Merge branch 'x86/cpu' into x86/mm, before applying dependent patch
      Merge tag 'v4.11-rc5' into x86/mm, to refresh the branch
      Merge branch 'WIP.x86/boot' into x86/boot, to pick up ready branch
      Merge branch 'x86/boot' into x86/mm, to avoid conflict
      Revert "x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation"

Jan Kara (3):
      mm: fix data corruption due to stale mmap reads
      ext4: return to starting transaction in ext4_dax_huge_fault()
      dax: fix data corruption when fault races with write

Joerg Roedel (2):
      x86/mpx: Correctly report do_mpx_bt_fault() failures to user-space
      x86/mpx, selftests: Only check bounds-vs-shadow when we keep shadow

Joonsoo Kim (4):
      zram: introduce zram_entry to prepare dedup functionality
      zram: implement deduplication in zram
      zram: make deduplication feature optional
      zram: compare all the entries with same checksum for deduplication

Juergen Gross (1):
      x86/mm: Fix dump pagetables for 4 levels of page tables

Kirill A. Shutemov (28):
      x86/mm: Extend headers with basic definitions to support 5-level paging
      x86/mm: Convert trivial cases of page table walk to 5-level paging
      x86/mm/gup: Add 5-level paging support
      x86/mm/ident_map: Add 5-level paging support
      x86/mm/vmalloc: Add 5-level paging support
      x86/power: Add 5-level paging support
      mm/gup: Drop the arch_pte_access_permitted() MMU callback
      mm/gup: Move permission checks into helpers
      mm/gup: Move page table entry dereference into helper function
      mm/gup: Mark all pages PageReferenced in generic get_user_pages_fast()
      mm/gup: Implement the dev_pagemap() logic in the generic get_user_pages_fast() function
      mm/gup: Provide callback to check if __GUP_fast() is allowed for the range
      x86/mm/gup: Switch GUP to the generic get_user_page_fast() implementation
      x86/kexec: Add 5-level paging support
      x86/efi: Add 5-level paging support
      x86/mm/pat: Add 5-level paging support
      x86/kasan: Prepare clear_pgds() to switch to <asm-generic/pgtable-nop4d.h>
      x86: Convert the rest of the code to support p4d_t
      mm: Fix false-positive VM_BUG_ON() in page_cache_{get,add}_speculative()
      x86/dump_pagetables: Add support for 5-level paging
      x86/boot: Detect 5-level paging support
      x86/asm: Remove __VIRTUAL_MASK_SHIFT==47 assert
      x86/mm: Define virtual memory map for 5-level paging
      x86/paravirt: Add 5-level support to the paravirt code
      x86/mm: Add basic defines/helpers for CONFIG_X86_5LEVEL=y
      x86/kasan: Extend KASAN to support 5-level paging
      x86/espfix: Add support for 5-level paging
      x86/mm/64: Fix crash in remove_pagetable()

Kyle Huey (11):
      x86/process: Optimize TIF checks in __switch_to_xtra()
      x86/process: Correct and optimize TIF_BLOCKSTEP switch
      x86/msr: Rename MISC_FEATURE_ENABLES to MISC_FEATURES_ENABLES
      x86/arch_prctl: Rename 'code' argument to 'option'
      x86/arch_prctl/64: Use SYSCALL_DEFINE2 to define sys_arch_prctl()
      x86/arch_prctl/64: Rename do_arch_prctl() to do_arch_prctl_64()
      x86/arch_prctl: Add do_arch_prctl_common()
      x86/syscalls/32: Wire up arch_prctl on x86-32
      x86/cpufeature: Detect CPUID faulting support
      x86/arch_prctl: Add ARCH_[GET|SET]_CPUID
      um/arch_prctl: Fix fallout from x86 arch_prctl() rework

Mathias Krause (2):
      x86/cpu: Drop unneded members of struct cpuinfo_x86
      x86/cpu: Drop wp_works_ok member of struct cpuinfo_x86

Michal Hocko (3):
      Merge remote-tracking branch 'tip/x86-mm-for-linus' into mmotm-merge
      hwpoison, memcg: forcibly uncharge LRU pages
      mm, vmalloc: fix vmalloc users tracking properly

Minchan Kim (1):
      mm: vmscan: scan until it finds eligible pages

Nick Desaulniers (1):
      mm/vmscan.c: fix unsequenced modification and access warning

Roman Gushchin (1):
      mm, docs: update memory.stat description with workingset* entries

Ross Zwisler (2):
      dax: prevent invalidation of mapped DAX entries
      dax: fix PMD data corruption when fault races with write

Thomas Garnier (5):
      x86/mm: Adapt MODULES_END based on fixmap section size
      x86: Remap GDT tables in the fixmap section
      x86: Make the GDT remapping read-only on 64-bit
      x86/mm: Correct fixmap header usage on adaptable MODULES_END
      x86/headers: Simplify asm/fixmap.h inclusion into asm/pgtable*.h

Thomas Gleixner (2):
      x86/process: Optimize TIF_NOTSC switch
      Revert "x86/mm/numa: Remove numa_nodemask_from_meminfo()"

Wei Yang (8):
      x86/mm/numa: Improve alloc_node_data() error path message
      x86/mm/numa: Remove numa_nodemask_from_meminfo()
      mm/slub.c: remove a redundant assignment in ___slab_alloc()
      mm/slub: reset cpu_slab's pointer in deactivate_slab()
      mm/slub.c: pack red_left_pad with another int to save a word
      mm/slub.c: wrap cpu_slab->partial in CONFIG_SLUB_CPU_PARTIAL
      mm/slub.c: wrap kmem_cache->cpu_partial in config CONFIG_SLUB_CPU_PARTIAL
      mm/nobootmem.c: return 0 when start_pfn equals end_pfn

Xiong Zhang (1):
      x86/xen: Change __xen_pgd_walk() and xen_cleanmfnmap() to support p4d

Zhengyi Shen (1):
      x86/boot: Fix Sparse warning by including required header file
mm/vmstat.c: standardize file operations variable names

Standardize the file operation variable names related to all four memory
management /proc interface files.  Also change all the symbol permissions
(S_IRUGO) into octal permissions (0444) as it got complaints from
checkpatch.pl.  This does not create any functional change to the
interface.

Link: http://lkml.kernel.org/r/20170427030632.8588-1-khandual@linux.vnet.ibm.com
Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 file changed