Commit a7f2bc878742 for kernel

commit a7f2bc878742be60e72616586ef2583a75ec810e
Merge: 9ba46df34488 d9011419496a
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Wed Oct 21 10:04:13 2026 -1000

    Merge tag 'rcu.2026.10.12b' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux

    Pull RCU updates from Paul McKenney:
     "Execution contexts and call_rcu() and call_srcu():
       - Make call_rcu() and call_srcu invocable from NMI handlers and while
         holding scheduler locks (using irq-work handlers)
       - Add rcutorture and BPF tests calling these functions from these
         contexts
       - Disable rcutorture overload testing for RCU readers that are
         "fragile", that is, that do not either disable preemption or have
         some form of RCU priority boosting

      SRCU updates:
       - Add an atomic SRCU where readers run with preemption disabled and
         grace periods can be invoked from atomic contexts. David Woodhouse
         has a patch series exploiting this for GPC
       - Add torture and lockdep tests for atomic SRCU
       - Add numerous optimizations for atomic SRCU based on the fact that
         it does not have callbacks, for example, eliminating any transition
         to "big" srcu_struct structures even on systems that configure
         these to happen at initialization time

      Additional torture-test updates:
       - Fix a divide-by-zero bug in forward-progress testing
       - Synchronously wait for all IRQ-queued callbacks to complete
       - Allow alternative "ssh" commands to be specified for use by
         kvm-remote.sh
       - Fix kvm-again.sh re-run failure on PowerPC
       - Add additional lockdep testing for atomic SRCU
       - Fix error double-counting in srcu_lockdep.sh
       - Add atomic SRCU cross-CPU IRQ context mismatch testing, with the
       - trick being that the atomic SRCU readers context must be at least
         as strict as that of the atomic SRCU grace-period wait. So for
         example, if the readers have IRQs disabled, so must the
         grace-period wait

      Miscellaneous updates:
       - Update stallwarn.rst documentation for the re-implementation of RCU
         Tasks Trace in terms of SRCU
       - Fix the lazy-callback shrink scanner budget computation so that it
         honors the reclaim budget
       - Avoid panicking on RCU CPU stalls that end before the warning can
         be printed
       - Add "running" and "boosted" indications to the RCU task stall
         warning output
       - People have been (incorrectly) relying on rcu_barrier() to wait for
         kfree_rcu() callbacks and processing. But it turns out to be easier
         to fix rcu_barrier() to meet their expectations than to fix their
         code to live within the earlier rcu_barrier() specification. So
         rcu_barrier() now waits on kfree_rcu() callbacks and processing
       - Disable RCU Tasks console output that track when this RCU flavor
         switches between per-CPU and global callback queuing. New use cases
         appeared that generated enough console traffic to cause trouble,
         and no one seemed to care about these messages. For those needing
         those messages, there is a new rcupdate.rcu_task_collapse_debug
         kernel boot parameter
       - Fix __rcu pointer attribute handling to eliminate false positives
       - Fix typos and drop redundant #include directives"

    * tag 'rcu.2026.10.12b' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux: (46 commits)
      rcutorture: Add atomic SRCU cross-CPU IRQ context mismatch test
      selftests/rcutorture: Fix double nerrs count in srcu_lockdep.sh
      selftests/rcutorture: Wire atomic SRCU into srcu_lockdep.sh
      rcutorture: Add atomic SRCU lockdep support
      rcutorture: Fix kvm-again.sh re-run failure on ppc64
      torture:  Allow specifying alternative ssh command to kvm-remote.sh
      rcutorture: Synchronously wait for all rcu_torture_irq() callbacks to complete
      rcutorture: Fix divide-by-zero with fwd_progress_div=1
      srcutree: Preserve IRQ state in synchronize_srcu_atomic() callchain
      srcutiny: Add lockdep and early-boot checks to synchronize_srcu_atomic()
      srcutree: Add lockdep and early-boot checks to synchronize_srcu_atomic()
      srcutree: Skip torture to-big transition for atomic SRCU
      srcutree: Don't transition atomic SRCU to big in srcu_gp_end()
      srcutree: Make init_srcu_struct_atomic() prevent transition to big
      srcu: Restrict atomic-SRCU non_block annotation to task context
      srcutree: Remove srcu_barrier() sleep for atomic SRCU
      srcutree: Skip callback scheduling for atomic SRCU grace periods
      srcutree: Add reader-free fastpath to synchronize_srcu_atomic()
      rcutorture: Add atomic-SRCU support to torture.sh
      srcutree: Explicitly note DEFINE_SRCU() needs for srcu_barrier()
      ...