Commit 7d1f84f1b94e for kernel

commit 7d1f84f1b94e79cb95d974ab3ec54cb3a4d64f5b
Merge: 83f32c773255 b6232ca8d194
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Oct 27 12:08:22 2026 -1000

    Merge tag 'mm-nonmm-stable-2026-10-25-14-57' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

    Pull non-MM updates from Andrew Morton:

     - "ocfs2: exit recovery thread on mount error path" (Joseph Qi):

       Stop OCFS2 recovery before freeing failed-mount state and replay
       slots, closing use-after-free and double-free races. Defer
       suballocator reclaim to break a transaction-lock deadlock with
       dismount.

     - "ocfs2: validate suballoc slot and bit of metadata blocks" (Joseph
       Qi):

       Validate OCFS2 metadata suballocator slots, bits and directory index
       block locations. Reject corrupt metadata with filesystem errors
       instead of BUGs or out-of-bounds accesses.

     - "ocfs2: deal with legacy signed name hash values" (Joseph Qi):

       Restore OCFS2 lookups for non-ASCII names stored with legacy signed
       hashes. Use stored xattr hashes during bucket splits to avoid
       duplicate entries and spurious ENOSPC failures.

     - "ocfs2: stabilize dentry names in file and setattr traces" (Cen
       Zhang):

       Snapshot OCFS2 names during file and setattr tracing to prevent
       rename races using freed storage or mismatched names and lengths.
       Preserve trace formats and the locked release open-count sample.

     - "panic: fix panic_force_cpu= redirect races and NMI bypass" (Bradley
       Morgan):

       Fix panic_force_cpu races and NMI redirection so crash-kernel CPU
       selection is honored. Preserve variable arguments on failed redirects
       and use a static message buffer.

     - "fat: allocate multiple clusters in fallocate" (Matheus Alves de
       Almeida):

       Allocate FAT clusters in batches for FALLOC_FL_KEEP_SIZE and batch
       FAT updates. This removes repeated single-cluster allocation
       overhead, particularly on synchronous mounts.

     - "scripts/gdb: fix radix tree lookup and stack depot diagnostic"
       (Ting-Han Hou):

       Fix GDB radix-tree lookup and its handling of XArray sibling, retry
       and zero entries. Also repair the stack-depot diagnostic for an
       out-of-range pool index.

     - "hung_task: Improve warning budget handling and task reporting"
       (Aaron Tomlin):

       Reset the hung-task warning budget after recovery so later hangs
       remain visible. Keep the configured limit intact and emit one summary
       per scan when detailed reports exhaust the budget.

     - "bootconfig: Reject unexpected data after null character and
       cleanups" (Masami Hiramatsu):

       Reject bootconfig data after an embedded null while accepting
       trailing padding. Validate the full input in the userspace tool, and
       retain internal tree sanity checks there rather than in the kernel.

     - "kbuild: GCOV cleanups following the prefer-atomic fix" (Konstantin
       Khorenko):

       Use the actual GCOV build flags in the prefer-atomic compiler probe.
       Move flag setup into scripts/Makefile.gcov and skip the probe when
       GCOV is disabled.

     - "ocfs2: xattr bucket validation fixes" (Joseph Qi):

       Accept valid OCFS2 xattr buckets spanning 512-byte blocks, avoiding
       false read-only remounts. Reject misaligned buckets and return errors
       instead of panicking on corrupt defrag metadata.

     - "ocfs2: fix metadata reservation for xattr value trees" (Joseph Qi):

       Reserve enough OCFS2 metadata for new and relocated xattr value
       trees. Fix shortfalls which could cause ENOSPC, dropped entries and
       leaked clusters on fragmented filesystems; remove duplicate
       reservations.

     - "Introduce arch_do_panic" (Mete Durlu):

       Add arch_do_panic() and move s390 and sparc handling out of generic
       panic code. The architecture-specific actions now follow the
       end-of-panic marker.

     - "checkpatch: userspace improvements" (Petr Vorel):

       Improve checkpatch's userspace detection and suppress kernel-only
       checks. Recognize standard inttypes macros and add explicit
       --userspace and --no-userspace overrides.

     - "ocfs2: validate dr_fs_generation of dir index root blocks" (Joseph
       Qi):

       Check OCFS2 directory index generations and leaf block numbers.
       Reject stale or misplaced blocks instead of using metadata left by a
       previously formatted filesystem.

     - "selftests/membarrier: Skip an unregistered memory barrier test on
       Musl" (Chris Gellermann):

       Skip the unregistered membarrier test when libc has already
       registered the command. Musl does this during thread creation,
       causing false failures in the multithreaded test.

     - "init: fix array boundary bugs in boot parameter parsing"
       (Wilson Felipe Pereira):

       Fix boot argument boundary cases which leave stale arguments in
       init's command line or panic when replacing the final environment
       variable. Clear the last slot and check duplicates before the limit.

    Summary of the 87 singletons in this merge:

      The OCFS2 singletons fix deadlocks between xattr updates and inline
      truncation, and during inode reclaim. Corrupt quota and extent
      metadata could also crash the kernel or corrupt memory; these paths
      now check the layout before using it. Other fixes close use-after-free
      and publication races around cluster reconfiguration, node failure,
      quota remount errors and shared refcount trees. New files now retain
      security labels from all stacked LSMs instead of silently dropping all
      but one. Valid xattr insertions also stop tripping FORTIFY on builds
      with counted arrays.

      Elsewhere, a lost wakeup could leave hardware-monitoring reads stuck
      in unkillable sleep and block further I2C traffic. That is fixed, as
      are kernel memory leaks in POSIX message-queue notifications and tmpfs
      casefold setup which could grow until memory is exhausted. A driver
      removal race which could crash the kernel is fixed too. The
      hibernation command through reboot() also stops taking the same mutex
      twice, avoiding a deadlock before suspension.

      On the boot side, bzip2 decoding now accepts valid full blocks emitted
      by lbzip2, fixing failures to boot those compressed kernels. Malformed
      bzip2 streams can no longer overflow the decode buffer, and LZ4
      initrds are checked before the decoder can read past their end. FAT
      rejects geometry which overflows the data-area calculation on 32-bit
      systems, and rolls back entries when inode setup fails, preventing
      failed creations from reappearing after remount. The x86 XOR and RAID6
      AVX paths also avoid imposing a slowdown on subsequent SSE code.

    * tag 'mm-nonmm-stable-2026-10-25-14-57' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (134 commits)
      scripts/gdb: fix stack depot out-of-bounds diagnostic
      scripts/gdb: fix radix tree lookup pointer handling
      ocfs2/cluster: remove zero-address nodes from IP tree on teardown
      ocfs2: snapshot the dentry name while tracing file release
      ocfs2: snapshot dentry names in file and setattr traces
      ocfs2/dlm: drain join handlers before releasing module text
      MAINTAINERS: update Markus's e-mail address
      mailmap: add entries for Andrew Jones
      stackdepot: stop preallocating after the final pool
      ocfs2: drain quorum work before removing the cluster
      watchdog: force console verbose when reporting lockups
      profiling: fix sampling step on 64-bit big-endian systems
      kernel/reboot: avoid potential deadlocks during suspension
      compat: avoid double rounding in times()
      ocfs2: pin owning modules for open debugfs files
      ocfs2/cluster: initialize heartbeat regions before publishing them
      selftests/proc: proc-pid-vm: fix unused variable warning on non-x86
      ocfs2: pin refcount trees before dropping the lookup lock
      ocfs2: validate the xattr tree root of an indexed xattr block
      ocfs2/dlm: hold the lookup reference across convert AST enqueue
      ...

