2018-04-05-16-59 merged

AKASHI Takahiro (1):
      kernel/kexec_file.c: add walk_system_ram_res_rev()

Aaron Lu (3):
      mm/free_pcppages_bulk: update pcp->count inside
      mm/free_pcppages_bulk: do not hold lock when picking pages to free
      mm/free_pcppages_bulk: prefetch buddy while not holding lock

Alexey Dobriyan (26):
      mm/slab_common.c: mark kmalloc machinery as __ro_after_init
      slab: fixup calculate_alignment() argument type
      slab: make kmalloc_index() return "unsigned int"
      slab: make kmalloc_size() return "unsigned int"
      slab: make create_kmalloc_cache() work with 32-bit sizes
      slab: make create_boot_cache() work with 32-bit sizes
      slab: make kmem_cache_create() work with 32-bit sizes
      slab: make size_index[] array u8
      slab: make size_index_elem() unsigned int
      slub: make ->remote_node_defrag_ratio unsigned int
      slub: make ->max_attr_size unsigned int
      slub: make ->red_left_pad unsigned int
      slub: make ->reserved unsigned int
      slub: make ->align unsigned int
      slub: make ->inuse unsigned int
      slub: make ->cpu_partial unsigned int
      slub: make ->offset unsigned int
      slub: make ->object_size unsigned int
      slub: make ->size unsigned int
      slab: make kmem_cache_flags accept 32-bit object size
      kasan: make kasan_cache_create() work with 32-bit slab cache sizes
      slab: make usercopy region 32-bit
      slub: make slab_index() return unsigned int
      slub: make struct kmem_cache_order_objects::x unsigned int
      slub: make size_from_object() return unsigned int
      slab: use 32-bit arithmetic in freelist_randomize()

Andi Kleen (1):
      drivers/media/platform/sti/delta/delta-ipc.c: fix read buffer overflow

Andrew Morton (5):

Andrey Konovalov (4):
      kasan, slub: fix handling of kasan_slab_free hook
      kasan: fix invalid-free test crashing the kernel
      kasan: prevent compiler from optimizing away memset in tests

Andrey Ryabinin (5):
      mm/vmscan: update stale comments
      mm/vmscan: remove redundant current_may_throttle() check
      mm/vmscan: don't change pgdat state on base of a single LRU list state
      mm/vmscan: don't mess with pgdat->flags in memcg reclaim
      mm/kasan: don't vfree() nonexistent vm_area

Andy Shevchenko (1):
      mm: reuse DEFINE_SHOW_ATTRIBUTE() macro

Anshuman Khandual (1):
      mm/migrate: rename migration reason MR_CMA to MR_CONTIG_RANGE

Arnd Bergmann (1):
      mm/hmm: fix header file if/else/endif maze, again

Baoquan He (4):
      mm/sparse.c: add a static variable nr_present_sections
      mm/sparsemem.c: defer the ms->section_mem_map clearing
      mm/sparse.c: add a new parameter 'data_unit_size' for alloc_usemap_and_memmap
      kernel/kexec_file.c: load kernel at top of system RAM if required

Changbin Du (1):
      scripts/faddr2line: show the code context

Chintan Pandya (1):
      mm/slub.c: use jitter-free reference while printing age

Claudio Imbrenda (2):
      mm/ksm: fix interaction with THP
      mm/ksm.c: fix inconsistent accounting of zero pages

Colin Ian King (3):
      mm/ksm.c: make stable_node_dup() static
      mm/swap_state.c: make bool enable_vma_readahead and swap_vma_readahead() static
      mm/swapfile.c: make pointer swap_avail_heads static

Dan Williams (3):
      mm, powerpc: use vma_kernel_pagesize() in vma_mmu_pagesize()
      mm, hugetlbfs: introduce ->pagesize() to vm_operations_struct
      device-dax: implement ->pagesize() for smaps to report MMUPageSize

David Rientjes (6):
      mm, page_alloc: extend kernelcore and movablecore for percent
      mm, page_alloc: move mirrored_kernelcore to __meminitdata
      mm, compaction: drain pcps for zone when kcompactd fails
      mm, page_alloc: wakeup kcompactd even if kswapd cannot free more memory
      mm, oom: remove 3% bonus for CAP_SYS_ADMIN processes
      mm: memcg: remote memcg charging for kmem allocations fix

David Woodhouse (1):
      mm: always print RLIMIT_DATA warning

Dou Liyang (3):
      mm/kmemleak.c: make kmemleak_boot_config() __init
      mm/page_owner.c: make early_page_owner_param() __init
      mm/page_poison.c: make early_page_poison_param() __init

Guenter Roeck (1):
      include/linux/mm.h: provide consistent declaration for num_poisoned_pages

Howard McLauchlan (1):
      mm: make should_failslab always available for fault injection

Huacai Chen (1):
      zboot: fix stack protector in compressed boot phase

Huang Ying (5):
      mm: fix races between address_space dereference and free in page_evicatable
      mm: fix races between swapoff and flush dcache
      mm, swap: fix race between swapoff and some swap operations
      mm, swap: fix race between swapoff and some swap operations
      mm: Fix race between swapoff and mincore

Jan Kara (2):
      fanotify: Avoid lost events due to ENOMEM for unlimited queues
      fsnotify: Let userspace know about lost events due to ENOMEM

Jeff Moyer (1):
      block_invalidatepage(): only release page if the full page was invalidated

Johannes Weiner (1):
      mm: memcg: make sure memory.events is uptodate when waking pollers

Joonsoo Kim (5):
      mm/page_alloc: don't reserve ZONE_HIGHMEM for ZONE_MOVABLE request
      mm/cma: manage the memory of the CMA area by using the ZONE_MOVABLE
      mm/cma: remove ALLOC_CMA
      ARM: CMA: avoid double mapping to the CMA area if CONFIG_HIGHMEM=y
      mm/thp: don't count ZONE_MOVABLE as the target for freepage reserving

Jérôme Glisse (13):
      mm/hmm: fix header file if/else/endif maze
      mm/hmm: unregister mmu_notifier when last HMM client quit
      mm/hmm: hmm_pfns_bad() was accessing wrong struct
      mm/hmm: use struct for hmm_vma_fault(), hmm_vma_get_pfns() parameters
      mm/hmm: remove HMM_PFN_READ flag and ignore peculiar architecture
      mm/hmm: use uint64_t for HMM pfn instead of defining hmm_pfn_t to ulong
      mm/hmm: cleanup special vma handling (VM_SPECIAL)
      mm/hmm: do not differentiate between empty entry or missing directory
      mm/hmm: move hmm_pfns_clear() closer to where it is used
      mm/hmm: factor out pte and pmd handling to simplify hmm_vma_walk_pmd()
      mm/hmm: change hmm_vma_fault() to allow write fault on page basis
      mm/hmm: use device driver encoding for HMM pfn

Khalid Aziz (1):
      mm, swap: Add infrastructure for saving page metadata on swap

Kirill Tkhai (1):
      mm: make counting of list_lru_one::nr_items lockless

Konstantin Khlebnikov (2):
      mm/page_ref: use atomic_set_release in page_ref_unfreeze
      mm/huge_memory.c: reorder operations in __split_huge_page_tail()

Marc-André Lureau (1):
      mm/page_owner: align with pageblock_nr_pages

Mario Leinweber (1):
      mm/gup.c: fix coding style issues.

Mark Rutland (1):
      kernel/fork.c: detect early free of a live mm

Masahiro Yamada (3):
      linux/const.h: prefix include guard of uapi/linux/const.h with _UAPI
      linux/const.h: move UL() macro to include/linux/const.h
      linux/const.h: refactor _BITUL and _BITULL a bit

Matthew Wilcox (8):
      radix tree: use GFP_ZONEMASK bits of gfp_t for flags
      arm64: turn flush_dcache_mmap_lock into a no-op
      unicore32: turn flush_dcache_mmap_lock into a no-op
      export __set_page_dirty
      fscache: use appropriate radix tree accessors
      xarray: add the xa_lock to the radix_tree_root
      page cache: use xa_lock
      btrfs: Use filemap_range_has_page()

Maxim Patlasov (1):
      mm: add strictlimit knob

Mel Gorman (1):
      sched/numa: avoid trapping faults and attempting migration of file-backed dirty pages

Michal Hocko (9):
      include/linux/mmdebug.h: make VM_WARN* non-rvals
      memcg, thp: do not invoke oom killer on thp charges
      oom, memcg: clarify root memcg oom accounting
      mm, numa: rework do_pages_move
      mm, migrate: remove reason argument from new_page_t
      mm: unclutter THP migration
      mm: introduce MAP_FIXED_NOREPLACE
      fs, elf: drop MAP_FIXED usage from elf_map
      elf: enforce MAP_FIXED on overlaying elf segments

Mike Kravetz (5):
      hugetlbfs: fix bug in pgoff overflow checking
      mm: hugetlbfs: move HUGETLBFS_I outside #ifdef CONFIG_HUGETLBFS
      mm: memfd: split out memfd for use by multiple filesystems
      mm: memfd: remove memfd code from shmem files and use new memfd files
      mm/page_isolation.c: make start_isolate_page_range() fail if already isolated

Mike Rapoport (3):
      mm/nommu: remove description of alloc_vm_area
      mm/swap.c: remove @cold parameter description for release_pages()
      mm: kernel-doc: add missing parameter descriptions

Mikulas Patocka (1):
      mm/slab_common.c: remove test if cache name is accessible

Minchan Kim (2):
      mm: swap: clean up swap readahead
      mm: swap: unify cluster-based and vma-based swap readahead

Naoya Horiguchi (1):
      mm: hwpoison: disable memory error handling on 1GB hugepage

Nikolay Borisov (2):
      fs/direct-io.c: minor cleanups in do_blockdev_direct_IO
      fs/dcache.c: add cond_resched() in shrink_dentry_list()

Pavel Tatashin (10):
      mm: disable interrupts while initializing deferred pages
      mm: initialize pages on demand during boot
      mm/memory_hotplug: enforce block size aligned range check
      x86/mm/memory_hotplug: determine block size based on the end of boot memory
      mm: uninitialized struct page poisoning sanity checking
      mm/memory_hotplug: optimize probe routine
      mm/memory_hotplug: don't read nid from struct page during hotplug
      mm/memory_hotplug: optimize memory hotplug
      xen, mm: allow deferred page initialization for xen pv domains
      sparc64: NG4 memset 32 bits overflow

Ralph Campbell (5):
      mm/hmm: documentation editorial update to HMM documentation
      mm/hmm: HMM should have a callback before MM is destroyed
      mm/hmm: do not ignore specific pte fault flag in hmm_vma_fault()
      mm/hmm: clarify fault logic for device private memory
      mm/migrate: properly preserve write attribute in special migrate entry

Randy Dunlap (2):
      mm/swap_slots.c: use conditional compilation
      headers: untangle kmemleak.h from mm.h

Roman Gushchin (15):
      mm: treat indirectly reclaimable memory as available in MemAvailable
      dcache: account external names as indirectly reclaimable memory
      dcache: fix indirectly reclaimable memory accounting for CONFIG_SLOB
      dcache: fix indirectly reclaimable memory accounting
      mm: treat indirectly reclaimable memory as free in overcommit logic
      mm, oom: refactor oom_kill_process()
      mm: implement mem_cgroup_scan_tasks() for the root memory cgroup
      mm, oom: cgroup-aware OOM killer
      mm, oom: introduce memory.oom_group
      mm, oom: return error on access to memory.oom_group if groupoom is disabled
      mm, oom: add cgroup v2 mount option for cgroup-aware OOM killer
      mm, oom, docs: describe the cgroup-aware OOM killer
      cgroup: list groupoom in cgroup features

Sergey Senozhatsky (2):
      zsmalloc: introduce zs_huge_class_size()
      zram: drop max_zpage_size and use zs_huge_class_size()

Shakeel Butt (4):
      slab, slub: remove size disparity on debug kernel
      slab, slub: skip unnecessary kasan_cache_shutdown()
      mm: memcg: remote memcg charging for kmem allocations
      fs: fsnotify: account fsnotify metadata to kmemcg

Souptick Joarder (1):
      mm: change return type to vm_fault_t

Stefan Agner (1):
      mm/memblock.c: cast constant ULLONG_MAX to phys_addr_t

Steven Rostedt (1):
      mm, vmscan, tracing: use pointer to reclaim_stat struct in trace event

Tejun Heo (1):
      mm/hmm.c: remove superfluous RCU protection around radix tree lookup

Tetsuo Handa (3):
      mm,vmscan: don't pretend forward progress upon shrinker_rwsem contention
      mm,oom_reaper: check for MMF_OOM_SKIP before complaining
      mm,vmscan: mark register_shrinker() as __must_check

Valentin Vidic (1):
      include/linux/kfifo.h: fix comment

Vitaly Wool (1):
      z3fold: limit use of stale list for allocation

Waiman Long (1):
      mm/list_lru.c: prefetch neighboring list entries before acquiring lock

Wei Yang (1):
      mm: check __highest_present_section_nr directly in memory_dev_init()

Xidong Wang (1):
      z3fold: fix memory leak

Yang Shi (1):
      mm: thp: fix potential clearing to referenced flag in page_idle_clear_pte_refs_one()

Yu Zhao (1):
      mm: don't expose page to fast gup before it's ready

Yury Norov (1):
      lib: fix stall in __bitmap_parselist()

shunki-fujita (1):
      fs: don't flush pagecache when expanding block device

zhong jiang (1):
      mm/page_owner: align with pageblock_nr pages
btrfs: Use filemap_range_has_page()

The current implementation of btrfs_page_exists_in_range() gives the
wrong answer if the workingset code has stored a shadow entry in the
page cache.  The filemap_range_has_page() function does not have this
problem, and it's shared code, so use it instead.

eigned-off-by: Matthew Wilcox <mawilcox@microsoft.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
(cherry picked from commit 965aab1cfc13dacc3d5ad0d8d8eb4e0a7ea8c1d1)
2 files changed