linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] non-MM updates for 6.19-rc1
@ 2025-12-06 19:15 Andrew Morton
  2025-12-06 23:33 ` pr-tracker-bot
  2025-12-06 23:40 ` Linus Torvalds
  0 siblings, 2 replies; 3+ messages in thread
From: Andrew Morton @ 2025-12-06 19:15 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux-kernel, linux-mm, mm-commits, Pasha Tatashin


Linus, please merge this batch of non-MM updates for the upcoming -rc
cycle.  I'll have a second much smaller batch next week.

Thanks.


Conflicts which I'm presently seeing and their linux-next resolutions
are as follows:

tools/testing/selftests/drivers/net/gro.c
tools/testing/selftests/drivers/net/hw/toeplitz.c, vs net-next tree:
https://lkml.kernel.org/r/20251124125006.3953f1d5@canb.auug.org.au
https://lkml.kernel.org/r/20251126103039.222a1589@canb.auug.org.au

tools/testing/selftests/vfio/lib/include/vfio_util.h, vs vfio tree:
https://lkml.kernel.org/r/20251201103154.32226085@canb.auug.org.au

tools/testing/selftests/vfio/lib/vfio_pci_device.c, vs vfio tree:
https://lkml.kernel.org/r/20251201103154.32226085@canb.auug.org.au
https://lkml.kernel.org/r/20251201101046.009b0919@canb.auug.org.au

tools/testing/selftests/vfio/lib/vfio_pci_driver.c, vs vfio tree:
https://lkml.kernel.org/r/20251201101312.4dfd2b19@canb.auug.org.au

tools/testing/selftests/vfio/vfio_iommufd_setup_test.c, vs vfio tree:
https://lkml.kernel.org/r/20251201101549.5792d6df@canb.auug.org.au


