Merge tag 'mm-nonmm-stable-2026-02-12-10-48' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull non-MM updates from Andrew Morton:

 - "ocfs2: give ocfs2 the ability to reclaim suballocator free bg" saves
   disk space by teaching ocfs2 to reclaim suballocator block group
   space (Heming Zhao)

 - "Add ARRAY_END(), and use it to fix off-by-one bugs" adds the
   ARRAY_END() macro and uses it in various places (Alejandro Colomar)

 - "vmcoreinfo: support VMCOREINFO_BYTES larger than PAGE_SIZE" makes
   the vmcore code future-safe, if VMCOREINFO_BYTES ever exceeds the
   page size (Pnina Feder)

 - "kallsyms: Prevent invalid access when showing module buildid" cleans
   up kallsyms code related to module buildid and fixes an invalid
   access crash when printing backtraces (Petr Mladek)

 - "Address page fault in ima_restore_measurement_list()" fixes a
   kexec-related crash that can occur when booting the second-stage
   kernel on x86 (Harshit Mogalapalli)

 - "kho: ABI headers and Documentation updates" updates the kexec
   handover ABI documentation (Mike Rapoport)

 - "Align atomic storage" adds the __aligned attribute to atomic_t and
   atomic64_t definitions to get natural alignment of both types on
   csky, m68k, microblaze, nios2, openrisc and sh (Finn Thain)

 - "kho: clean up page initialization logic" simplifies the page
   initialization logic in kho_restore_page() (Pratyush Yadav)

 - "Unload linux/kernel.h" moves several things out of kernel.h and into
   more appropriate places (Yury Norov)

 - "don't abuse task_struct.group_leader" removes the usage of
   ->group_leader when it is "obviously unnecessary" (Oleg Nesterov)

 - "list private v2 & luo flb" adds some infrastructure improvements to
   the live update orchestrator (Pasha Tatashin)

* tag 'mm-nonmm-stable-2026-02-12-10-48' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (107 commits)
  watchdog/hardlockup: simplify perf event probe and remove per-cpu dependency
  procfs: fix missing RCU protection when reading real_parent in do_task_stat()
  watchdog/softlockup: fix sample ring index wrap in need_counting_irqs()
  kcsan, compiler_types: avoid duplicate type issues in BPF Type Format
  kho: fix doc for kho_restore_pages()
  tests/liveupdate: add in-kernel liveupdate test
  liveupdate: luo_flb: introduce File-Lifecycle-Bound global state
  liveupdate: luo_file: Use private list
  list: add kunit test for private list primitives
  list: add primitives for private list manipulations
  delayacct: fix uapi timespec64 definition
  panic: add panic_force_cpu= parameter to redirect panic to a specific CPU
  netclassid: use thread_group_leader(p) in update_classid_task()
  RDMA/umem: don't abuse current->group_leader
  drm/pan*: don't abuse current->group_leader
  drm/amd: kill the outdated "Only the pthreads threading model is supported" checks
  drm/amdgpu: don't abuse current->group_leader
  android/binder: use same_thread_group(proc->tsk, current) in binder_mmap()
  android/binder: don't abuse current->group_leader
  kho: skip memoryless NUMA nodes when reserving scratch areas
  ...
This commit is contained in:
Linus Torvalds
2026-02-12 12:13:01 -08:00
285 changed files with 4133 additions and 1554 deletions

View File

