Skip to content

Draft: RHEL 9.5 MM Proactive Fixes

Joel Savitz requested to merge jsavitz/centos-stream-9:RHEL-5619.test20 into main

Lots of small fixes with consideration to avoid entanglements in less than trivial conflicts. Includes many documentation updates.

NOTE: I have not added conflict/omitted fix documentation to this MR yet. I have it in my notes and will add it soon. This is very much a rough draft.

JIRA: https://issues.redhat.com/browse/RHEL-5619

 Documentation/admin-guide/cgroup-v1/memory.rst     |   9 +-
 Documentation/admin-guide/mm/pagemap.rst           |   2 +-
 Documentation/admin-guide/sysctl/vm.rst            |   4 +-
 Documentation/mm/highmem.rst                       |  13 +-
 Documentation/mm/hmm.rst                           |  11 +-
 Documentation/mm/overcommit-accounting.rst         |   3 +-
 Documentation/mm/zsmalloc.rst                      |   2 +
 arch/arm64/mm/hugetlbpage.c                        |   2 +-
 arch/arm64/mm/mmu.c                                |   4 +-
 arch/powerpc/crypto/aes-spe-glue.c                 |   2 +-
 arch/powerpc/include/asm/book3s/32/kup.h           |   5 -
 arch/powerpc/kernel/btext.c                        |   2 +-
 arch/powerpc/kernel/eeh_driver.c                   |   2 +-
 arch/powerpc/kernel/exceptions-64s.S               |   2 +-
 arch/powerpc/kernel/pci-common.c                   |   2 +-
 arch/powerpc/kernel/pci_dn.c                       |   2 +-
 arch/powerpc/kernel/ptrace/ptrace-vsx.c            |   2 +-
 arch/powerpc/kernel/trace/ftrace.c                 |   6 +-
 arch/powerpc/kernel/watchdog.c                     |   2 +-
 arch/powerpc/kvm/book3s_hv.c                       |   2 +-
 arch/powerpc/mm/book3s32/mmu_context.c             |   2 +-
 arch/powerpc/mm/book3s64/hash_utils.c              |   2 +-
 arch/powerpc/mm/book3s64/radix_pgtable.c           |  41 ++--
 arch/powerpc/mm/book3s64/radix_tlb.c               | 250 +++++++++++----------
 arch/powerpc/mm/init_64.c                          |   5 +-
 arch/powerpc/mm/nohash/8xx.c                       |   4 +-
 arch/powerpc/mm/nohash/kaslr_booke.c               |   1 -
 arch/powerpc/mm/pgtable_32.c                       |   6 +-
 arch/powerpc/platforms/4xx/cpm.c                   |   2 +-
 arch/powerpc/platforms/powernv/vas-fault.c         |   2 +-
 arch/powerpc/platforms/pseries/eeh_pseries.c       |   2 +-
 arch/powerpc/platforms/pseries/papr_scm.c          |   2 +-
 arch/s390/mm/kasan_init.c                          |  56 +++--
 arch/s390/mm/vmem.c                                |   6 +-
 arch/x86/include/asm/numa.h                        |   7 -
 arch/x86/mm/ioremap.c                              |   8 +-
 arch/x86/mm/kaslr.c                                |   8 +-
 arch/x86/mm/maccess.c                              |  19 +-
 arch/x86/mm/mem_encrypt_amd.c                      |   1 -
 arch/x86/mm/mem_encrypt_identity.c                 |   3 +-
 arch/x86/mm/numa.c                                 |   7 -
 arch/x86/mm/pat/memtype.c                          |   3 +-
 arch/x86/mm/pat/set_memory.c                       |  24 ++
 drivers/base/memory.c                              |  18 +-
 fs/fs-writeback.c                                  |  41 +++-
 fs/inode.c                                         |   3 +-
 fs/lockd/svc.c                                     |   2 +-
 fs/proc/proc_sysctl.c                              |   6 +
 fs/proc/task_mmu.c                                 |   6 +-
 fs/ramfs/inode.c                                   |   2 +-
 fs/xfs/xfs_buf.c                                   |   3 +-
 include/linux/damon.h                              |   7 +
 include/linux/hugetlb.h                            |  11 +-
 include/linux/kasan.h                              |   6 +-
 include/linux/memcontrol.h                         |  18 +-
 include/linux/memregion.h                          |   2 +-
 include/linux/mm.h                                 |  14 +-
 include/linux/mm_inline.h                          |  34 ++-
 include/linux/mm_types.h                           |  26 ++-
 include/linux/mmzone.h                             |  49 ++--
 include/linux/page-flags.h                         |   6 +
 include/linux/pagemap.h                            |   3 -
 include/linux/pagevec.h                            |   5 +
 include/linux/ramfs.h                              |   1 +
 include/linux/resume_user_mode.h                   |   2 +-
 include/linux/rmap.h                               |   7 +-
 include/linux/shmem_fs.h                           |   7 +
 include/linux/shrinker.h                           |  15 +-
 include/linux/slab.h                               |   3 -
 include/linux/swap.h                               |  17 +-
 include/linux/swapops.h                            |   4 +-
 include/linux/vmalloc.h                            |   4 +-
 kernel/sysctl.c                                    |  43 ++--
 lib/Kconfig.debug                                  |   8 -
 lib/slub_kunit.c                                   |  22 ++
 mm/Kconfig.debug                                   |   6 +-
 mm/bootmem_info.c                                  |   2 +-
 mm/cma.c                                           |   2 +-
 mm/compaction.c                                    |  49 ++--
 mm/damon/core-test.h                               |  30 ++-
 mm/damon/core.c                                    |  10 +-
 mm/damon/lru_sort.c                                |   4 +-
 mm/damon/ops-common.c                              |  21 +-
 mm/damon/ops-common.h                              |   4 +-
 mm/damon/paddr.c                                   |   4 +-
 mm/damon/sysfs.c                                   |  85 ++++---
 mm/damon/vaddr-test.h                              |   2 +
 mm/damon/vaddr.c                                   |   6 +-
 mm/filemap.c                                       |  11 +-
 mm/gup.c                                           |   2 +
 mm/huge_memory.c                                   |  28 ++-
 mm/hugetlb.c                                       | 192 +++++++++++-----
 mm/hugetlb_vmemmap.c                               |  36 ++-
 mm/hugetlb_vmemmap.h                               |   2 +-
 mm/kasan/hw_tags.c                                 |   4 +-
 mm/kasan/kasan_test.c                              |  20 +-
 mm/kasan/report.c                                  |  67 ++++--
 mm/kasan/shadow.c                                  |   2 +-
 mm/khugepaged.c                                    |  14 +-
 mm/kmemleak.c                                      |  33 +--
 mm/kmsan/core.c                                    | 127 +++--------
 mm/memblock.c                                      |   8 +-
 mm/memcontrol.c                                    |  38 ++--
 mm/memfd.c                                         |   3 +-
 mm/memory-failure.c                                |  22 +-
 mm/memory.c                                        |  96 +++++---
 mm/memory_hotplug.c                                |  15 +-
 mm/memremap.c                                      |   2 +-
 mm/migrate.c                                       |  38 +++-
 mm/mincore.c                                       |   2 +-
 mm/mmap.c                                          |   7 +-
 mm/mprotect.c                                      |   2 +-
 mm/mremap.c                                        |   4 +-
 mm/oom_kill.c                                      |   7 +-
 mm/page-writeback.c                                |   2 +-
 mm/page_alloc.c                                    |  57 +++--
 mm/page_reporting.c                                |   6 +-
 mm/page_table_check.c                              |   6 +
 mm/page_vma_mapped.c                               |  12 +-
 mm/percpu.c                                        |   3 -
 mm/readahead.c                                     |   3 +-
 mm/rmap.c                                          |   6 +-
 mm/shmem.c                                         |  49 +++-
 mm/shrinker_debug.c                                |  15 +-
 mm/slab.c                                          |  40 ++--
 mm/slab.h                                          |   4 +-
 mm/slab_common.c                                   |  11 +-
 mm/slob.c                                          |   6 +-
 mm/slub.c                                          |  11 +-
 mm/sparse.c                                        |  17 +-
 mm/swap.c                                          |   2 +-
 mm/util.c                                          |   4 +-
 mm/vmalloc.c                                       |  40 +++-
 mm/vmpressure.c                                    |   8 +
 mm/vmscan.c                                        | 201 +++++++++++------
 mm/vmstat.c                                        |   4 +-
 mm/workingset.c                                    |  29 ++-
 mm/zsmalloc.c                                      | 101 ++++-----
 mm/zswap.c                                         |  32 ++-
 .../common/generic/CONFIG_DEBUG_KMEMLEAK_TEST      |   1 -
 .../configs/common/generic/CONFIG_SAMPLE_KMEMLEAK  |   1 +
 samples/Kconfig                                    |   7 +
 samples/Makefile                                   |   2 +-
 samples/kmemleak/Makefile                          |   2 +-
 tools/testing/memblock/internal.h                  |   4 +
 tools/testing/selftests/powerpc/mm/.gitignore      |   1 +
 tools/testing/selftests/powerpc/mm/Makefile        |   4 +-
 .../selftests/powerpc/mm/large_vm_gpr_corruption.c | 156 +++++++++++++
 tools/vm/Makefile                                  |   4 +-
 tools/vm/page_owner_sort.c                         |   2 +-
 150 files changed, 1752 insertions(+), 1043 deletions(-)

Signed-off-by: Joel Savitz jsavitz@redhat.com

Edited by Joel Savitz

Merge request reports