The following changes since commit 7c9580f44f90f7a4c11fc7831efe323ebe446091:

  mm/filemap: fix logic around SIGBUS in filemap_map_pages() (2025-11-24 14:25:18 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm tags/mm-nonmm-stable-2025-12-06-11-14

for you to fetch changes up to aa514a297a0c175239f24a2e582ebd37f0727494:

  calibrate: update header inclusion (2025-11-27 14:24:45 -0800)

----------------------------------------------------------------
Significant patch series in this pull request:

- The 6 patch series "panic: sys_info: Refactor and fix a potential
  issue" from Andy Shevchenko fixes a build issue and does some cleanup in
  ib/sys_info.c.

- The 9 patch series "Implement mul_u64_u64_div_u64_roundup()" from
  David Laight enhances the 64-bit math code on behalf of a PWM driver and
  beefs up the test module for these library functions.

- The 2 patch series "scripts/gdb/symbols: make BPF debug info available
  to GDB" from Ilya Leoshkevich makes BPF symbol names, sizes, and line
  numbers available to the GDB debugger.

- The 4 patch series "Enable hung_task and lockup cases to dump system
  info on demand" from Feng Tang adds a sysctl which can be used to cause
  additional info dumping when the hung-task and lockup detectors fire.

- The 6 patch series "lib/base64: add generic encoder/decoder, migrate
  users" from Kuan-Wei Chiu adds a general base64 encoder/decoder to lib/
  and migrates several users away from their private implementations.

- The 2 patch series "rbree: inline rb_first() and rb_last()" from Eric
  Dumazet makes TCP a little faster.

- The 9 patch series "liveupdate: Rework KHO for in-kernel users" from
  Pasha Tatashin reworks the KEXEC Handover interfaces in preparation for
  Live Update Orchestrator (LUO), and possibly for other future clients.

- The 13 patch series "kho: simplify state machine and enable dynamic
  updates" from Pasha Tatashin increases the flexibility of KEXEC
  Handover.  Also preparation for LUO.

- The 18 patch series "Live Update Orchestrator" from Pasha Tatashin is
  a major new feature targeted at cloud environments.  Quoting the [0/N]:

    This series introduces the Live Update Orchestrator, a kernel subsystem
    designed to facilitate live kernel updates using a kexec-based reboot.
    This capability is critical for cloud environments, allowing hypervisors
    to be updated with minimal downtime for running virtual machines.  LUO
    achieves this by preserving the state of selected resources, such as
    memory, devices and their dependencies, across the kernel transition.

    As a key feature, this series includes support for preserving memfd file
    descriptors, which allows critical in-memory data, such as guest RAM or
    any other large memory region, to be maintained in RAM across the kexec
    reboot.

  Mike Rappaport merits a mention here, for his extensive review and
  testing work.

- The 3 patch series "kexec: reorganize kexec and kdump sysfs" from
  Sourabh Jain moves the kexec and kdump sysfs entries from /sys/kernel/
  to /sys/kernel/kexec/ and adds back-compatibility symlinks which can
  hopefully be removed one day.

- The 2 patch series "kho: fixes for vmalloc restoration" from Mike
  Rapoport fixes a BUG which was being hit during KHO restoration of
  vmalloc() regions.

----------------------------------------------------------------
Ahmet Eray Karadag (1):
      ocfs2: mark inode bad upon validation failure during read

Alice Ryhl (1):
      uaccess: gate _copy_[to|from]_user on !INLINE_COPY_FROM_USER

Andrew Morton (1):
      Merge branch 'mm-hotfixes-stable' into mm-nonmm-stable in order to be able to merge "kho: make debugfs interface optional" into mm-nonmm-stable.

Andy Shevchenko (9):
      panic: sys_info: capture si_bits_global before iterating over it
      panic: sys_info: align constant definition names with parameters
      panic: sys_info:replace struct sys_info_name with plain array of strings
      panic: sys_info: rewrite a fix for a compilation error (`make W=1`)
      panic: sys_info: deduplicate local variable 'table; assignments
      panic: sys_info: factor out read and write handlers
      util_macros.h: fix kernel-doc for u64_to_user_ptr()
      math.h: amend abs() kernel-doc and add a note about signed type limits
      calibrate: update header inclusion

Ankan Biswas (1):
      lib/xz: remove dead IA-64 (Itanium) support code

Bala-Vignesh-Reddy (1):
      selftests: complete kselftest include centralization

Borislav Petkov (AMD) (1):
      lib/Kconfig.debug: cleanup CONFIG_DEBUG_SECTION_MISMATCH help text

Breno Leitao (1):
      vmcoreinfo: track and log recoverable hardware errors

Carlos López (1):
      checkpatch: add IDR to the deprecated list

Chia-Liang Wang (1):
      lib: ratelimit: fix spelling mistake 'seperately'

Christoph Hellwig (1):
      kernel/hung_task: unexport sysctl_hung_task_timeout_secs

David Laight (9):
      lib: mul_u64_u64_div_u64(): rename parameter 'c' to 'd'
      lib: mul_u64_u64_div_u64(): combine overflow and divide by zero checks
      lib: mul_u64_u64_div_u64(): simplify check for a 64bit product
      lib: add mul_u64_add_u64_div_u64() and mul_u64_u64_div_u64_roundup()
      lib: add tests for mul_u64_u64_div_u64_roundup()
      lib: test_mul_u64_u64_div_u64(): test both generic and arch versions
      lib: mul_u64_u64_div_u64(): optimise multiply on 32bit x86
      lib: mul_u64_u64_div_u64(): optimise the divide code
      lib: test_mul_u64_u64_div_u64(): test the 32bit code on 64bit

Deepanshu Kartikey (1):
      ocfs2: validate cl_bpc in allocator inodes to prevent divide-by-zero

Dmitry Antipov (8):
      ocfs2: add extra flags check in ocfs2_ioctl_move_extents()
      ocfs2: relax BUG() to ocfs2_error() in __ocfs2_move_extent()
      ocfs2: annotate flexible array members with __counted_by_le()
      ocfs2: add extra consistency check to ocfs2_dx_dir_lookup_rec()
      ocfs2: add directory size check to ocfs2_find_dir_space_id()
      ocfs2: add boundary check to ocfs2_check_dir_entry()
      ocfs2: add inline inode consistency check to ocfs2_validate_inode_block()
      ocfs2: add extra consistency checks for chain allocator dinodes

Douglas Anderson (1):
      init/main.c: wrap long kernel cmdline when printing to logs

Dr. David Alan Gilbert (1):
      lib/xxhash: remove more unused xxh functions

Eric Dumazet (2):
      rbtree: inline rb_first()
      rbtree: inline rb_last()

Feng Tang (4):
      docs: panic: correct some sys_ifo names in sysctl doc
      hung_task: add hung_task_sys_info sysctl to dump sys info on task-hung
      watchdog: add sys_info sysctls to dump sys info on system lockup
      sys_info: add a default kernel sys_info mask

Guan-Chun Wu (4):
      lib/base64: rework encode/decode for speed and stricter validation
      lib: add KUnit tests for base64 encoding/decoding
      fscrypt: replace local base64url helpers with lib/base64
      ceph: replace local base64 helpers with lib/base64

Gustavo Padovan (1):
      MAINTAINERS: remove Gustavo from sync framework

Hao Ge (1):
      mailmap: add entry for Hao Ge

Ilias Stamatis (1):
      Reinstate "resource: avoid unnecessary lookups in find_next_iomem_res()"

Ilya Leoshkevich (2):
      scripts/gdb/radix-tree: add lx-radix-tree-command
      scripts/gdb/symbols: make BPF debug info available to GDB

Jarkko Sakkinen (1):
      MAINTAINERS: TPM DEVICE DRIVER: update the W-tag

Joseph Qi (2):
      ocfs2: use correct endian in ocfs2_dinode_has_extents
      ocfs2: convert to host endian in ocfs2_validate_inode_block

Justinien Bouron (1):
      kexec_core: remove superfluous page offset handling in segment loading

Kuan-Wei Chiu (3):
      Revert "lib/plist.c: enforce memory ordering in plist_check_list"
      lib/base64: add support for multiple variants
      lib/base64: optimize base64_decode() with reverse lookup tables

Lance Yang (1):
      MAINTAINERS: add Petr as a reviewer of hung task detector

Li RongQing (1):
      hung_task: panic when there are more than N hung tasks at the same time

Lukas Bulwahn (1):
      treewide: drop outdated compiler version remarks in Kconfig help texts

Martin Kepplinger-Novaković (3):
      mailmap: update name and email addresses
      CREDITS: update Martin's information
      MAINTAINERS: apply name and email address changes for Martin

Mateusz Guzik (1):
      fork: stop ignoring NUMA while handling cached thread stacks

Mike Rapoport (Microsoft) (3):
      kho: drop notifiers
      kho: kho_restore_vmalloc: fix initialization of pages array
      kho: fix restoring of contiguous ranges of order-0 pages

Oleg Nesterov (1):
      release_task: kill unnecessary rcu_read_lock() around dec_rlimit_ucounts()

Onur Özkan (2):
      checkpatch: detect unhandled placeholders in cover letters
      checkpatch: document new check PLACEHOLDER_USE

Pasha Tatashin (32):
      kho: make debugfs interface optional
      kho: add interfaces to unpreserve folios, page ranges, and vmalloc
      memblock: unpreserve memory in case of error
      test_kho: unpreserve memory in case of error
      kho: don't unpreserve memory during abort
      liveupdate: kho: move to kernel/liveupdate
      MAINTAINERS: update KHO maintainers
      kho: fix misleading log message in kho_populate()
      kho: convert __kho_abort() to return void
      kho: introduce high-level memory allocation API
      kho: preserve FDT folio only once during initialization
      kho: verify deserialization status and fix FDT alignment access
      kho: always expose output FDT in debugfs
      kho: simplify serialization and remove __kho_abort
      kho: remove global preserved_mem_map and store state in FDT
      kho: remove abort functionality and support state refresh
      kho: update FDT dynamically for subtree addition/removal
      kho: allow kexec load before KHO finalization
      kho: allow memory preservation state updates after finalization
      kho: add Kconfig option to enable KHO by default
      liveupdate: luo_core: Live Update Orchestrator
      liveupdate: luo_core: integrate with KHO
      kexec: call liveupdate_reboot() before kexec
      liveupdate: luo_session: add sessions support
      liveupdate: luo_core: add user interface
      liveupdate: luo_file: implement file systems callbacks
      liveupdate: luo_session: add ioctls for file preservation
      docs: add luo documentation
      MAINTAINERS: add liveupdate entry
      selftests/liveupdate: add userspace API selftests
      selftests/liveupdate: add simple kexec-based selftest for LUO
      selftests/liveupdate: add kexec test for multiple and empty sessions

Petr Pavlu (1):
      taint/module: remove unnecessary taint_flag.module field

Pratyush Yadav (9):
      MAINTAINERS: add Pratyush as a reviewer for KHO
      mm: shmem: use SHMEM_F_* flags instead of VM_* flags
      mm: shmem: allow freezing inode mapping
      mm: shmem: export some functions to internal.h
      liveupdate: luo_file: add private argument to store runtime state
      mm: memfd_luo: allow preserving memfd
      docs: add documentation for memfd preservation via LUO
      kho: free chunks using free_page() instead of kfree()
      test_kho: always print restore status

Ran Xiaokai (1):
      KHO: fix boot failure due to kmemleak access to non-PRESENT pages

Randy Dunlap (1):
      taint: add reminder about updating docs and scripts

Ryusuke Konishi (1):
      MAINTAINERS: update nilfs2 entry

Sourabh Jain (6):
      crash: let architecture decide crash memory export to iomem_resource
      Documentation/ABI: add kexec and kdump sysfs interface
      crash: export crashkernel CMA reservation to userspace
      kexec: move sysfs entries to /sys/kernel/kexec
      Documentation/ABI: mark old kexec sysfs deprecated
      Documentation/ABI: new kexec and kdump sysfs interface

Thomas Weißschuh (1):
      compiler.h: remove ARCH_SEL()

Thorsten Blum (4):
      nilfs2: replace vmalloc + copy_from_user with vmemdup_user
      ocfs2: replace deprecated strcpy in ocfs2_create_xattr_block
      ocfs2: replace deprecated strcpy with strscpy
      init: replace simple_strtoul with kstrtoul to improve lpj_setup

Vlad Kulikov (1):
      ipc: create_ipc_ns: drop mqueue mount on sysctl setup failure

WangYuli (1):
      .mailmap: add entry for WangYuli

Xie Yuanbin (1):
      include/linux/once_lite.h: fix judgment in WARN_ONCE with clang

Ye Bin (1):
      dynamic_debug: add support for print stack

Yu-Chun Lin (1):
      mailmap: add entry for Yu-Chun Lin

Yury Norov (NVIDIA) (1):
      uaccess: decouple INLINE_COPY_FROM_USER and CONFIG_RUST

Zhichi Lin (1):
      scs: fix a wrong parameter in __scs_magic

Zhou Yuhang (1):
      samples: fix coding style issues in Kconfig

Zhu Yanjun (1):
      liveupdate: kho: use %pe format specifier for error pointer printing

zhang jiao (1):
      fs/proc/page: remove unused KPMBITS

 .mailmap                                           |   9 +-
 CREDITS                                            |   9 +-
 .../ABI/obsolete/sysfs-kernel-kexec-kdump          |  71 ++
 Documentation/ABI/testing/sysfs-kernel-kexec-kdump |  61 ++
 Documentation/admin-guide/dynamic-debug-howto.rst  |   5 +-
 Documentation/admin-guide/kernel-parameters.txt    |  20 +-
 Documentation/admin-guide/sysctl/kernel.rst        |  32 +-
 Documentation/core-api/index.rst                   |   1 +
 Documentation/core-api/kho/concepts.rst            |   2 +-
 Documentation/core-api/liveupdate.rst              |  61 ++
 Documentation/dev-tools/checkpatch.rst             |  10 +
 Documentation/driver-api/hw-recoverable-errors.rst |  60 ++
 Documentation/driver-api/index.rst                 |   1 +
 Documentation/mm/index.rst                         |   1 +
 Documentation/mm/memfd_preservation.rst            |  23 +
 Documentation/userspace-api/index.rst              |   1 +
 Documentation/userspace-api/ioctl/ioctl-number.rst |   2 +
 Documentation/userspace-api/liveupdate.rst         |  20 +
 MAINTAINERS                                        |  34 +-
 arch/Kconfig                                       |  19 +-
 arch/arm/Kconfig                                   |   2 -
 arch/arm/configs/aspeed_g5_defconfig               |   2 +-
 arch/powerpc/include/asm/crash_reserve.h           |   8 +
 arch/x86/include/asm/div64.h                       |  39 +-
 arch/x86/kernel/cpu/mce/core.c                     |   4 +
 drivers/acpi/apei/ghes.c                           |  36 +
 drivers/nvme/common/auth.c                         |   4 +-
 drivers/pci/pcie/aer.c                             |   2 +
 fs/ceph/crypto.c                                   |  60 +-
 fs/ceph/crypto.h                                   |   6 +-
 fs/ceph/dir.c                                      |   5 +-
 fs/ceph/inode.c                                    |   2 +-
 fs/crypto/fname.c                                  |  89 +--
 fs/nilfs2/ioctl.c                                  |  35 +-
 fs/ocfs2/dir.c                                     |  42 +-
 fs/ocfs2/inode.c                                   |  49 +-
 fs/ocfs2/move_extents.c                            |  14 +-
 fs/ocfs2/ocfs2_fs.h                                |  22 +-
 fs/ocfs2/refcounttree.c                            |   5 +-
 fs/ocfs2/xattr.c                                   |   2 +-
 fs/proc/page.c                                     |   1 -
 include/linux/base64.h                             |  10 +-
 include/linux/compiler.h                           |   6 -
 include/linux/crash_reserve.h                      |   6 +
 include/linux/dynamic_debug.h                      |  17 +-
 include/linux/kexec_handover.h                     |  57 +-
 include/linux/kho/abi/luo.h                        | 166 ++++
 include/linux/kho/abi/memfd.h                      |  77 ++
 include/linux/liveupdate.h                         | 138 ++++
 include/linux/math.h                               |  13 +-
 include/linux/math64.h                             |  59 +-
 include/linux/once_lite.h                          |   2 +-
 include/linux/panic.h                              |   1 -
 include/linux/rbtree.h                             |  32 +-
 include/linux/shmem_fs.h                           |  23 +
 include/linux/sys_info.h                           |   2 +-
 include/linux/uaccess.h                            |   6 +-
 include/linux/util_macros.h                        |   4 +-
 include/linux/vmcore_info.h                        |   8 +
 include/linux/xxhash.h                             |  46 +-
 include/uapi/linux/liveupdate.h                    | 216 +++++
 include/uapi/linux/vmcore.h                        |   9 +
 init/Kconfig                                       |  20 +
 init/calibrate.c                                   |  13 +-
 init/main.c                                        |  97 ++-
 ipc/namespace.c                                    |   9 +-
 kernel/Kconfig.kexec                               |  24 -
 kernel/Makefile                                    |   3 +-
 kernel/configs/debug.config                        |   2 +-
 kernel/crash_reserve.c                             |   3 +
 kernel/exit.c                                      |   4 +-
 kernel/fork.c                                      |  63 +-
 kernel/hung_task.c                                 |  56 +-
 kernel/kexec_core.c                                | 161 +++-
 kernel/kexec_handover_internal.h                   |  20 -
 kernel/ksysfs.c                                    |  68 +-
 kernel/liveupdate/Kconfig                          |  75 ++
 kernel/liveupdate/Makefile                         |  12 +
 kernel/{ => liveupdate}/kexec_handover.c           | 716 ++++++++---------
 kernel/{ => liveupdate}/kexec_handover_debug.c     |   0
 kernel/liveupdate/kexec_handover_debugfs.c         | 221 +++++
 kernel/liveupdate/kexec_handover_internal.h        |  55 ++
 kernel/liveupdate/luo_core.c                       | 450 +++++++++++
 kernel/liveupdate/luo_file.c                       | 889 +++++++++++++++++++++
 kernel/liveupdate/luo_internal.h                   | 110 +++
 kernel/liveupdate/luo_session.c                    | 646 +++++++++++++++
 kernel/module/main.c                               |   2 +-
 kernel/panic.c                                     |  52 +-
 kernel/resource.c                                  |  10 +-
 kernel/scs.c                                       |   2 +-
 kernel/vmcore_info.c                               |  17 +
 kernel/watchdog.c                                  |  44 +-
 lib/Kconfig.debug                                  |  63 +-
 lib/base64.c                                       | 189 +++--
 lib/dynamic_debug.c                                |   1 +
 lib/math/div64.c                                   | 185 +++--
 lib/math/test_mul_u64_u64_div_u64.c                | 191 +++--
 lib/plist.c                                        |   4 +-
 lib/ratelimit.c                                    |   2 +-
 lib/rbtree.c                                       |  29 -
 lib/sys_info.c                                     | 169 ++--
 lib/test_kho.c                                     | 140 ++--
 lib/tests/Makefile                                 |   1 +
 lib/tests/base64_kunit.c                           | 294 +++++++
 lib/usercopy.c                                     |   4 +-
 lib/xxhash.c                                       |  29 -
 lib/xz/xz_dec_bcj.c                                |  95 ---
 lib/xz/xz_private.h                                |   4 -
 mm/Makefile                                        |   1 +
 mm/internal.h                                      |   6 +
 mm/memblock.c                                      |  93 ++-
 mm/memfd_luo.c                                     | 516 ++++++++++++
 mm/shmem.c                                         |  49 +-
 rust/helpers/rbtree.c                              |  10 +
 rust/helpers/uaccess.c                             |  12 +
 samples/Kconfig                                    |  22 +-
 samples/vfs/Makefile                               |   1 +
 scripts/checkpatch.pl                              |  11 +
 scripts/gdb/linux/bpf.py                           | 253 ++++++
 scripts/gdb/linux/constants.py.in                  |   3 +
 scripts/gdb/linux/radixtree.py                     | 139 +++-
 scripts/gdb/linux/symbols.py                       | 105 ++-
 tools/testing/selftests/Makefile                   |   1 +
 tools/testing/selftests/acct/acct_syscall.c        |   2 +-
 tools/testing/selftests/alsa/conf.c                |   2 +-
 tools/testing/selftests/alsa/mixer-test.c          |   2 +-
 tools/testing/selftests/alsa/pcm-test.c            |   2 +-
 tools/testing/selftests/alsa/test-pcmtest-driver.c |   2 +-
 tools/testing/selftests/alsa/utimer-test.c         |   2 +-
 tools/testing/selftests/arm64/abi/hwcap.c          |   2 +-
 tools/testing/selftests/arm64/abi/ptrace.c         |   2 +-
 tools/testing/selftests/arm64/abi/syscall-abi.c    |   2 +-
 tools/testing/selftests/arm64/fp/fp-ptrace.c       |   2 +-
 tools/testing/selftests/arm64/fp/fp-stress.c       |   2 +-
 tools/testing/selftests/arm64/fp/sve-probe-vls.c   |   2 +-
 tools/testing/selftests/arm64/fp/sve-ptrace.c      |   2 +-
 tools/testing/selftests/arm64/fp/vec-syscfg.c      |   2 +-
 tools/testing/selftests/arm64/fp/za-ptrace.c       |   2 +-
 tools/testing/selftests/arm64/fp/zt-ptrace.c       |   2 +-
 tools/testing/selftests/arm64/gcs/gcs-stress.c     |   2 +-
 tools/testing/selftests/arm64/pauth/pac.c          |   2 +-
 tools/testing/selftests/arm64/tags/tags_test.c     |   2 +-
 tools/testing/selftests/bpf/xskxceiver.c           |   2 +-
 .../selftests/breakpoints/breakpoint_test.c        |   2 +-
 .../selftests/breakpoints/breakpoint_test_arm64.c  |   2 +-
 .../breakpoints/step_after_suspend_test.c          |   2 +-
 tools/testing/selftests/cachestat/test_cachestat.c |   2 +-
 tools/testing/selftests/capabilities/test_execve.c |   2 +-
 .../testing/selftests/capabilities/validate_cap.c  |   2 +-
 tools/testing/selftests/cgroup/test_core.c         |   2 +-
 tools/testing/selftests/cgroup/test_cpu.c          |   2 +-
 tools/testing/selftests/cgroup/test_cpuset.c       |   2 +-
 tools/testing/selftests/cgroup/test_freezer.c      |   2 +-
 .../testing/selftests/cgroup/test_hugetlb_memcg.c  |   2 +-
 tools/testing/selftests/cgroup/test_kill.c         |   2 +-
 tools/testing/selftests/cgroup/test_kmem.c         |   2 +-
 tools/testing/selftests/cgroup/test_memcontrol.c   |   2 +-
 tools/testing/selftests/cgroup/test_pids.c         |   2 +-
 tools/testing/selftests/cgroup/test_zswap.c        |   2 +-
 tools/testing/selftests/clone3/clone3.c            |   2 +-
 .../clone3/clone3_cap_checkpoint_restore.c         |   2 +-
 .../selftests/clone3/clone3_clear_sighand.c        |   2 +-
 tools/testing/selftests/clone3/clone3_selftests.h  |   2 +-
 tools/testing/selftests/clone3/clone3_set_tid.c    |   2 +-
 tools/testing/selftests/connector/proc_filter.c    |   2 +-
 tools/testing/selftests/core/close_range_test.c    |   2 +-
 tools/testing/selftests/core/unshare_test.c        |   2 +-
 tools/testing/selftests/coredump/stackdump_test.c  |   2 +-
 tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c |   2 +-
 tools/testing/selftests/drivers/dma-buf/udmabuf.c  |   2 +-
 tools/testing/selftests/drivers/ntsync/ntsync.c    |   2 +-
 .../drivers/s390x/uvdevice/test_uvdevice.c         |   2 +-
 tools/testing/selftests/exec/check-exec.c          |   2 +-
 tools/testing/selftests/exec/execveat.c            |   2 +-
 tools/testing/selftests/exec/load_address.c        |   2 +-
 tools/testing/selftests/exec/non-regular.c         |   2 +-
 tools/testing/selftests/exec/null-argv.c           |   2 +-
 tools/testing/selftests/exec/recursion-depth.c     |   2 +-
 tools/testing/selftests/fchmodat2/fchmodat2_test.c |   2 +-
 tools/testing/selftests/filelock/ofdlocks.c        |   2 +-
 .../selftests/filesystems/anon_inode_test.c        |   2 +-
 .../selftests/filesystems/binderfs/binderfs_test.c |   2 +-
 tools/testing/selftests/filesystems/devpts_pts.c   |   2 +-
 .../filesystems/epoll/epoll_wakeup_test.c          |   2 +-
 .../selftests/filesystems/eventfd/eventfd_test.c   |   2 +-
 tools/testing/selftests/filesystems/fclog.c        |   2 +-
 .../testing/selftests/filesystems/file_stressor.c  |   2 +-
 .../selftests/filesystems/fuse/fusectl_test.c      |   2 +-
 tools/testing/selftests/filesystems/kernfs_test.c  |   2 +-
 .../filesystems/mount-notify/mount-notify_test.c   |   2 +-
 .../mount-notify/mount-notify_test_ns.c            |   2 +-
 .../selftests/filesystems/nsfs/iterate_mntns.c     |   2 +-
 .../selftests/filesystems/overlayfs/dev_in_maps.c  |   2 +-
 .../filesystems/overlayfs/set_layers_via_fds.c     |   2 +-
 .../filesystems/statmount/listmount_test.c         |   2 +-
 .../filesystems/statmount/statmount_test.c         |   2 +-
 .../filesystems/statmount/statmount_test_ns.c      |   2 +-
 tools/testing/selftests/filesystems/utils.c        |   2 +-
 .../selftests/futex/functional/futex_numa_mpol.c   |   2 +-
 .../selftests/futex/functional/futex_priv_hash.c   |   2 +-
 .../selftests/futex/functional/futex_requeue.c     |   2 +-
 .../selftests/futex/functional/futex_requeue_pi.c  |   2 +-
 .../functional/futex_requeue_pi_mismatched_ops.c   |   2 +-
 .../functional/futex_requeue_pi_signal_restart.c   |   2 +-
 .../selftests/futex/functional/futex_wait.c        |   2 +-
 .../functional/futex_wait_private_mapped_file.c    |   2 +-
 .../futex/functional/futex_wait_timeout.c          |   2 +-
 .../functional/futex_wait_uninitialized_heap.c     |   2 +-
 .../futex/functional/futex_wait_wouldblock.c       |   2 +-
 .../selftests/futex/functional/futex_waitv.c       |   2 +-
 tools/testing/selftests/hid/hid_common.h           |   2 +-
 tools/testing/selftests/intel_pstate/aperf.c       |   2 +-
 tools/testing/selftests/iommu/iommufd_utils.h      |   2 +-
 tools/testing/selftests/ipc/msgque.c               |   2 +-
 tools/testing/selftests/ir/ir_loopback.c           |   2 +-
 tools/testing/selftests/kcmp/kcmp_test.c           |   2 +-
 tools/testing/selftests/kho/vmtest.sh              |   1 +
 tools/testing/selftests/kselftest_harness.h        |   2 +-
 .../selftests/kselftest_harness/harness-selftest.c |   2 +-
 tools/testing/selftests/landlock/audit.h           |   2 +-
 tools/testing/selftests/landlock/common.h          |   2 +-
 tools/testing/selftests/lib.mk                     |   3 +
 tools/testing/selftests/liveupdate/.gitignore      |   9 +
 tools/testing/selftests/liveupdate/Makefile        |  34 +
 tools/testing/selftests/liveupdate/config          |  11 +
 tools/testing/selftests/liveupdate/do_kexec.sh     |  16 +
 tools/testing/selftests/liveupdate/liveupdate.c    | 348 ++++++++
 .../selftests/liveupdate/luo_kexec_simple.c        |  89 +++
 .../selftests/liveupdate/luo_multi_session.c       | 162 ++++
 .../testing/selftests/liveupdate/luo_test_utils.c  | 266 ++++++
 .../testing/selftests/liveupdate/luo_test_utils.h  |  44 +
 .../testing/selftests/lsm/lsm_get_self_attr_test.c |   2 +-
 .../testing/selftests/lsm/lsm_list_modules_test.c  |   2 +-
 .../testing/selftests/lsm/lsm_set_self_attr_test.c |   2 +-
 .../selftests/media_tests/media_device_open.c      |   2 +-
 .../selftests/media_tests/media_device_test.c      |   2 +-
 .../selftests/membarrier/membarrier_test_impl.h    |   2 +-
 tools/testing/selftests/mincore/mincore_selftest.c |   4 +-
 tools/testing/selftests/mm/compaction_test.c       |   2 +-
 tools/testing/selftests/mm/cow.c                   |   2 +-
 tools/testing/selftests/mm/droppable.c             |   2 +-
 tools/testing/selftests/mm/guard-regions.c         |   2 +-
 tools/testing/selftests/mm/gup_longterm.c          |   2 +-
 tools/testing/selftests/mm/gup_test.c              |   2 +-
 tools/testing/selftests/mm/hmm-tests.c             |   2 +-
 tools/testing/selftests/mm/hugepage-mmap.c         |   2 +-
 tools/testing/selftests/mm/hugepage-mremap.c       |   2 +-
 tools/testing/selftests/mm/hugetlb-madvise.c       |   2 +-
 tools/testing/selftests/mm/hugetlb-read-hwpoison.c |   2 +-
 tools/testing/selftests/mm/hugetlb-soft-offline.c  |   2 +-
 tools/testing/selftests/mm/hugetlb_dio.c           |   2 +-
 .../selftests/mm/hugetlb_fault_after_madv.c        |   2 +-
 tools/testing/selftests/mm/hugetlb_madv_vs_map.c   |   2 +-
 tools/testing/selftests/mm/ksm_functional_tests.c  |   2 +-
 tools/testing/selftests/mm/ksm_tests.c             |   2 +-
 tools/testing/selftests/mm/madv_populate.c         |   2 +-
 tools/testing/selftests/mm/map_fixed_noreplace.c   |   2 +-
 tools/testing/selftests/mm/map_hugetlb.c           |   2 +-
 tools/testing/selftests/mm/map_populate.c          |   2 +-
 tools/testing/selftests/mm/mdwe_test.c             |   2 +-
 tools/testing/selftests/mm/memfd_secret.c          |   2 +-
 tools/testing/selftests/mm/merge.c                 |   2 +-
 tools/testing/selftests/mm/migration.c             |   2 +-
 tools/testing/selftests/mm/mkdirty.c               |   2 +-
 tools/testing/selftests/mm/mlock-random-test.c     |   2 +-
 tools/testing/selftests/mm/mlock2-tests.c          |   2 +-
 tools/testing/selftests/mm/mrelease_test.c         |   2 +-
 tools/testing/selftests/mm/mremap_dontunmap.c      |   2 +-
 tools/testing/selftests/mm/mremap_test.c           |   2 +-
 tools/testing/selftests/mm/mseal_test.c            |   2 +-
 tools/testing/selftests/mm/on-fault-limit.c        |   2 +-
 tools/testing/selftests/mm/pagemap_ioctl.c         |   2 +-
 tools/testing/selftests/mm/pfnmap.c                |   2 +-
 tools/testing/selftests/mm/pkey-helpers.h          |   2 +-
 tools/testing/selftests/mm/prctl_thp_disable.c     |   2 +-
 tools/testing/selftests/mm/process_madv.c          |   2 +-
 tools/testing/selftests/mm/rmap.c                  |   2 +-
 tools/testing/selftests/mm/soft-dirty.c            |   2 +-
 tools/testing/selftests/mm/split_huge_page_test.c  |   2 +-
 tools/testing/selftests/mm/thuge-gen.c             |   2 +-
 tools/testing/selftests/mm/transhuge-stress.c      |   2 +-
 tools/testing/selftests/mm/uffd-common.h           |   2 +-
 tools/testing/selftests/mm/uffd-wp-mremap.c        |   2 +-
 tools/testing/selftests/mm/va_high_addr_switch.c   |   2 +-
 tools/testing/selftests/mm/virtual_address_range.c |   2 +-
 tools/testing/selftests/mm/vm_util.c               |   2 +-
 tools/testing/selftests/mm/vm_util.h               |   2 +-
 .../selftests/mount_setattr/mount_setattr_test.c   |   2 +-
 .../move_mount_set_group_test.c                    |   2 +-
 tools/testing/selftests/mqueue/mq_open_tests.c     |   2 +-
 tools/testing/selftests/mqueue/mq_perf_tests.c     |   2 +-
 .../mseal_system_mappings/sysmap_is_sealed.c       |   4 +-
 .../selftests/namespaces/file_handle_test.c        |   2 +-
 tools/testing/selftests/namespaces/init_ino_test.c |   2 +-
 tools/testing/selftests/namespaces/nsid_test.c     |   2 +-
 tools/testing/selftests/nci/nci_dev.c              |   2 +-
 tools/testing/selftests/net/af_unix/diag_uid.c     |   2 +-
 tools/testing/selftests/net/af_unix/msg_oob.c      |   2 +-
 tools/testing/selftests/net/af_unix/scm_inq.c      |   2 +-
 tools/testing/selftests/net/af_unix/scm_pidfd.c    |   2 +-
 tools/testing/selftests/net/af_unix/scm_rights.c   |   2 +-
 tools/testing/selftests/net/af_unix/unix_connect.c |   2 +-
 tools/testing/selftests/net/bind_timewait.c        |   2 +-
 tools/testing/selftests/net/bind_wildcard.c        |   2 +-
 tools/testing/selftests/net/can/test_raw_filter.c  |   2 +-
 tools/testing/selftests/net/cmsg_sender.c          |   2 +-
 tools/testing/selftests/net/epoll_busy_poll.c      |   2 +-
 tools/testing/selftests/net/gro.c                  |   2 +-
 tools/testing/selftests/net/ip_local_port_range.c  |   2 +-
 tools/testing/selftests/net/ipsec.c                |   2 +-
 tools/testing/selftests/net/ipv6_fragmentation.c   |   2 +-
 .../selftests/net/netfilter/conntrack_dump_flush.c |   2 +-
 tools/testing/selftests/net/netlink-dumps.c        |   2 +-
 tools/testing/selftests/net/ovpn/ovpn-cli.c        |   2 +-
 tools/testing/selftests/net/proc_net_pktgen.c      |   2 +-
 tools/testing/selftests/net/psock_fanout.c         |   2 +-
 tools/testing/selftests/net/psock_tpacket.c        |   2 +-
 .../selftests/net/reuseaddr_ports_exhausted.c      |   2 +-
 tools/testing/selftests/net/reuseport_bpf.c        |   2 +-
 tools/testing/selftests/net/reuseport_bpf_numa.c   |   2 +-
 tools/testing/selftests/net/rxtimestamp.c          |   2 +-
 tools/testing/selftests/net/sk_so_peek_off.c       |   2 +-
 tools/testing/selftests/net/so_incoming_cpu.c      |   2 +-
 tools/testing/selftests/net/socket.c               |   2 +-
 tools/testing/selftests/net/tap.c                  |   2 +-
 tools/testing/selftests/net/tcp_ao/lib/setup.c     |   2 +-
 .../selftests/net/tcp_fastopen_backup_key.c        |   2 +-
 tools/testing/selftests/net/tcp_port_share.c       |   2 +-
 tools/testing/selftests/net/tls.c                  |   2 +-
 tools/testing/selftests/net/toeplitz.c             |   2 +-
 tools/testing/selftests/net/tun.c                  |   2 +-
 tools/testing/selftests/net/udpgso_bench_tx.c      |   2 +-
 tools/testing/selftests/openat2/helpers.h          |   2 +-
 tools/testing/selftests/openat2/openat2_test.c     |   2 +-
 .../testing/selftests/openat2/rename_attack_test.c |   2 +-
 tools/testing/selftests/openat2/resolve_test.c     |   2 +-
 .../selftests/pci_endpoint/pci_endpoint_test.c     |   2 +-
 tools/testing/selftests/perf_events/mmap.c         |   2 +-
 .../testing/selftests/perf_events/remove_on_exec.c |   2 +-
 .../selftests/perf_events/sigtrap_threads.c        |   2 +-
 .../selftests/perf_events/watermark_signal.c       |   2 +-
 tools/testing/selftests/pid_namespace/pid_max.c    |   2 +-
 .../selftests/pid_namespace/regression_enomem.c    |   2 +-
 tools/testing/selftests/pidfd/pidfd.h              |   2 +-
 tools/testing/selftests/pidfd/pidfd_bind_mount.c   |   2 +-
 tools/testing/selftests/pidfd/pidfd_fdinfo_test.c  |   2 +-
 .../selftests/pidfd/pidfd_file_handle_test.c       |   2 +-
 tools/testing/selftests/pidfd/pidfd_getfd_test.c   |   2 +-
 tools/testing/selftests/pidfd/pidfd_info_test.c    |   2 +-
 tools/testing/selftests/pidfd/pidfd_open_test.c    |   2 +-
 tools/testing/selftests/pidfd/pidfd_poll_test.c    |   2 +-
 tools/testing/selftests/pidfd/pidfd_setattr_test.c |   2 +-
 tools/testing/selftests/pidfd/pidfd_setns_test.c   |   2 +-
 tools/testing/selftests/pidfd/pidfd_test.c         |   2 +-
 tools/testing/selftests/pidfd/pidfd_wait.c         |   2 +-
 tools/testing/selftests/pidfd/pidfd_xattr_test.c   |   2 +-
 .../selftests/prctl/set-anon-vma-name-test.c       |   2 +-
 tools/testing/selftests/prctl/set-process-name.c   |   2 +-
 tools/testing/selftests/proc/proc-maps-race.c      |   2 +-
 tools/testing/selftests/proc/proc-pid-vm.c         |   2 +-
 tools/testing/selftests/proc/proc-pidns.c          |   2 +-
 tools/testing/selftests/ptrace/get_set_sud.c       |   2 +-
 tools/testing/selftests/ptrace/get_syscall_info.c  |   2 +-
 tools/testing/selftests/ptrace/set_syscall_info.c  |   2 +-
 tools/testing/selftests/ptrace/vmaccess.c          |   2 +-
 tools/testing/selftests/resctrl/resctrl.h          |   2 +-
 tools/testing/selftests/ring-buffer/map_test.c     |   2 +-
 .../testing/selftests/riscv/abi/pointer_masking.c  |   2 +-
 tools/testing/selftests/riscv/hwprobe/cbo.c        |   2 +-
 tools/testing/selftests/riscv/hwprobe/hwprobe.c    |   2 +-
 tools/testing/selftests/riscv/hwprobe/which-cpus.c |   2 +-
 tools/testing/selftests/riscv/mm/mmap_bottomup.c   |   2 +-
 tools/testing/selftests/riscv/mm/mmap_default.c    |   2 +-
 tools/testing/selftests/riscv/mm/mmap_test.h       |   2 +-
 .../testing/selftests/riscv/sigreturn/sigreturn.c  |   2 +-
 tools/testing/selftests/riscv/vector/v_initval.c   |   2 +-
 .../testing/selftests/riscv/vector/vstate_prctl.c  |   2 +-
 .../testing/selftests/rseq/basic_percpu_ops_test.c |   2 +-
 tools/testing/selftests/rseq/rseq.c                |   2 +-
 tools/testing/selftests/rtc/rtctest.c              |   2 +-
 .../testing/selftests/seccomp/seccomp_benchmark.c  |   2 +-
 tools/testing/selftests/seccomp/seccomp_bpf.c      |   2 +-
 tools/testing/selftests/sgx/main.c                 |   2 +-
 tools/testing/selftests/signal/mangle_uc_sigmask.c |   2 +-
 tools/testing/selftests/signal/sas.c               |   2 +-
 tools/testing/selftests/sparc64/drivers/adi-test.c |   2 +-
 tools/testing/selftests/sync/sync_test.c           |   2 +-
 .../selftests/syscall_user_dispatch/sud_test.c     |   2 +-
 tools/testing/selftests/tdx/tdx_guest_test.c       |   2 +-
 tools/testing/selftests/timens/timens.h            |   2 +-
 tools/testing/selftests/timers/adjtick.c           |   2 +-
 .../testing/selftests/timers/alarmtimer-suspend.c  |   2 +-
 tools/testing/selftests/timers/change_skew.c       |   2 +-
 .../testing/selftests/timers/clocksource-switch.c  |   2 +-
 tools/testing/selftests/timers/freq-step.c         |   2 +-
 .../testing/selftests/timers/inconsistency-check.c |   2 +-
 tools/testing/selftests/timers/leap-a-day.c        |   2 +-
 tools/testing/selftests/timers/leapcrash.c         |   2 +-
 tools/testing/selftests/timers/mqueue-lat.c        |   2 +-
 tools/testing/selftests/timers/nanosleep.c         |   2 +-
 tools/testing/selftests/timers/nsleep-lat.c        |   2 +-
 tools/testing/selftests/timers/posix_timers.c      |   2 +-
 tools/testing/selftests/timers/raw_skew.c          |   2 +-
 tools/testing/selftests/timers/rtcpie.c            |   2 +-
 tools/testing/selftests/timers/set-2038.c          |   2 +-
 tools/testing/selftests/timers/set-tai.c           |   2 +-
 tools/testing/selftests/timers/set-timer-lat.c     |   2 +-
 tools/testing/selftests/timers/set-tz.c            |   2 +-
 tools/testing/selftests/timers/skew_consistency.c  |   2 +-
 tools/testing/selftests/timers/threadtest.c        |   2 +-
 tools/testing/selftests/timers/valid-adjtimex.c    |   2 +-
 tools/testing/selftests/tmpfs/bug-link-o-tmpfile.c |   2 +-
 tools/testing/selftests/tty/tty_tstamp_update.c    |   2 +-
 tools/testing/selftests/uevent/uevent_filtering.c  |   2 +-
 tools/testing/selftests/user_events/abi_test.c     |   2 +-
 tools/testing/selftests/user_events/dyn_test.c     |   2 +-
 tools/testing/selftests/user_events/ftrace_test.c  |   2 +-
 tools/testing/selftests/user_events/perf_test.c    |   2 +-
 .../selftests/user_events/user_events_selftests.h  |   2 +-
 tools/testing/selftests/vDSO/vdso_test_abi.c       |   2 +-
 tools/testing/selftests/vDSO/vdso_test_chacha.c    |   2 +-
 .../testing/selftests/vDSO/vdso_test_correctness.c |   2 +-
 tools/testing/selftests/vDSO/vdso_test_getcpu.c    |   2 +-
 tools/testing/selftests/vDSO/vdso_test_getrandom.c |   2 +-
 .../selftests/vDSO/vdso_test_gettimeofday.c        |   2 +-
 .../testing/selftests/vfio/lib/include/vfio_util.h |   2 +-
 tools/testing/selftests/vfio/lib/vfio_pci_device.c |   2 +-
 tools/testing/selftests/vfio/lib/vfio_pci_driver.c |   2 +-
 .../testing/selftests/vfio/vfio_dma_mapping_test.c |   2 +-
 .../selftests/vfio/vfio_iommufd_setup_test.c       |   2 +-
 .../testing/selftests/vfio/vfio_pci_device_test.c  |   2 +-
 .../testing/selftests/vfio/vfio_pci_driver_test.c  |   2 +-
 .../testing/selftests/wireguard/qemu/kernel.config |   2 +-
 .../testing/selftests/x86/corrupt_xstate_header.c  |   2 +-
 tools/testing/selftests/x86/helpers.h              |   2 +-
 tools/testing/selftests/x86/lam.c                  |   2 +-
 tools/testing/selftests/x86/syscall_numbering.c    |   2 +-
 tools/testing/selftests/x86/test_mremap_vdso.c     |   2 +-
 tools/testing/selftests/x86/test_vsyscall.c        |   2 +-
 tools/testing/selftests/x86/xstate.h               |   2 +-
 440 files changed, 8032 insertions(+), 1802 deletions(-)
 create mode 100644 Documentation/ABI/obsolete/sysfs-kernel-kexec-kdump
 create mode 100644 Documentation/ABI/testing/sysfs-kernel-kexec-kdump
 create mode 100644 Documentation/core-api/liveupdate.rst
 create mode 100644 Documentation/driver-api/hw-recoverable-errors.rst
 create mode 100644 Documentation/mm/memfd_preservation.rst
 create mode 100644 Documentation/userspace-api/liveupdate.rst
 create mode 100644 include/linux/kho/abi/luo.h
 create mode 100644 include/linux/kho/abi/memfd.h
 create mode 100644 include/linux/liveupdate.h
 create mode 100644 include/uapi/linux/liveupdate.h
 delete mode 100644 kernel/kexec_handover_internal.h
 create mode 100644 kernel/liveupdate/Kconfig
 create mode 100644 kernel/liveupdate/Makefile
 rename kernel/{ => liveupdate}/kexec_handover.c (75%)
 rename kernel/{ => liveupdate}/kexec_handover_debug.c (100%)
 create mode 100644 kernel/liveupdate/kexec_handover_debugfs.c
 create mode 100644 kernel/liveupdate/kexec_handover_internal.h
 create mode 100644 kernel/liveupdate/luo_core.c
 create mode 100644 kernel/liveupdate/luo_file.c
 create mode 100644 kernel/liveupdate/luo_internal.h
 create mode 100644 kernel/liveupdate/luo_session.c
 create mode 100644 lib/tests/base64_kunit.c
 create mode 100644 mm/memfd_luo.c
 create mode 100644 scripts/gdb/linux/bpf.py
 create mode 100644 tools/testing/selftests/liveupdate/.gitignore
 create mode 100644 tools/testing/selftests/liveupdate/Makefile
 create mode 100644 tools/testing/selftests/liveupdate/config
 create mode 100755 tools/testing/selftests/liveupdate/do_kexec.sh
 create mode 100644 tools/testing/selftests/liveupdate/liveupdate.c
 create mode 100644 tools/testing/selftests/liveupdate/luo_kexec_simple.c
 create mode 100644 tools/testing/selftests/liveupdate/luo_multi_session.c
 create mode 100644 tools/testing/selftests/liveupdate/luo_test_utils.c
 create mode 100644 tools/testing/selftests/liveupdate/luo_test_utils.h



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] non-MM updates for 6.19-rc1
  2025-12-06 19:15 [GIT PULL] non-MM updates for 6.19-rc1 Andrew Morton