@@ -1147,13 +1147,14 @@ config SOFTLOCKUP_DETECTOR_INTR_STORM
the CPU stats and the interrupt counts during the "soft lockups".
config BOOTPARAM_SOFTLOCKUP_PANIC
bool "Panic (Reboot) On Soft Lockups"
int "Panic (Reboot) On Soft Lockups"
depends on SOFTLOCKUP_DETECTOR
default 0
help
Say Y here to enable the kernel to panic on "soft lockups",
which are bugs that cause the kernel to loop in kernel
mode for more than 20 seconds (configurable using the watchdog_thresh
sysctl), without giving other tasks a chance to run.
Set to a non-zero value N to enable the kernel to panic on "soft
lockups", which are bugs that cause the kernel to loop in kernel
mode for more than (N * 20 seconds) (configurable using the
watchdog_thresh sysctl), without giving other tasks a chance to run.
The panic can be used in combination with panic_timeout,
to cause the system to reboot automatically after a
@@ -1161,7 +1162,7 @@ config BOOTPARAM_SOFTLOCKUP_PANIC
high-availability systems that have uptime guarantees and
where a lockup must be resolved ASAP.
Say N if unsure.
Say 0 if unsure.
config HAVE_HARDLOCKUP_DETECTOR_BUDDY
bool
@@ -1310,7 +1311,7 @@ config BOOTPARAM_HUNG_TASK_PANIC
high-availability systems that have uptime guarantees and
where a hung tasks must be resolved ASAP.
Say N if unsure.
Say 0 if unsure.
config DETECT_HUNG_TASK_BLOCKER
bool "Dump Hung Tasks Blocker"
@@ -1419,6 +1420,24 @@ config DEBUG_PREEMPT
depending on workload as it triggers debugging routines for each
this_cpu operation. It should only be used for debugging purposes.
config DEBUG_ATOMIC
bool "Debug atomic variables"
depends on DEBUG_KERNEL
help
If you say Y here then the kernel will add a runtime alignment check
to atomic accesses. Useful for architectures that do not have trap on
mis-aligned access.
This option has potentially significant overhead.
config DEBUG_ATOMIC_LARGEST_ALIGN
bool "Check alignment only up to __aligned_largest"
depends on DEBUG_ATOMIC
help
If you say Y here then the check for natural alignment of
atomic accesses will be constrained to the compiler's largest
alignment for scalar types.
menu "Lock Debugging (spinlocks, mutexes, etc...)"
config LOCK_DEBUGGING_SUPPORT
@@ -2337,16 +2356,6 @@ config TEST_LIST_SORT
If unsure, say N.
config TEST_MIN_HEAP
tristate "Min heap test"
depends on DEBUG_KERNEL || m
help
Enable this to turn on min heap function tests. This test is
executed only once during system boot (so affects only boot time),
or at module load time.
If unsure, say N.
config TEST_SORT
tristate "Array-based sort test" if !KUNIT_ALL_TESTS
depends on KUNIT
@@ -2559,9 +2568,6 @@ config TEST_BITMAP
If unsure, say N.
config TEST_UUID
tristate "Test functions located in the uuid module at runtime"
config TEST_XARRAY
tristate "Test the XArray code at runtime"
@@ -2845,6 +2851,20 @@ config LIST_KUNIT_TEST
If unsure, say N.
config LIST_PRIVATE_KUNIT_TEST
tristate "KUnit Test for Kernel Private Linked-list structures" if !KUNIT_ALL_TESTS
depends on KUNIT
default KUNIT_ALL_TESTS
help
This builds the KUnit test for the private linked-list primitives
defined in include/linux/list_private.h.
These primitives allow manipulation of list_head members that are
marked as private and require special accessors (ACCESS_PRIVATE)
to strip qualifiers or handle encapsulation.
If unsure, say N.
config HASHTABLE_KUNIT_TEST
tristate "KUnit Test for Kernel Hashtable structures" if !KUNIT_ALL_TESTS
depends on KUNIT
@@ -2884,6 +2904,29 @@ config CONTEXT_ANALYSIS_TEST
If unsure, say N.
config LIVEUPDATE_TEST
bool "Live Update Kernel Test"
default n
depends on LIVEUPDATE
help
Enable a built-in kernel test module for the Live Update
Orchestrator.
This module validates the File-Lifecycle-Bound subsystem by
registering a set of mock FLB objects with any real file handlers
that support live update (such as the memfd handler).
When live update operations are performed, this test module will
output messages to the kernel log (dmesg), confirming that its
registration and various callback functions (preserve, retrieve,
finish, etc.) are being invoked correctly.
This is a debugging and regression testing tool for developers
working on the Live Update subsystem. It should not be enabled in
production kernels.
If unsure, say N
config CMDLINE_KUNIT_TEST
tristate "KUnit test for cmdline API" if !KUNIT_ALL_TESTS
depends on KUNIT
@@ -2959,6 +3002,17 @@ config MEMCPY_KUNIT_TEST
If unsure, say N.
config MIN_HEAP_KUNIT_TEST
tristate "Min heap test" if !KUNIT_ALL_TESTS
depends on KUNIT
default KUNIT_ALL_TESTS
help
This option enables the KUnit test suite for the min heap library
which provides functions for creating and managing min heaps.
The test suite checks the functionality of the min heap library.
If unsure, say N
config IS_SIGNED_TYPE_KUNIT_TEST
tristate "Test is_signed_type() macro" if !KUNIT_ALL_TESTS
depends on KUNIT
@@ -3364,6 +3418,17 @@ config RATELIMIT_KUNIT_TEST
If unsure, say N.
config UUID_KUNIT_TEST
tristate "KUnit test for UUID" if !KUNIT_ALL_TESTS
depends on KUNIT
default KUNIT_ALL_TESTS
help
This option enables the KUnit test suite for the uuid library,
which provides functions for generating and parsing UUID and GUID.
The test suite checks parsing of UUID and GUID strings.
If unsure, say N.
config INT_POW_KUNIT_TEST
tristate "Integer exponentiation (int_pow) test" if !KUNIT_ALL_TESTS
depends on KUNIT
@@ -3433,6 +3498,19 @@ config PRIME_NUMBERS_KUNIT_TEST
If unsure, say N
config GLOB_KUNIT_TEST
tristate "Glob matching test" if !KUNIT_ALL_TESTS
depends on GLOB
depends on KUNIT
default KUNIT_ALL_TESTS
help
Enable this option to test the glob functions at runtime.
This test suite verifies the correctness of glob_match() across various
scenarios, including edge cases.
If unsure, say N
endif # RUNTIME_TESTING_MENU
config ARCH_USE_MEMTEST