Commit 136114e0abf0 for kernel

commit 136114e0abf03005e182d75761ab694648e6d388
Merge: 4cff5c05e076 0dddf20b4fd4
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Thu Feb 12 12:13:01 2026 -0800

    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
      ...

diff --cc fs/fat/dir.c
index 07d95f1442c8,af7dedf8adcb..4b8b25f688e4
--- a/fs/fat/dir.c
+++ b/fs/fat/dir.c
@@@ -16,7 -16,7 +16,8 @@@

  #include <linux/slab.h>
  #include <linux/compat.h>
 +#include <linux/filelock.h>
+ #include <linux/hex.h>
  #include <linux/uaccess.h>
  #include <linux/iversion.h>
  #include "fat.h"
diff --cc fs/fat/namei_msdos.c
index ba0152ed0810,262ec1b790b5..048c103b506a
--- a/fs/fat/namei_msdos.c
+++ b/fs/fat/namei_msdos.c
@@@ -325,9 -325,15 +325,14 @@@ static int msdos_rmdir(struct inode *di
  	err = fat_remove_entries(dir, &sinfo);	/* and releases bh */
  	if (err)
  		goto out;
- 	drop_nlink(dir);
+ 	if (dir->i_nlink >= 3)
+ 		drop_nlink(dir);
+ 	else {
+ 		fat_fs_error(sb, "parent dir link count too low (%u)",
+ 			dir->i_nlink);
+ 	}

  	clear_nlink(inode);
 -	fat_truncate_time(inode, NULL, S_CTIME);
  	fat_detach(inode);
  out:
  	mutex_unlock(&MSDOS_SB(sb)->s_lock);
diff --cc fs/fat/namei_vfat.c
index e46f34cade1a,8bf5f7a9fd23..2acfe3123a72
--- a/fs/fat/namei_vfat.c
+++ b/fs/fat/namei_vfat.c
@@@ -803,10 -804,15 +804,15 @@@ static int vfat_rmdir(struct inode *dir
  	err = fat_remove_entries(dir, &sinfo);	/* and releases bh */
  	if (err)
  		goto out;
- 	drop_nlink(dir);
+ 	if (dir->i_nlink >= 3)
+ 		drop_nlink(dir);
+ 	else {
+ 		fat_fs_error(sb, "parent dir link count too low (%u)",
+ 			dir->i_nlink);
+ 	}

  	clear_nlink(inode);
 -	fat_truncate_time(inode, NULL, S_ATIME|S_MTIME);
 +	fat_truncate_time(inode, NULL, FAT_UPDATE_ATIME | FAT_UPDATE_CMTIME);
  	fat_detach(inode);
  	vfat_d_version_set(dentry, inode_query_iversion(dir));
  out:
diff --cc lib/Kconfig.debug
index 64ef7e62eb8a,ef201f1cc498..4e2dfbbd3d78
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@@ -2870,20 -2825,29 +2890,43 @@@ config LINEAR_RANGES_TES

  	  If unsure, say N.

 +config CONTEXT_ANALYSIS_TEST
 +	bool "Compiler context-analysis warnings test"
 +	depends on EXPERT
 +	help
 +	  This builds the test for compiler-based context analysis. The test
 +	  does not add executable code to the kernel, but is meant to test that
 +	  common patterns supported by the analysis do not result in false
 +	  positive warnings.
 +
 +	  When adding support for new context locks, it is strongly recommended
 +	  to add supported patterns to this 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
diff --cc security/keys/trusted-keys/trusted_core.c
index 2d328de170e8,16168ba5c83e..9046123d94de
--- a/security/keys/trusted-keys/trusted_core.c
+++ b/security/keys/trusted-keys/trusted_core.c
@@@ -12,9 -12,9 +12,10 @@@
  #include <keys/trusted_caam.h>
  #include <keys/trusted_dcp.h>
  #include <keys/trusted_tpm.h>
 +#include <keys/trusted_pkwm.h>
  #include <linux/capability.h>
  #include <linux/err.h>
+ #include <linux/hex.h>
  #include <linux/init.h>
  #include <linux/key-type.h>
  #include <linux/module.h>