@ 2025-12-06 23:33 ` pr-tracker-bot
  2025-12-06 23:40 ` Linus Torvalds
  1 sibling, 0 replies; 3+ messages in thread
From: pr-tracker-bot @ 2025-12-06 23:33 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linus Torvalds, linux-kernel, linux-mm, mm-commits, Pasha Tatashin

The pull request you sent on Sat, 6 Dec 2025 11:15:33 -0800:

> git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm tags/mm-nonmm-stable-2025-12-06-11-14

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/509d3f45847627f4c5cdce004c3ec79262b5239c

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] non-MM updates for 6.19-rc1
  2025-12-06 19:15 [GIT PULL] non-MM updates for 6.19-rc1 Andrew Morton
  2025-12-06 23:33 ` pr-tracker-bot
@ 2025-12-06 23:40 ` Linus Torvalds
  1 sibling, 0 replies; 3+ messages in thread
From: Linus Torvalds @ 2025-12-06 23:40 UTC (permalink / raw)
  To: Andrew Morton, Dmitry Antipov, Joseph Qi, Heming Zhao, Mark Fasheh
  Cc: linux-kernel, linux-mm, mm-commits, Pasha Tatashin

On Sat, 6 Dec 2025 at 11:15, Andrew Morton <akpm@linux-foundation.org> wrote:
>
> Dmitry Antipov (8):
>       ocfs2: annotate flexible array members with __counted_by_le()

