- a few hot fixes - ocfs2 updates - almost all of -mm, as below. 134 patches, based on 619e17cf75dd58905aa67ccd494a6ba5f19d6cc6: Subsystems affected by this patch series: hotfixes ocfs2 slab-generic slab slub kmemleak kasan cleanups debug pagecache memcg gup pagemap memory-hotplug sparsemem vmalloc initialization z3fold compaction mempolicy oom-kill hugetlb migration thp mmap madvise shmem zswap zsmalloc Subsystem: hotfixes OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>: fat: work around race with userspace's read via blockdev while mounting Vitaly Wool <vitalywool@xxxxxxxxx>: Revert "mm/z3fold.c: fix race between migration and destruction" Arnd Bergmann <arnd@xxxxxxxx>: mm: add dummy can_do_mlock() helper Vitaly Wool <vitalywool@xxxxxxxxx>: z3fold: fix retry mechanism in page reclaim Greg Thelen <gthelen@xxxxxxxxxx>: kbuild: clean compressed initramfs image Subsystem: ocfs2 Joseph Qi <joseph.qi@xxxxxxxxxxxxxxxxx>: ocfs2: use jbd2_inode dirty range scoping jbd2: remove jbd2_journal_inode_add_[write|wait] Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>: ocfs2: further debugfs cleanups Guozhonghua <guozhonghua@xxxxxxx>: ocfs2: remove unused ocfs2_calc_tree_trunc_credits() ocfs2: remove unused ocfs2_orphan_scan_exit() declaration zhengbin <zhengbin13@xxxxxxxxxx>: fs/ocfs2/namei.c: remove set but not used variables fs/ocfs2/file.c: remove set but not used variables fs/ocfs2/dir.c: remove set but not used variables Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>: ocfs2: delete unnecessary checks before brelse() Changwei Ge <gechangwei@xxxxxxx>: ocfs2: wait for recovering done after direct unlock request ocfs2: checkpoint appending truncate log transaction before flushing Colin Ian King <colin.king@xxxxxxxxxxxxx>: ocfs2: fix spelling mistake "ambigous" -> "ambiguous" Subsystem: slab-generic Waiman Long <longman@xxxxxxxxxx>: mm, slab: extend slab/shrink to shrink all memcg caches Subsystem: slab Waiman Long <longman@xxxxxxxxxx>: mm, slab: move memcg_cache_params structure to mm/slab.h Subsystem: slub Qian Cai <cai@xxxxxx>: mm/slub.c: fix -Wunused-function compiler warnings Subsystem: kmemleak Nicolas Boichat <drinkcat@xxxxxxxxxxxx>: kmemleak: increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE default to 16K Catalin Marinas <catalin.marinas@xxxxxxx>: Patch series "mm: kmemleak: Use a memory pool for kmemleak object: mm: kmemleak: make the tool tolerant to struct scan_area allocation failures mm: kmemleak: simple memory allocation pool for kmemleak objects mm: kmemleak: use the memory pool for early allocations Qian Cai <cai@xxxxxx>: mm/kmemleak.c: record the current memory pool size mm/kmemleak: increase the max mem pool to 1M Subsystem: kasan Walter Wu <walter-zh.wu@xxxxxxxxxxxx>: kasan: add memory corruption identification for software tag-based mode Mark Rutland <mark.rutland@xxxxxxx>: lib/test_kasan.c: add roundtrip tests Subsystem: cleanups Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>: mm/page_poison.c: fix a typo in a comment YueHaibing <yuehaibing@xxxxxxxxxx>: mm/rmap.c: remove set but not used variable 'cstart' Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>: Patch series "Make working with compound pages easier", v2: mm: introduce page_size() "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx>: mm: introduce page_shift() Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>: mm: introduce compound_nr() Yu Zhao <yuzhao@xxxxxxxxxx>: mm: replace list_move_tail() with add_page_to_lru_list_tail() Subsystem: debug Vlastimil Babka <vbabka@xxxxxxx>: Patch series "debug_pagealloc improvements through page_owner", v2: mm, page_owner: record page owner for each subpage mm, page_owner: keep owner info when freeing the page mm, page_owner, debug_pagealloc: save and dump freeing stack trace Subsystem: pagecache Konstantin Khlebnikov <khlebnikov@xxxxxxxxxxxxxx>: mm/filemap.c: don't initiate writeback if mapping has no dirty pages mm/filemap.c: rewrite mapping_needs_writeback in less fancy manner "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx>: mm: page cache: store only head pages in i_pages Subsystem: memcg Chris Down <chris@xxxxxxxxxxxxxx>: mm, memcg: throttle allocators when failing reclaim over memory.high Roman Gushchin <guro@xxxxxx>: mm: memcontrol: switch to rcu protection in drain_all_stock() Johannes Weiner <hannes@xxxxxxxxxxx>: mm: vmscan: do not share cgroup iteration between reclaimers Subsystem: gup [11~From: John Hubbard <jhubbard@xxxxxxxxxx>: Patch series "mm/gup: add make_dirty arg to put_user_pages_dirty_lock()",: mm/gup: add make_dirty arg to put_user_pages_dirty_lock() John Hubbard <jhubbard@xxxxxxxxxx>: drivers/gpu/drm/via: convert put_page() to put_user_page*() net/xdp: convert put_page() to put_user_page*() Subsystem: pagemap Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: mm: remove redundant assignment of entry Minchan Kim <minchan@xxxxxxxxxx>: mm: release the spinlock on zap_pte_range Nicholas Piggin <npiggin@xxxxxxxxx>: Patch series "mm: remove quicklist page table caches": mm: remove quicklist page table caches Mike Rapoport <rppt@xxxxxxxxxxxxx>: ia64: switch to generic version of pte allocation sh: switch to generic version of pte allocation microblaze: switch to generic version of pte allocation mm: consolidate pgtable_cache_init() and pgd_cache_init() Kefeng Wang <wangkefeng.wang@xxxxxxxxxx>: mm: do not hash address in print_bad_pte() Subsystem: memory-hotplug David Hildenbrand <david@xxxxxxxxxx>: mm/memory_hotplug: remove move_pfn_range() drivers/base/node.c: simplify unregister_memory_block_under_nodes() drivers/base/memory.c: fixup documentation of removable/phys_index/block_size_bytes driver/base/memory.c: validate memory block size early drivers/base/memory.c: don't store end_section_nr in memory blocks Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: mm/memory_hotplug.c: prevent memory leak when reusing pgdat David Hildenbrand <david@xxxxxxxxxx>: Patch series "mm/memory_hotplug: online_pages() cleanups", v2: mm/memory_hotplug.c: use PFN_UP / PFN_DOWN in walk_system_ram_range() mm/memory_hotplug: drop PageReserved() check in online_pages_range() mm/memory_hotplug: simplify online_pages_range() mm/memory_hotplug: make sure the pfn is aligned to the order when onlining mm/memory_hotplug: online_pages cannot be 0 in online_pages() Alastair D'Silva <alastair@xxxxxxxxxxx>: Patch series "Add bounds check for Hotplugged memory", v3: mm/memory_hotplug.c: add a bounds check to check_hotplug_memory_range() mm/memremap.c: add a bounds check in devm_memremap_pages() Souptick Joarder <jrdr.linux@xxxxxxxxx>: mm/memory_hotplug.c: s/is/if Subsystem: sparsemem Lecopzer Chen <lecopzer.chen@xxxxxxxxxxxx>: mm/sparse.c: fix memory leak of sparsemap_buf in aligned memory mm/sparse.c: fix ALIGN() without power of 2 in sparse_buffer_alloc() Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: mm/sparse.c: use __nr_to_section(section_nr) to get mem_section Alastair D'Silva <alastair@xxxxxxxxxxx>: mm/sparse.c: don't manually decrement num_poisoned_pages "Alastair D'Silva" <alastair@xxxxxxxxxxx>: mm/sparse.c: remove NULL check in clear_hwpoisoned_pages() Subsystem: vmalloc "Uladzislau Rezki (Sony)" <urezki@xxxxxxxxx>: mm/vmalloc: do not keep unpurged areas in the busy tree Pengfei Li <lpf.vector@xxxxxxxxx>: mm/vmalloc: modify struct vmap_area to reduce its size Austin Kim <austindh.kim@xxxxxxxxx>: mm/vmalloc.c: move 'area->pages' after if statement Subsystem: initialization Mike Rapoport <rppt@xxxxxxxxxxxxx>: mm: use CPU_BITS_NONE to initialize init_mm.cpu_bitmask Qian Cai <cai@xxxxxx>: mm: silence -Woverride-init/initializer-overrides Subsystem: z3fold Vitaly Wool <vitalywool@xxxxxxxxx>: z3fold: fix memory leak in kmem cache Subsystem: compaction Yafang Shao <laoar.shao@xxxxxxxxx>: mm/compaction.c: clear total_{migrate,free}_scanned before scanning a new zone Pengfei Li <lpf.vector@xxxxxxxxx>: mm/compaction.c: remove unnecessary zone parameter in isolate_migratepages() Subsystem: mempolicy Kefeng Wang <wangkefeng.wang@xxxxxxxxxx>: mm/mempolicy.c: remove unnecessary nodemask check in kernel_migrate_pages() Subsystem: oom-kill Joel Savitz <jsavitz@xxxxxxxxxx>: mm/oom_kill.c: add task UID to info message on an oom kill Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>: memcg, oom: don't require __GFP_FS when invoking memcg OOM killer Edward Chron <echron@xxxxxxxxxx>: mm/oom: add oom_score_adj and pgtables to Killed process message Yi Wang <wang.yi59@xxxxxxxxxx>: mm/oom_kill.c: fix oom_cpuset_eligible() comment Michal Hocko <mhocko@xxxxxxxx>: mm, oom: consider present pages for the node size Qian Cai <cai@xxxxxx>: mm/memcontrol.c: fix a -Wunused-function warning Michal Hocko <mhocko@xxxxxxxx>: memcg, kmem: deprecate kmem.limit_in_bytes Subsystem: hugetlb Hillf Danton <hdanton@xxxxxxxx>: Patch series "address hugetlb page allocation stalls", v2: mm, reclaim: make should_continue_reclaim perform dryrun detection Vlastimil Babka <vbabka@xxxxxxx>: mm, reclaim: cleanup should_continue_reclaim() mm, compaction: raise compaction priority after it withdrawns Mike Kravetz <mike.kravetz@xxxxxxxxxx>: hugetlbfs: don't retry when pool page allocations start to fail Subsystem: migration Pingfan Liu <kernelfans@xxxxxxxxx>: mm/migrate.c: clean up useless code in migrate_vma_collect_pmd() Subsystem: thp Kefeng Wang <wangkefeng.wang@xxxxxxxxxx>: thp: update split_huge_page_pmd() comment Song Liu <songliubraving@xxxxxx>: Patch series "Enable THP for text section of non-shmem files", v10;: filemap: check compound_head(page)->mapping in filemap_fault() filemap: check compound_head(page)->mapping in pagecache_get_page() filemap: update offset check in filemap_fault() mm,thp: stats for file backed THP khugepaged: rename collapse_shmem() and khugepaged_scan_shmem() mm,thp: add read-only THP support for (non-shmem) FS mm,thp: avoid writes to file with THP in pagecache Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>: Patch series "Make deferred split shrinker memcg aware", v6: mm: thp: extract split_queue_* into a struct mm: move mem_cgroup_uncharge out of __page_cache_release() mm: shrinker: make shrinker not depend on memcg kmem mm: thp: make deferred split shrinker memcg aware Song Liu <songliubraving@xxxxxx>: Patch series "THP aware uprobe", v13: mm: move memcmp_pages() and pages_identical() uprobe: use original page when all uprobes are removed mm, thp: introduce FOLL_SPLIT_PMD uprobe: use FOLL_SPLIT_PMD instead of FOLL_SPLIT khugepaged: enable collapse pmd for pte-mapped THP uprobe: collapse THP pmd after removing all uprobes Subsystem: mmap Alexandre Ghiti <alex@xxxxxxxx>: Patch series "Provide generic top-down mmap layout functions", v6: mm, fs: move randomize_stack_top from fs to mm arm64: make use of is_compat_task instead of hardcoding this test arm64: consider stack randomization for mmap base only when necessary arm64, mm: move generic mmap layout functions to mm arm64, mm: make randomization selected by generic topdown mmap layout arm: properly account for stack randomization and stack guard gap arm: use STACK_TOP when computing mmap base address arm: use generic mmap top-down layout and brk randomization mips: properly account for stack randomization and stack guard gap mips: use STACK_TOP when computing mmap base address mips: adjust brk randomization offset to fit generic version mips: replace arch specific way to determine 32bit task with generic version mips: use generic mmap top-down layout and brk randomization riscv: make mmap allocation top-down by default Wei Yang <richardw.yang@xxxxxxxxxxxxxxx>: mm/mmap.c: refine find_vma_prev() with rb_last() Ivan Khoronzhuk <ivan.khoronzhuk@xxxxxxxxxx>: mm: mmap: increase sockets maximum memory size pgoff for 32bits Subsystem: madvise Mike Rapoport <rppt@xxxxxxxxxxxxx>: mm/madvise: reduce code duplication in error handling paths Subsystem: shmem Miles Chen <miles.chen@xxxxxxxxxxxx>: shmem: fix obsolete comment in shmem_getpage_gfp() Subsystem: zswap Hui Zhu <teawaterz@xxxxxxxxxxxxxxxxx>: zpool: add malloc_support_movable to zpool_driver zswap: use movable memory if zpool support allocate movable memory Vitaly Wool <vitalywool@xxxxxxxxx>: zswap: do not map same object twice Subsystem: zsmalloc Qian Cai <cai@xxxxxx>: mm/zsmalloc.c: fix a -Wunused-function warning Documentation/ABI/testing/sysfs-kernel-slab | 13 Documentation/admin-guide/cgroup-v1/memory.rst | 4 Documentation/admin-guide/kernel-parameters.txt | 2 arch/Kconfig | 11 arch/alpha/include/asm/pgalloc.h | 2 arch/alpha/include/asm/pgtable.h | 5 arch/arc/include/asm/pgalloc.h | 1 arch/arc/include/asm/pgtable.h | 5 arch/arm/Kconfig | 1 arch/arm/include/asm/pgalloc.h | 2 arch/arm/include/asm/pgtable-nommu.h | 5 arch/arm/include/asm/pgtable.h | 2 arch/arm/include/asm/processor.h | 2 arch/arm/kernel/process.c | 5 arch/arm/mm/flush.c | 7 arch/arm/mm/mmap.c | 80 ----- arch/arm64/Kconfig | 2 arch/arm64/include/asm/pgalloc.h | 2 arch/arm64/include/asm/pgtable.h | 2 arch/arm64/include/asm/processor.h | 2 arch/arm64/kernel/process.c | 8 arch/arm64/mm/flush.c | 3 arch/arm64/mm/mmap.c | 84 ----- arch/arm64/mm/pgd.c | 2 arch/c6x/include/asm/pgtable.h | 5 arch/csky/include/asm/pgalloc.h | 2 arch/csky/include/asm/pgtable.h | 5 arch/h8300/include/asm/pgtable.h | 6 arch/hexagon/include/asm/pgalloc.h | 2 arch/hexagon/include/asm/pgtable.h | 3 arch/hexagon/mm/Makefile | 2 arch/hexagon/mm/pgalloc.c | 10 arch/ia64/Kconfig | 4 arch/ia64/include/asm/pgalloc.h | 64 ---- arch/ia64/include/asm/pgtable.h | 5 arch/ia64/mm/init.c | 2 arch/m68k/include/asm/pgtable_mm.h | 7 arch/m68k/include/asm/pgtable_no.h | 7 arch/microblaze/include/asm/pgalloc.h | 128 -------- arch/microblaze/include/asm/pgtable.h | 7 arch/microblaze/mm/pgtable.c | 4 arch/mips/Kconfig | 2 arch/mips/include/asm/pgalloc.h | 2 arch/mips/include/asm/pgtable.h | 5 arch/mips/include/asm/processor.h | 5 arch/mips/mm/mmap.c | 124 +------- arch/nds32/include/asm/pgalloc.h | 2 arch/nds32/include/asm/pgtable.h | 2 arch/nios2/include/asm/pgalloc.h | 2 arch/nios2/include/asm/pgtable.h | 2 arch/openrisc/include/asm/pgalloc.h | 2 arch/openrisc/include/asm/pgtable.h | 5 arch/parisc/include/asm/pgalloc.h | 2 arch/parisc/include/asm/pgtable.h | 2 arch/powerpc/include/asm/pgalloc.h | 2 arch/powerpc/include/asm/pgtable.h | 1 arch/powerpc/mm/book3s64/hash_utils.c | 2 arch/powerpc/mm/book3s64/iommu_api.c | 7 arch/powerpc/mm/hugetlbpage.c | 2 arch/riscv/Kconfig | 12 arch/riscv/include/asm/pgalloc.h | 4 arch/riscv/include/asm/pgtable.h | 5 arch/s390/include/asm/pgtable.h | 6 arch/sh/include/asm/pgalloc.h | 56 --- arch/sh/include/asm/pgtable.h | 5 arch/sh/mm/Kconfig | 3 arch/sh/mm/nommu.c | 4 arch/sparc/include/asm/pgalloc_32.h | 2 arch/sparc/include/asm/pgalloc_64.h | 2 arch/sparc/include/asm/pgtable_32.h | 5 arch/sparc/include/asm/pgtable_64.h | 1 arch/sparc/mm/init_32.c | 1 arch/um/include/asm/pgalloc.h | 2 arch/um/include/asm/pgtable.h | 2 arch/unicore32/include/asm/pgalloc.h | 2 arch/unicore32/include/asm/pgtable.h | 2 arch/x86/include/asm/pgtable_32.h | 2 arch/x86/include/asm/pgtable_64.h | 3 arch/x86/mm/pgtable.c | 6 arch/xtensa/include/asm/pgtable.h | 1 arch/xtensa/include/asm/tlbflush.h | 3 drivers/base/memory.c | 44 +- drivers/base/node.c | 55 +-- drivers/crypto/chelsio/chtls/chtls_io.c | 5 drivers/gpu/drm/via/via_dmablit.c | 10 drivers/infiniband/core/umem.c | 5 drivers/infiniband/hw/hfi1/user_pages.c | 5 drivers/infiniband/hw/qib/qib_user_pages.c | 5 drivers/infiniband/hw/usnic/usnic_uiom.c | 5 drivers/infiniband/sw/siw/siw_mem.c | 10 drivers/staging/android/ion/ion_system_heap.c | 4 drivers/target/tcm_fc/tfc_io.c | 3 drivers/vfio/vfio_iommu_spapr_tce.c | 8 fs/binfmt_elf.c | 20 - fs/fat/dir.c | 13 fs/fat/fatent.c | 3 fs/inode.c | 3 fs/io_uring.c | 2 fs/jbd2/journal.c | 2 fs/jbd2/transaction.c | 12 fs/ocfs2/alloc.c | 20 + fs/ocfs2/aops.c | 13 fs/ocfs2/blockcheck.c | 26 - fs/ocfs2/cluster/heartbeat.c | 109 +------ fs/ocfs2/dir.c | 3 fs/ocfs2/dlm/dlmcommon.h | 1 fs/ocfs2/dlm/dlmdebug.c | 55 --- fs/ocfs2/dlm/dlmdebug.h | 16 - fs/ocfs2/dlm/dlmdomain.c | 7 fs/ocfs2/dlm/dlmunlock.c | 23 + fs/ocfs2/dlmglue.c | 29 - fs/ocfs2/extent_map.c | 3 fs/ocfs2/file.c | 13 fs/ocfs2/inode.c | 2 fs/ocfs2/journal.h | 42 -- fs/ocfs2/namei.c | 2 fs/ocfs2/ocfs2.h | 3 fs/ocfs2/super.c | 10 fs/open.c | 8 fs/proc/meminfo.c | 8 fs/proc/task_mmu.c | 6 include/asm-generic/pgalloc.h | 5 include/asm-generic/pgtable.h | 7 include/linux/compaction.h | 22 + include/linux/fs.h | 32 ++ include/linux/huge_mm.h | 9 include/linux/hugetlb.h | 2 include/linux/jbd2.h | 2 include/linux/khugepaged.h | 12 include/linux/memcontrol.h | 23 - include/linux/memory.h | 7 include/linux/memory_hotplug.h | 1 include/linux/mm.h | 37 ++ include/linux/mm_types.h | 1 include/linux/mmzone.h | 14 include/linux/page_ext.h | 1 include/linux/pagemap.h | 10 include/linux/quicklist.h | 94 ------ include/linux/shrinker.h | 7 include/linux/slab.h | 62 ---- include/linux/vmalloc.h | 20 - include/linux/zpool.h | 3 init/main.c | 6 kernel/events/uprobes.c | 81 ++++- kernel/resource.c | 4 kernel/sched/idle.c | 1 kernel/sysctl.c | 6 lib/Kconfig.debug | 15 lib/Kconfig.kasan | 8 lib/iov_iter.c | 2 lib/show_mem.c | 5 lib/test_kasan.c | 41 ++ mm/Kconfig | 16 - mm/Kconfig.debug | 4 mm/Makefile | 4 mm/compaction.c | 50 +-- mm/filemap.c | 168 ++++------ mm/gup.c | 125 +++----- mm/huge_memory.c | 129 ++++++-- mm/hugetlb.c | 89 +++++ mm/hugetlb_cgroup.c | 2 mm/init-mm.c | 2 mm/kasan/common.c | 32 +- mm/kasan/kasan.h | 14 mm/kasan/report.c | 44 ++ mm/kasan/tags_report.c | 24 + mm/khugepaged.c | 372 ++++++++++++++++++++---- mm/kmemleak.c | 338 +++++---------------- mm/ksm.c | 18 - mm/madvise.c | 52 +-- mm/memcontrol.c | 188 ++++++++++-- mm/memfd.c | 2 mm/memory.c | 21 + mm/memory_hotplug.c | 120 ++++--- mm/mempolicy.c | 4 mm/memremap.c | 5 mm/migrate.c | 13 mm/mmap.c | 12 mm/mmu_gather.c | 2 mm/nommu.c | 2 mm/oom_kill.c | 30 + mm/page_alloc.c | 27 + mm/page_owner.c | 127 +++++--- mm/page_poison.c | 2 mm/page_vma_mapped.c | 3 mm/quicklist.c | 103 ------ mm/rmap.c | 25 - mm/shmem.c | 12 mm/slab.h | 64 ++++ mm/slab_common.c | 37 ++ mm/slob.c | 2 mm/slub.c | 22 - mm/sparse.c | 25 + mm/swap.c | 16 - mm/swap_state.c | 6 mm/util.c | 126 +++++++- mm/vmalloc.c | 84 +++-- mm/vmscan.c | 163 ++++------ mm/vmstat.c | 2 mm/z3fold.c | 154 ++------- mm/zpool.c | 16 + mm/zsmalloc.c | 23 - mm/zswap.c | 15 net/xdp/xdp_umem.c | 9 net/xdp/xsk.c | 2 usr/Makefile | 3 206 files changed, 2385 insertions(+), 2533 deletions(-)