diff --cc MAINTAINERS
index 1ed6d81ed2f6,f81d581bdbf8..b1abfcd343ea
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@@ -9915,14 -9701,8 +9915,15 @@@ M:	Jeff Layton <jlayton@kernel.org
  S:	Maintained
  F:	include/linux/errseq.h
  F:	lib/errseq.c
+ F:	lib/tests/errseq_kunit.c

 +ES9039Q2M AUDIO CODEC DRIVER
 +M:	Karl Asseily <karl@asseily.com>
 +L:	linux-sound@vger.kernel.org
 +S:	Maintained
 +F:	Documentation/devicetree/bindings/sound/esstech,es9039q2m.yaml
 +F:	sound/soc/codecs/es9039q2m.c
 +
  ESD CAN NETWORK DRIVERS
  M:	Stefan Mätje <stefan.maetje@esd.eu>
  R:	socketcan@esd.eu
diff --cc Makefile
index 77caa3b0e992,f3ea94ceb1ce..7e6baa461b91
--- a/Makefile
+++ b/Makefile
@@@ -1183,33 -1176,9 +1183,12 @@@ endi
  # Ensure compilers do not transform certain loops into calls to wcslen()
  KBUILD_CFLAGS += -fno-builtin-wcslen

- CFLAGS_GCOV	:= -fprofile-arcs -ftest-coverage
- ifdef CONFIG_CC_IS_GCC
- CFLAGS_GCOV	+= -fno-tree-loop-im
- # Use atomic counter updates to avoid concurrent-access crashes in GCOV.
- # Only enable if -fprofile-update=prefer-atomic does not introduce new
- # undefined symbols (e.g. libatomic calls that the kernel cannot link).
- CFLAGS_GCOV	+= $(call try-run,\
- 	echo 'long long x; void f(void){x++;}' | \
- 	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -w -fprofile-arcs \
- 	-ftest-coverage -x c - -c -o "$$TMP.base" && \
- 	echo 'long long x; void f(void){x++;}' | \
- 	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -w -fprofile-arcs \
- 	-ftest-coverage -fprofile-update=prefer-atomic \
- 	-x c - -c -o "$$TMP" && \
- 	$(NM) "$$TMP.base" | grep ' U ' > "$$TMP.ubase" || true ; \
- 	$(NM) "$$TMP" | grep ' U ' > "$$TMP.utest" || true ; \
- 	cmp -s "$$TMP.ubase" "$$TMP.utest",\
- 	-fprofile-update=prefer-atomic)
- endif
- export CFLAGS_GCOV
-
  # change __FILE__ to the relative path to the source directory
  ifdef building_out_of_srctree
 -KBUILD_CPPFLAGS += -fmacro-prefix-map=$(srcroot)/=
 +CFLAGS_PREFIX_MAP := -fmacro-prefix-map=$(srcroot)/=
 +KBUILD_CPPFLAGS += $(CFLAGS_PREFIX_MAP)
 +KBUILD_USERCFLAGS += $(CFLAGS_PREFIX_MAP)
 +KBUILD_HOSTCFLAGS += $(CFLAGS_PREFIX_MAP)
  ifeq ($(call rustc-option-yn, --remap-path-scope=macro),y)
  KBUILD_RUSTFLAGS += --remap-path-prefix=$(srcroot)/= --remap-path-scope=macro
  endif
diff --cc arch/s390/kernel/traps.c
index 6b083b9584eb,115cb3373247..5152f77fa30d
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@@ -26,7 -26,7 +26,8 @@@
  #include <linux/entry-common.h>
  #include <linux/kmsan.h>
  #include <linux/bug.h>
+ #include <linux/panic.h>
 +#include <asm/pgmcheck-defs.h>
  #include <asm/entry-percpu.h>
  #include <asm/asm-extable.h>
  #include <asm/irqflags.h>
@@@ -290,12 -285,11 +292,17 @@@ static void monitor_event_exception(str
  	}
  }

+ void arch_do_panic(void)
+ {
+ 	disabled_wait();
+ }
+
 +/*
 + * Content of the faulting CPU's lowcore, copied by stack_invalid().
 + */
 +struct lowcore stack_invalid_lowcore;
 +int stack_invalid_lowcore_used;
 +
  void kernel_stack_invalid(struct pt_regs *regs)
  {
  	/*