This causes the build to fail for me with gcc 15.2.1:

  In function ‘fortify_memset_chk’,
      inlined from ‘ocfs2_reflink_xattr_header’ at fs/ocfs2/xattr.c:6365:5:
  include/linux/fortify-string.h:480:25: error: call to
‘__write_overflow_field’ declared with attribute warning: detected
write beyond size of field (1st parameter); maybe use struct_group()?
[-Werror=attribute-warning]

And the reason appears to likely be a bug this exposes, rather than a
bug in the annotation. But I really don't know the ocfs2 code at all,
so I'm going by "the error message is horrendous, but I can follow the
logic in the code, and I think the code was actually wrong".

I have "fixed" things.

And I put that "fixed' in quotes, because my fix looks sane to me, and
makes the array counting logic happy, and my fix may well be the
RightThing(tm), but somebody who actually knows the ocfs2 code needs
to check it out.

See commit c06c303832ec ("ocfs2: fix xattr array entry __counted_by
error") which simply makes the 'last' pointer point to the actual last
entry, rather than point to one _past_ the last entry.  So now the
memmove() and memset() in the "possibly remove entry" loop below might
actually work right, in addition to building cleanly.

But again: I did this without knowing anything about the code, just by
looking at the logic.

I _think_ the code used to copy one entry too much, and cleared an
entry past the end. It probably worked fine, because the code also
decrements xh_count, so even if it cleared the wrong entry, it was
past the counted end.

I'm a bit unhappy that this didn't show up in linux-next and that I
had to chase this down. I don't think my gcc version is that odd.

Anyway, it's building for me, but I really really want some ocfs2
person to take a look. Please?

               Linus


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-12-06 23:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-06 19:15 [GIT PULL] non-MM updates for 6.19-rc1 Andrew Morton
2025-12-06 23:33 ` pr-tracker-bot
2025-12-06 23:40 ` Linus Torvalds

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox