- a small number of updates to scripts/, ocfs2 and fs/buffer.c - most of MM. I still have quite a lot of material (mostly not MM) staged after linux-next due to -next dependencies. I'll send thos across next week as the preprequisites get merged up. 158 patches, based on 32ef9553635ab1236c33951a8bd9b5af1c3b1646. Subsystems affected by this patch series: scripts ocfs2 vfs mm/slab mm/slub mm/pagecache mm/gup mm/swap mm/memcg mm/pagemap mm/memfd mm/memory-failure mm/memory-hotplug mm/sparsemem mm/vmalloc mm/kasan mm/pagealloc mm/vmscan mm/proc mm/z3fold mm/mempolicy mm/memblock mm/hugetlbfs mm/hugetlb mm/migration mm/thp mm/cma mm/autonuma mm/page-poison mm/mmap mm/madvise mm/userfaultfd mm/shmem mm/cleanups mm/support Subsystem: scripts Colin Ian King <colin.king@xxxxxxxxxxxxx>: scripts/spelling.txt: add more spellings to spelling.txt Subsystem: ocfs2 Ding Xiang <dingxiang@xxxxxxxxxxxxxxxxxxxx>: ocfs2: fix passing zero to 'PTR_ERR' warning Subsystem: vfs Saurav Girepunje <saurav.girepunje@xxxxxxxxx>: fs/buffer.c: fix use true/false for bool type Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>: fs/buffer.c: include internal.h for missing declarations Subsystem: mm/slab Pengfei Li <lpf.vector@xxxxxxxxx>: Patch series "mm, slab: Make kmalloc_info[] contain all types of names", v6: mm, slab: make kmalloc_info[] contain all types of names mm, slab: remove unused kmalloc_size() mm, slab_common: use enum kmalloc_cache_type to iterate over kmalloc caches Subsystem: mm/slub Miles Chen <miles.chen@xxxxxxxxxxxx>: mm: slub: print the offset of fault addresses Yu Zhao <yuzhao@xxxxxxxxxx>: mm/slub.c: update comments mm/slub.c: clean up validate_slab() Subsystem: mm/pagecache Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>: mm/filemap.c: remove redundant cache invalidation after async direct-io write fs/direct-io.c: keep dio_warn_stale_pagecache() when CONFIG_BLOCK=n mm/filemap.c: warn if stale pagecache is left after direct write Subsystem: mm/gup zhong jiang <zhongjiang@xxxxxxxxxx>: mm/gup.c: allow CMA migration to propagate errors back to caller Liu Xiang <liuxiang_1999@xxxxxxx>: mm/gup.c: fix comments of __get_user_pages() and get_user_pages_remote() Subsystem: mm/swap Naohiro Aota <naohiro.aota@xxxxxxx>: mm, swap: disallow swapon() on zoned block devices Fengguang Wu <fengguang.wu@xxxxxxxxx>: mm/swap.c: trivial mark_page_accessed() cleanup Subsystem: mm/memcg Yafang Shao <laoar.shao@xxxxxxxxx>: mm, memcg: clean up reclaim iter array Johannes Weiner <hannes@xxxxxxxxxxx>: mm: memcontrol: remove dead code from memory_max_write() mm: memcontrol: try harder to set a new memory.high Hao Lee <haolee.swjtu@xxxxxxxxx>: include/linux/memcontrol.h: fix comments based on per-node memcg Shakeel Butt <shakeelb@xxxxxxxxxx>: mm: vmscan: memcontrol: remove mem_cgroup_select_victim_node() Chris Down <chris@xxxxxxxxxxxxxx>: Documentation/admin-guide/cgroup-v2.rst: document why inactive_X + active_X may not equal X Subsystem: mm/pagemap Johannes Weiner <hannes@xxxxxxxxxxx>: mm: drop mmap_sem before calling balance_dirty_pages() in write fault "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>: shmem: pin the file in shmem_fault() if mmap_sem is dropped "Joel Fernandes (Google)" <joel@xxxxxxxxxxxxxxxxx>: mm: emit tracepoint when RSS changes rss_stat: add support to detect RSS updates of external mm Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: mm/mmap.c: remove a never-triggered warning in __vma_adjust() Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>: mm/swap.c: piggyback lru_add_drain_all() calls Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: mm/mmap.c: prev could be retrieved from vma->vm_prev mm/mmap.c: __vma_unlink_prev() is not necessary now mm/mmap.c: extract __vma_unlink_list() as counterpart for __vma_link_list() mm/mmap.c: rb_parent is not necessary in __vma_link_list() mm/rmap.c: don't reuse anon_vma if we just want a copy mm/rmap.c: reuse mergeable anon_vma as parent when fork Gaowei Pu <pugaowei@xxxxxxxxx>: mm/mmap.c: use IS_ERR_VALUE to check return value of get_unmapped_area Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx>: Patch series "elide extraneous generated code for folded p4d/pud/pmd", v3: ARC: mm: remove __ARCH_USE_5LEVEL_HACK asm-generic/tlb: stub out pud_free_tlb() if nopud ... asm-generic/tlb: stub out p4d_free_tlb() if nop4d ... asm-generic/tlb: stub out pmd_free_tlb() if nopmd asm-generic/mm: stub out p{4,u}d_clear_bad() if __PAGETABLE_P{4,U}D_FOLDED Miles Chen <miles.chen@xxxxxxxxxxxx>: mm/rmap.c: fix outdated comment in page_get_anon_vma() Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>: mm/rmap.c: use VM_BUG_ON_PAGE() in __page_check_anon_rmap() Thomas Hellstrom <thellstrom@xxxxxxxxxx>: mm: move the backup x_devmap() functions to asm-generic/pgtable.h mm/memory.c: fix a huge pud insertion race during faulting Steven Price <steven.price@xxxxxxx>: Patch series "Generic page walk and ptdump", v15: mm: add generic p?d_leaf() macros arc: mm: add p?d_leaf() definitions arm: mm: add p?d_leaf() definitions arm64: mm: add p?d_leaf() definitions mips: mm: add p?d_leaf() definitions powerpc: mm: add p?d_leaf() definitions riscv: mm: add p?d_leaf() definitions s390: mm: add p?d_leaf() definitions sparc: mm: add p?d_leaf() definitions x86: mm: add p?d_leaf() definitions mm: pagewalk: add p4d_entry() and pgd_entry() mm: pagewalk: allow walking without vma mm: pagewalk: add test_p?d callbacks mm: pagewalk: add 'depth' parameter to pte_hole x86: mm: point to struct seq_file from struct pg_state x86: mm+efi: convert ptdump_walk_pgd_level() to take a mm_struct x86: mm: convert ptdump_walk_pgd_level_debugfs() to take an mm_struct x86: mm: convert ptdump_walk_pgd_level_core() to take an mm_struct mm: add generic ptdump x86: mm: convert dump_pagetables to use walk_page_range arm64: mm: convert mm/dump.c to use walk_page_range() arm64: mm: display non-present entries in ptdump mm: ptdump: reduce level numbers by 1 in note_page() Subsystem: mm/memfd Nicolas Geoffray <ngeoffray@xxxxxxxxxx>: mm, memfd: fix COW issue on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings "Joel Fernandes (Google)" <joel@xxxxxxxxxxxxxxxxx>: memfd: add test for COW on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings Subsystem: mm/memory-failure Jane Chu <jane.chu@xxxxxxxxxx>: mm/memory-failure.c clean up around tk pre-allocation Naoya Horiguchi <nao.horiguchi@xxxxxxxxx>: mm, soft-offline: convert parameter to pfn Yunfeng Ye <yeyunfeng@xxxxxxxxxx>: mm/memory-failure.c: use page_shift() in add_to_kill() Subsystem: mm/memory-hotplug Anshuman Khandual <anshuman.khandual@xxxxxxx>: mm/hotplug: reorder memblock_[free|remove]() calls in try_remove_memory() Alastair D'Silva <alastair@xxxxxxxxxxx>: mm/memory_hotplug.c: add a bounds check to __add_pages() David Hildenbrand <david@xxxxxxxxxx>: Patch series "mm/memory_hotplug: Export generic_online_page()": mm/memory_hotplug: export generic_online_page() hv_balloon: use generic_online_page() mm/memory_hotplug: remove __online_page_free() and __online_page_increment_counters() Patch series "mm: Memory offlining + page isolation cleanups", v2: mm/page_alloc.c: don't set pages PageReserved() when offlining mm/page_isolation.c: convert SKIP_HWPOISON to MEMORY_OFFLINE "Ben Dooks (Codethink)" <ben.dooks@xxxxxxxxxxxxxxx>: include/linux/memory_hotplug.h: move definitions of {set,clear}_zone_contiguous David Hildenbrand <david@xxxxxxxxxx>: drivers/base/memory.c: drop the mem_sysfs_mutex mm/memory_hotplug.c: don't allow to online/offline memory blocks with holes Subsystem: mm/sparsemem Vincent Whitchurch <vincent.whitchurch@xxxxxxxx>: mm/sparse: consistently do not zero memmap Ilya Leoshkevich <iii@xxxxxxxxxxxxx>: mm/sparse.c: mark populate_section_memmap as __meminit Michal Hocko <mhocko@xxxxxxxx>: mm/sparse.c: do not waste pre allocated memmap space Subsystem: mm/vmalloc Liu Xiang <liuxiang_1999@xxxxxxx>: mm/vmalloc.c: remove unnecessary highmem_mask from parameter of gfpflags_allow_blocking() "Uladzislau Rezki (Sony)" <urezki@xxxxxxxxx>: mm/vmalloc: remove preempt_disable/enable when doing preloading mm/vmalloc: respect passed gfp_mask when doing preloading mm/vmalloc: add more comments to the adjust_va_to_fit_type() Anders Roxell <anders.roxell@xxxxxxxxxx>: selftests: vm: add fragment CONFIG_TEST_VMALLOC "Uladzislau Rezki (Sony)" <urezki@xxxxxxxxx>: mm/vmalloc: rework vmap_area_lock Subsystem: mm/kasan Daniel Axtens <dja@xxxxxxxxxx>: Patch series "kasan: support backing vmalloc space with real shadow: kasan: support backing vmalloc space with real shadow memory kasan: add test for vmalloc fork: support VMAP_STACK with KASAN_VMALLOC x86/kasan: support KASAN_VMALLOC Subsystem: mm/pagealloc Anshuman Khandual <anshuman.khandual@xxxxxxx>: mm/page_alloc: add alloc_contig_pages() Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>: mm, pcp: share common code between memory hotplug and percpu sysctl handler mm, pcpu: make zone pcp updates and reset internal to the mm Hao Lee <haolee.swjtu@xxxxxxxxx>: include/linux/mmzone.h: fix comment for ISOLATE_UNMAPPED macro lijiazi <jqqlijiazi@xxxxxxxxx>: mm/page_alloc.c: print reserved_highatomic info Subsystem: mm/vmscan Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>: mm/vmscan: remove unused lru_pages argument Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>: mm/vmscan.c: remove unused scan_control parameter from pageout() Johannes Weiner <hannes@xxxxxxxxxxx>: Patch series "mm: vmscan: cgroup-related cleanups": mm: vmscan: simplify lruvec_lru_size() mm: clean up and clarify lruvec lookup procedure mm: vmscan: move inactive_list_is_low() swap check to the caller mm: vmscan: naming fixes: global_reclaim() and sane_reclaim() mm: vmscan: replace shrink_node() loop with a retry jump mm: vmscan: turn shrink_node_memcg() into shrink_lruvec() mm: vmscan: split shrink_node() into node part and memcgs part mm: vmscan: harmonize writeback congestion tracking for nodes & memcgs Patch series "mm: fix page aging across multiple cgroups": mm: vmscan: move file exhaustion detection to the node level mm: vmscan: detect file thrashing at the reclaim root mm: vmscan: enforce inactive:active ratio at the reclaim root Xianting Tian <xianting_tian@xxxxxxx>: mm/vmscan.c: fix typo in comment Subsystem: mm/proc Johannes Weiner <hannes@xxxxxxxxxxx>: kernel: sysctl: make drop_caches write-only Subsystem: mm/z3fold Vitaly Wool <vitaly.wool@xxxxxxxxxxxx>: mm/z3fold.c: add inter-page compaction Subsystem: mm/mempolicy Li Xinhai <lixinhai.lxh@xxxxxxxxx>: Patch series "mm: Fix checking unmapped holes for mbind", v4: mm/mempolicy.c: check range first in queue_pages_test_walk mm/mempolicy.c: fix checking unmapped holes for mbind Subsystem: mm/memblock Cao jin <caoj.fnst@xxxxxxxxxxxxxx>: mm/memblock.c: cleanup doc mm/memblock: correct doc for function Yunfeng Ye <yeyunfeng@xxxxxxxxxx>: mm: support memblock alloc on the exact node for sparse_buffer_init() Subsystem: mm/hugetlbfs Mike Kravetz <mike.kravetz@xxxxxxxxxx>: hugetlbfs: hugetlb_fault_mutex_hash() cleanup mm/hugetlbfs: fix error handling when setting up mounts Patch series "hugetlbfs: convert macros to static inline, fix sparse warning": powerpc/mm: remove pmd_huge/pud_huge stubs and include hugetlb.h hugetlbfs: convert macros to static inline, fix sparse warning Piotr Sarna <p.sarna@xxxxxxx>: hugetlbfs: add O_TMPFILE support Waiman Long <longman@xxxxxxxxxx>: hugetlbfs: take read_lock on i_mmap for PMD sharing Subsystem: mm/hugetlb Mina Almasry <almasrymina@xxxxxxxxxx>: hugetlb: region_chg provides only cache entry hugetlb: remove duplicated code Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: hugetlb: remove unused hstate in hugetlb_fault_mutex_hash() Zhigang Lu <tonnylu@xxxxxxxxxxx>: mm/hugetlb: avoid looping to the same hugepage if !pages and !vmas zhong jiang <zhongjiang@xxxxxxxxxx>: mm/huge_memory.c: split_huge_pages_fops should be defined with DEFINE_DEBUGFS_ATTRIBUTE Subsystem: mm/migration Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>: mm/migrate.c: handle freed page at the first place Subsystem: mm/thp "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx>: mm, thp: do not queue fully unmapped pages for deferred split Song Liu <songliubraving@xxxxxx>: mm/thp: flush file for !is_shmem PageDirty() case in collapse_file() Subsystem: mm/cma Yunfeng Ye <yeyunfeng@xxxxxxxxxx>: mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation zhong jiang <zhongjiang@xxxxxxxxxx>: mm/cma_debug.c: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops Subsystem: mm/autonuma Huang Ying <ying.huang@xxxxxxxxx>: autonuma: fix watermark checking in migrate_balanced_pgdat() autonuma: reduce cache footprint when scanning page tables Subsystem: mm/page-poison zhong jiang <zhongjiang@xxxxxxxxxx>: mm/hwpoison-inject: use DEFINE_DEBUGFS_ATTRIBUTE to define debugfs fops Subsystem: mm/mmap Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: mm/mmap.c: make vma_merge() comment more easy to understand Subsystem: mm/madvise Yunfeng Ye <yeyunfeng@xxxxxxxxxx>: mm/madvise.c: replace with page_size() in madvise_inject_error() Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: mm/madvise.c: use PAGE_ALIGN[ED] for range checking Subsystem: mm/userfaultfd Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: userfaultfd: use vma_pagesize for all huge page size calculation userfaultfd: remove unnecessary WARN_ON() in __mcopy_atomic_hugetlb() userfaultfd: wrap the common dst_vma check into an inlined function Andrea Arcangeli <aarcange@xxxxxxxxxx>: fs/userfaultfd.c: wp: clear VM_UFFD_MISSING or VM_UFFD_WP during userfaultfd_register() Mike Rapoport <rppt@xxxxxxxxxxxxx>: userfaultfd: require CAP_SYS_PTRACE for UFFD_FEATURE_EVENT_FORK Subsystem: mm/shmem Colin Ian King <colin.king@xxxxxxxxxxxxx>: mm/shmem.c: make array 'values' static const, makes object smaller Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>: mm: shmem: use proper gfp flags for shmem_writepage() Chen Jun <chenjun102@xxxxxxxxxx>: mm/shmem.c: cast the type of unmap_start to u64 Subsystem: mm/cleanups Hao Lee <haolee.swjtu@xxxxxxxxx>: mm: fix struct member name in function comments Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: mm: fix typos in comments when calling __SetPageUptodate() Souptick Joarder <jrdr.linux@xxxxxxxxx>: mm/memory_hotplug.c: remove __online_page_set_limits() Krzysztof Kozlowski <krzk@xxxxxxxxxx>: mm/Kconfig: fix indentation Randy Dunlap <rdunlap@xxxxxxxxxxxxx>: mm/Kconfig: fix trivial help text punctuation Subsystem: mm/support Minchan Kim <minchan@xxxxxxxxxx>: mm/page_io.c: annotate refault stalls from swap_readpage Documentation/admin-guide/cgroup-v2.rst | 7 Documentation/dev-tools/kasan.rst | 63 + arch/Kconfig | 9 arch/arc/include/asm/pgtable.h | 2 arch/arc/mm/fault.c | 10 arch/arc/mm/highmem.c | 4 arch/arm/include/asm/pgtable-2level.h | 1 arch/arm/include/asm/pgtable-3level.h | 1 arch/arm64/Kconfig | 1 arch/arm64/Kconfig.debug | 19 arch/arm64/include/asm/pgtable.h | 2 arch/arm64/include/asm/ptdump.h | 8 arch/arm64/mm/Makefile | 4 arch/arm64/mm/dump.c | 148 +--- arch/arm64/mm/mmu.c | 4 arch/arm64/mm/ptdump_debugfs.c | 2 arch/mips/include/asm/pgtable.h | 5 arch/powerpc/include/asm/book3s/64/pgtable-4k.h | 3 arch/powerpc/include/asm/book3s/64/pgtable-64k.h | 3 arch/powerpc/include/asm/book3s/64/pgtable.h | 30 arch/powerpc/mm/book3s64/radix_pgtable.c | 1 arch/riscv/include/asm/pgtable-64.h | 7 arch/riscv/include/asm/pgtable.h | 7 arch/s390/include/asm/pgtable.h | 2 arch/sparc/include/asm/pgtable_64.h | 2 arch/x86/Kconfig | 2 arch/x86/Kconfig.debug | 20 arch/x86/include/asm/pgtable.h | 10 arch/x86/mm/Makefile | 4 arch/x86/mm/debug_pagetables.c | 8 arch/x86/mm/dump_pagetables.c | 431 +++--------- arch/x86/mm/kasan_init_64.c | 61 + arch/x86/platform/efi/efi_32.c | 2 arch/x86/platform/efi/efi_64.c | 4 drivers/base/memory.c | 40 - drivers/firmware/efi/arm-runtime.c | 2 drivers/hv/hv_balloon.c | 4 drivers/xen/balloon.c | 1 fs/buffer.c | 6 fs/direct-io.c | 21 fs/hugetlbfs/inode.c | 67 + fs/ocfs2/acl.c | 4 fs/proc/task_mmu.c | 4 fs/userfaultfd.c | 21 include/asm-generic/4level-fixup.h | 1 include/asm-generic/5level-fixup.h | 1 include/asm-generic/pgtable-nop4d.h | 2 include/asm-generic/pgtable-nopmd.h | 2 include/asm-generic/pgtable-nopud.h | 2 include/asm-generic/pgtable.h | 71 ++ include/asm-generic/tlb.h | 4 include/linux/fs.h | 6 include/linux/gfp.h | 2 include/linux/hugetlb.h | 142 +++- include/linux/kasan.h | 31 include/linux/memblock.h | 3 include/linux/memcontrol.h | 51 - include/linux/memory_hotplug.h | 11 include/linux/mm.h | 42 - include/linux/mmzone.h | 34 include/linux/moduleloader.h | 2 include/linux/page-isolation.h | 4 include/linux/pagewalk.h | 42 - include/linux/ptdump.h | 22 include/linux/slab.h | 20 include/linux/string.h | 2 include/linux/swap.h | 2 include/linux/vmalloc.h | 12 include/trace/events/kmem.h | 53 + kernel/events/uprobes.c | 2 kernel/fork.c | 4 kernel/sysctl.c | 2 lib/Kconfig.kasan | 16 lib/test_kasan.c | 26 lib/vsprintf.c | 40 - mm/Kconfig | 40 - mm/Kconfig.debug | 21 mm/Makefile | 1 mm/cma.c | 6 mm/cma_debug.c | 10 mm/filemap.c | 56 - mm/gup.c | 40 - mm/hmm.c | 8 mm/huge_memory.c | 2 mm/hugetlb.c | 298 ++------ mm/hwpoison-inject.c | 4 mm/internal.h | 27 mm/kasan/common.c | 233 ++++++ mm/kasan/generic_report.c | 3 mm/kasan/kasan.h | 1 mm/khugepaged.c | 18 mm/madvise.c | 14 mm/memblock.c | 113 ++- mm/memcontrol.c | 167 ---- mm/memory-failure.c | 61 - mm/memory.c | 56 + mm/memory_hotplug.c | 86 +- mm/mempolicy.c | 59 + mm/migrate.c | 21 mm/mincore.c | 1 mm/mmap.c | 75 -- mm/mprotect.c | 8 mm/mremap.c | 4 mm/nommu.c | 10 mm/page_alloc.c | 137 +++ mm/page_io.c | 15 mm/page_isolation.c | 12 mm/pagewalk.c | 126 ++- mm/pgtable-generic.c | 9 mm/ptdump.c | 167 ++++ mm/rmap.c | 65 + mm/shmem.c | 29 mm/slab.c | 7 mm/slab.h | 6 mm/slab_common.c | 101 +- mm/slub.c | 36 - mm/sparse.c | 22 mm/swap.c | 29 mm/swapfile.c | 7 mm/userfaultfd.c | 77 +- mm/util.c | 22 mm/vmalloc.c | 196 +++-- mm/vmscan.c | 798 +++++++++++------------ mm/workingset.c | 75 +- mm/z3fold.c | 375 ++++++++-- scripts/spelling.txt | 28 tools/testing/selftests/memfd/memfd_test.c | 36 + tools/testing/selftests/vm/config | 1 128 files changed, 3409 insertions(+), 2121 deletions(-)