Latest Linux kernel releases

  12.04 7.0 (merge, pull)
  11.04 6.19.12, 6.18.22, 6.12.81, 6.6.134, 6.1.168
  04.03 5.15.202, 5.10.252

Significant pull requests for mainline kernel

 
13 Apr 2026: seccomp update for v7.1-rc1 [+ + +]

Thanks!

-Kees

seccomp update for v7.1-rc1

- selftests: Add hard-coded __NR_uprobe for x86_64 (Oleg Nesterov)

13 Apr 2026: hardening updates for v7.1-rc1 [+ + +]

Thanks!

-Kees

hardening updates for v7.1-rc1

- randomize_kstack: Improve implementation across arches (Ryan Roberts)

- lkdtm/fortify: Drop unneeded FORTIFY_STR_OBJECT test

- refcount: Remove unused __signed_wrap function annotations

13 Apr 2026: execve updates for v7.1-rc1 [+ + +]

Thanks!

-Kees

execve updates for v7.1-rc1

- use strnlen() in __set_task_comm (Thorsten Blum)

- update task_struct->comm comment (Thorsten Blum)

13 Apr 2026: IPE update for 7.1 [+ + +]
Please merge this PR for the IPE (Integrity Policy Enforcement) update for 7.1.

This PR contains a single commit from Evan Ducas that fixes several
spelling and grammar mistakes in the IPE documentation. There are no
functional changes.

Thanks,
Fan

--
ipe/stable-7.1 PR 20260413

13 Apr 2026: pstore updates for v7.1-rc1 [+ + +]

Thanks!

-Kees

pstore updates for v7.1-rc1

- fix ftrace dump, when ECC is enabled (Andrey Skvortsov)

- fix resource leak when ioremap() fails (Cole Leavitt)

- Remove useless memblock header (Guilherme G. Piccoli)

- Fix ECC parameter help text (Guilherme G. Piccoli)

- Keep ftrace module parameter and debugfs switch in sync
  (Guilherme G. Piccoli)

- Factor KASLR offset in the core kernel instruction addresses
  (Guilherme G. Piccoli)

13 Apr 2026: kselftest next update for Linux 7.1-rc1 [+ + +]
Hi Linus,


Improvements and fixes kselftest, kselftest harness, frameworks
and individual tests:

-- cpu-hotplug: fix to check if cpu hotplug is supported to avoid
    test failures when cpu hotplug isn't supported.
-- frace: fix to relevant comparisons and path checks in the helper so
    it  handles those patterns without spurious shell warnings.
-- runner.sh: add ktrap support
-- tracing: fix to make --logdir option work again
-- tracing: fix to check awk supports non POSIX strtonum()
-- mqueue: fix incorrectly named settings file to make sure the test
    used the correct timeout value
-- kselftest:
    - fix to treat xpass as successful result
    - add ksft_reset_state()
-- kselftest_harness:
    - validate kselftest exit codes are handled explicitly
    - add detection of invalid mixing of kselftest and harness functionality
    - add validation of intermixing of kselftest and harness functionality
-- run_kselftest.sh:
    - remove unused $ROOT
    - resolve BASE_DIR with pwd -P to avoid dependency on realpath
      or readlink commands to generate a physical absolute path for
      BASE_DIR
    - allow choosing per-test log directory
    - preserve subtarget failures in all/install

diff is attached.

thanks,
-- Shuah

linux_kselftest-next-7.1-rc1

Improvements and fixes kselftest, kselftest harness, frameworks
and individual tests:

-- cpu-hotplug: fix to check if cpu hotplug is supported to avoid
    test failures when cpu hotplug isn't supported.
-- frace: fix to relevant comparisons and path checks in the helper so
    it  handles those patterns without spurious shell warnings.
-- runner.sh: add ktrap support
-- tracing: fix to make --logdir option work again
-- tracing: fix to check awk supports non POSIX strtonum()
-- mqueue: fix incorrectly named settings file to make sure the test
    used the correct timeout value
-- kselftest:
    - fix to treat xpass as successful result
    - add ksft_reset_state()
-- kselftest_harness:
    - validate kselftest exit codes are handled explicitly
    - add detection of invalid mixing of kselftest and harness functionality
    - add validation of intermixing of kselftest and harness functionality
-- run_kselftest.sh:
    - remove unused $ROOT
    - resolve BASE_DIR with pwd -P to avoid dependency on realpath
      or readlink commands to generate a physical absolute path for
      BASE_DIR
    - allow choosing per-test log directory
    - preserve subtarget failures in all/install

13 Apr 2026: x86/sev for v7.1-rc1 [+ + +]
please pull the x86/sev lineup for v7.1-rc1.

Thx.

---

- Change the SEV host code handling of when SNP gets enabled in order to =
allow
  the machine to claim SNP-related resources only when SNP guests are rea=
lly
  going to be launched. The user requests this by loading the ccp module =
and
  thus it controls when SNP initialization is done

  So export an API which module code can call and do the necessary SNP se=
tup
  only when really needed

- Drop an unnecessary write-back and invalidate operation that was being
  performed too early, since the ccp driver already issues its own at the
  correct point in the initialization sequence

=E2=80=94 Drop the hotplug callbacks for enabling SNP on newly onlined CP=
Us, which
  were both architecturally unsound (the firmware rejects initialization =
if any
  CPU lacks the required configuration) and buggy (the MFDM SYSCFG MSR bi=
t was
  not being set)

- Code refactoring and cleanups to accomplish the above

13 Apr 2026: x86/misc for v7.1-rc1 [+ + +]
please pull the x86/misc lineup for v7.1-rc1.

Thx.

---

=E2=80=94 Reference the tip tree maintainer handbook directly from the re=
levant
  MAINTAINERS file entries (covering timers, IRQ, locking, scheduling, pe=
rf,
  x86, and others) so that contributors and tooling can know where to
  look

=E2=80=94 Enable interrupt remapping in defconfig, which is an architectu=
ral
  requirement for x2APIC to function correctly on bare metal.  Without it=
,
  x2APIC was effectively enabled but non-functional.

=E2=80=94 Ensure that drivers which register custom restart handlers (suc=
h as those
  needed for SoC-based x86 devices like Intel Lightning Mountain) are act=
ually
  invoked during reboot, bringing x86 in line with how other architecture=
s
  handle this.

- Cleanups

13 Apr 2026: x86/microcode for v7.1-rc1 [+ + +]
please pull the x86/microcode lineup for v7.1-rc1.

Thx.

---

- The kernel carries a table of Intel CPUs family,model,stepping,...,etc
  tuples which say what is the latest microcode for that particular CPU. Some
  CPU variants differ only by the platform ID which determines what microcode
  needs to be loaded on them.

  Carve out the platform ID handling from the microcode loader and make it
  available in a more generic place so that the old microcode
  verification machinery can use it

13 Apr 2026: x86/fred for v7.1-rc1 [+ + +]
please pull the x86 FRED lineup for v7.1-rc1.

Thx.

---

- We made the FRED support an opt-in initially out of fear of it breaking
  machines left and right in the case of a hw bug in the first generation of
  machines supporting it. Now that that the FRED code has seen a lot of
  hammering, flip the logic to be opt-out as is the usual case with new hw
  features

13 Apr 2026: x86/tdx for 7.1-rc1 [+ + +]

The only real thing of note here is printing the TDX module version.
This is a little silly on its own, but the upcoming TDX module update
code needs the same TDX module call. This shrinks that set a wee bit.

There's also few minor macro cleanups and a tweak to the GetQuote ABI
to make it easier for userspace to detect zero-length (failed) quotes.

The GetQuote tweak collides with a fix that showed up around 7.0-rc5.
Ingo resolved the conflict for the tip tree and I've appended it here
in case it is useful to you.

--

 - Print TDX module version during boot
 - Make TDX attribute naming consistent

13 Apr 2026: x86/cache for v7.1-rc1 [+ + +]
please pull the x86 resctrl lineup for v7.1-rc1.

Btw, this is my first pull request text using AI. It is ok-ish but it was=
 too
much bla so I had to shorten it into sanity. Some of the formulations are
still "too much" but I'll be even more strict with the next ones.

:-)

Thx.

---

=E2=80=94 Add return value descriptions to several internal functions, ad=
dressing
  kernel-doc complaints

=E2=80=94 Add the x86 maintainer mailing list to the resctrl section so t=
hey are
  automatically included in patch submissions, and reference the applicab=
le
  contribution rules document

=E2=80=94 Allow users to apply a single Capacity Bitmask to all cache dom=
ains at once
  using '*' as a shorthand, instead of having to specify each domain
  individually. This is particularly user-friendly on high core-count sys=
tems
  with many cache clusters

- When a user provides a non-existent domain ID while configuring cache
  allocation, ensure the failure reason is properly reported to the user
  rather than silently returning an error with a misleading "ok" status

13 Apr 2026: sched_ext changes for v7.1 [+ + +]
This depends on tip/sched-core and cgroup/for-7.1 and should be pulled
after both.

sched_ext: Changes for v7.1

- Cgroup sub-scheduler groundwork. Multiple BPF schedulers can be
  attached to cgroups and the dispatch path is made hierarchical. This
  involves substantial restructuring of the core dispatch, bypass,
  watchdog, and dump paths to be per-scheduler, along with new
  infrastructure for scheduler ownership enforcement, lifecycle
  management, and cgroup subtree iteration. The enqueue path is not yet
  updated and will follow in a later cycle.

- scx_bpf_dsq_reenq() generalized to support any DSQ including remote
  local DSQs and user DSQs. Built on top of this, SCX_ENQ_IMMED
  guarantees that tasks dispatched to local DSQs either run immediately
  or get reenqueued back through ops.enqueue(), giving schedulers tighter
  control over queueing latency. Also useful for opportunistic CPU
  sharing across sub-schedulers.

- ops.dequeue() was only invoked when the core knew a task was in BPF
  data structures, missing scheduling property change events and skipping
  callbacks for non-local DSQ dispatches from ops.select_cpu(). Fixed to
  guarantee exactly one ops.dequeue() call when a task leaves BPF
  scheduler custody.

- Kfunc access validation moved from runtime to BPF verifier time,
  removing runtime mask enforcement.

- Idle SMT sibling prioritization in the idle CPU selection path.

- Documentation, selftest, and tooling updates. Misc bug fixes and
  cleanups.

- Merges from tip/sched-core, cgroup/for-7.1, and for-7.0-fixes to
  resolve dependencies and conflicts for the above changes.

13 Apr 2026: RAS updates for v7.1-rc1 [+ + +]
please pull the RAS lineup for v7.1-rc1.

Thx.

---

- Add new AMD MCA bank names and types to the MCA code, preceded by a clean
  up of the relevant places to have them more developer-friendly (read: sort
  them alphanumerically and clean up comments) such that adding new banks is
  easy

13 Apr 2026: workqueue changes for v7.1 [+ + +]
workqueue: Changes for v7.1

- New default WQ_AFFN_CACHE_SHARD affinity scope subdivides LLCs into
  smaller shards to improve scalability on machines with many CPUs per
  LLC.

- Misc: system_dfl_long_wq for long unbound works, devm_alloc_workqueue()
  for device-managed allocation, sysfs exposure for ordered workqueues and
  the EFI workqueue, removal of HK_TYPE_WQ from wq_unbound_cpumask, and
  various small fixes.

13 Apr 2026: cgroup changes for v7.1 [+ + +]
cgroup: Changes for v7.1

- cgroup_file_notify() locking converted from a global lock to
  per-cgroup_file spinlock with a lockless fast-path when no notification
  is needed.

- Misc changes including exposing cgroup helpers for sched_ext and minor
  fixes.

13 Apr 2026: kunit next update for Linux 7.1-rc1 [+ + +]
Hi Linus,


Fixes kunit tool to
-- terminate kernel under test on SIGINT when it catches SIGINT
    to make sure the TTY isn't messed up and terminate the running
    kernel.
-- recommend --raw_output=all when KTAP header isn't found in the kernel
    output, it's useful to re-run the test with --raw_output=all to find
    out the reasons why the test didn't complete.
-- skip stty when stdin is not a tty to avoid writing noise to stderr.
-- show suites when user runs --list_suites option instead of entire
    list of tests to make the output user friendly and concise.

diff is attached.

thanks,
-- Shuah

linux_kselftest-kunit-7.1-rc1

Fixes kunit tool to
-- terminate kernel under test on SIGINT when it catches SIGINT
    to make sure the TTY isn't messed up and terminate the running
    kernel.
-- recommend --raw_output=all when KTAP header isn't found in the kernel
    output, it's useful to re-run the test with --raw_output=all to find
    out the reasons why the test didn't complete.
-- skip stty when stdin is not a tty to avoid writing noise to stderr.
-- show suites when user runs --list_suites option instead of entire
    list of tests to make the output user friendly and concise.

13 Apr 2026: SPI updates for v7.1 [+ + +]
spi: Updates for v7.1

A busy release for SPI, almost all of it in a couple of larger fix and
cleanup serieses for patterns that affected many drivers.  We do have
a couple of core API additions as well, relatively application specific
but they enable some new use cases.

 - A packed command operation for spi-mem devices.
 - Improvements to the ancillary device support to enable some IIO use
   cases from Antoniu Miclaus.
 - Fixes for a registration ordering issue pattern caused by the
   handover between allocation and registration of controllers in
   concert with devm from Johan Hovold.
 - Improvements to handling of clock allocation from Pei Xiao.
 - Cleanups in the fsl-lpspi driver from Marc Kleine-Budde.
 - Support for Renesas RZ/G3E and RZ/G3L.

13 Apr 2026: regulator updates for v7.1 [+ + +]
regulator: Updates for v7.1

This has been a very quiet update for the regulator API, the bulk of the
diffstat is DT binding conversions and the most promient series in the
changelog is Johan Hovold cleaning up some leaks of OF nodes.  For some
reason we have had several different people sending improvements to
better describe the parent supplies for existing regulators, these look
to be independent efforts.

The only new hardware support is for some Motorola custom varints of
cpcap.

13 Apr 2026: regmap updates for v7.1 [+ + +]
regmap: Updates for v7.1

This has been quite a busy release for regmap, the user visible changes
are quite minor but there's some quite good work on internal code
improvements.

 - Cleanup helper for __free()ing regmap_fields.
 - Support non-devm I3C regmaps.
 - A bunch of cleanup work, mostly from Andy Shevchenko.
 - Fix for bootstrapping issues with hardware initialised regmaps, which
   was the main inspiration for some of the cleanups.

13 Apr 2026: x86/mm for 7.1-rc1 [+ + +]

These align some the set_memory*() code better with the new page table
APIs, especially using ptdescs as opposed to 'struct page' directly.

--

 - Convert x86 code to use generic "pagetable" APIs and ptdescs

13 Apr 2026: x86/cpu for 7.1-rc1 [+ + +]

The existing Linear Address Space Separation (LASS) support punted on
support for common EFI and vsyscall configs. Complete the
implementation by supporting EFI and vsyscall=xonly.

The last few commits clean up CPUID use in the Intel "avs" sound
driver and update the x86-cpuid-db file.

--

 - Complete LASS enabling: deal with vsyscall and EFI
 - Clean up CPUID usage in newer Intel audio driver

13 Apr 2026: MMC updates for v7.1 [+ + +]
Here's the pull-request with the updates for MMC for v7.1. Details about the
highlights are as usual found in the signed tag.

Note that, this time I have picked up some changes to improve the mux subsystem
and those are also part of this pull-request, as they are needed by mmc.


Kind regards
Ulf Hansson


MMC core:
 - Add NXP vendor and IW61x device IDs for WiFi chips over SDIO
 - Add quirk for incorrect manufacturing date
 - Add support for manufacturing date beyond 2025
 - Optimize support for secure erase/trim for some Kingston eMMCs
 - Remove support for the legacy "enable-sdio-wakeup" DT property
 - Use single block writes in the retry path

MMC host:
 - dw_mmc: A great amount of cleanups/simplifications to improve the code
 - dw_mmc: Add clk_phase_map support
 - dw_mmc: Remove mshc DT alias support
 - dw_mmc-rockchip: Fix runtime PM support for internal phase
 - dw_mmc-rockchip: Add support for the RV1103B variant
 - loongson2: Add support for the Loongson-2K0300 SD/SDIO/eMMC controller
 - mtk-sd: Add support for the MT8189 variant
 - renesas_sdhi_core: Add support for selecting an optional mux
 - rtsx_pci_sdmmc: Simplify voltage switch handling
 - sdhci: Stop advertising the driver in dmesg
 - sdhci-esdhc-imx: Add 1-bit bus width support
 - sdhci-esdhc-imx: Add support for the NXP S32N79 variant
 - sdhci-msm: Add support for the IPQ5210 and IPQ9650 variants
 - sdhci-msm: Add support for wrapped keys
 - sdhci-msm: Enable ICE for CQE-capable controllers with non-CQE cards
 - sdhci-of-arasan: Add support for the Axiado AX3000 variant
 - sdhci-of-aspeed: Add support for the AST2700 variant
 - sdhci-of-bst: Add driver for the Black Sesame Technologies C1200 controller
 - sdhci-of-dwcmshc: Add support for the Canaan K230 variant
 - sdhci-of-dwcmshc: Add support for the HPE GSC variant
 - sdhci-of-dwcmshc: Prevent clock glitches to avoid malfunction
 - sdhci-of-k1: Add support for the K3 variant

mux core/consumers:
 - core: Add helper functions for getting optional and selected mux-state
 - i2c-omap: Convert to devm_mux_state_get_optional_selected()
 - phy-renesas: Convert to devm_mux_state_get_optional_selected()
 - phy-can-transceiver: Convert to devm_mux_state_get_optional()

13 Apr 2026: slab updates for 7.1 [+ + +]
please pull the latest slab updates from:


Thanks,
Vlastimil


- Sheaves performance improvements for systems with memoryless NUMA nodes,
  developed in response to regression reports. These mainly ensure that percpu
  sheaves exist and are used on cpus that belong to these memoryless nodes.
  (Vlastimil Babka, Hao Li).

- Cleanup API usage and constify sysfs attributes. (Thomas Weißschuh)

- Disable kfree_rcu() batching on builds intended for fuzzing/debugging that
  enable CONFIG_RCU_STRICT_GRACE_PERIOD. (Jann Horn)

- Add a kunit test for kmalloc_nolock()/kfree_nolock(). (Harry Yoo)

slab updates for 7.1

13 Apr 2026: EDAC updates for v7.1-rc1 [+ + +]
please pull the EDAC lineup for v7.1-rc1.

Thx.

---

- amd64_edac: Add support for AMD Zen 3 (family 19h, models 40h=E2=80=934=
fh)

- i10nm: Add GNR error information decoder support as an alternative to t=
he
  firmware decoder

=E2=80=94 versalnet: Restructure the init/teardown logic for correct and =
more readable
  error handling. Also, fix two memory leaks and a resource leak

=E2=80=94 Convert several internal structs to use bounded flex arrays, en=
abling the
  kernel's runtime checker to catch out-of-bounds memory accesses

- Mark various sysfs attribute tables read-only, preventing accidental
  modification at runtime

- The usual fixes and cleanups across the subsystem

13 Apr 2026: x86/vdso changes for v7.1 [+ + +]


for you to fetch changes up to 6ccd0843b939669159f7148dfb84e6794ca6f4a8:

x86/vdso changes for v7.1, by Thomas Weißschuh:

 - Clean up remnants of VDSO32_NOTE_MASK
 - Drop pointless #ifdeffery in vvar_vclock_fault()

 Thanks,

Ingo

13 Apr 2026: x86/platform changes for v7.1 [+ + +]


for you to fetch changes up to bc91133e260c8113c1119073c03b93c12aa41738:

#
# MERGE NOTE: This tree updates drivers/firmware/dmi_scan.c and
#             include/linux/dmi.h, which commits have been acked
#             by DMI code maintainer Jean Delvare.
#

x86/platform changes for v7.1:

 - Remove M486/M486SX/ELAN support, first minimal step (Ingo Molnar)

 - Print AGESA string from DMI additional information entry
   (Yazen Ghannam, Mario Limonciello)

 - Improve and fix the DMI code (Mario Limonciello):
    - Correct an indexing error in <linux/dmi.h>
    - Adjust dmi_decode() to use enums <linux/dmi.h>
    - Add pr_fmt() for dmi_scan.c to fix & standardize
      the log prefixes

Signed-off-by: Ingo Molnar <mingo@kernel.org>

  out-of-topic modifications in x86-platform-2026-04-13:
  --------------------------------------------------------
  drivers/firmware/dmi_scan.c        # bc91133e260c: x86/CPU/AMD: Print AGESA str
                                   # da55ebe166d7: firmware: dmi: Add pr_fmt() 
                                   # 28189e95712b: firmware: dmi: Adjust dmi_de
  include/linux/dmi.h                # bc91133e260c: x86/CPU/AMD: Print AGESA str
                                   # c064abc68e00: firmware: dmi: Correct an in

 Thanks,

Ingo

13 Apr 2026: x86/asm changes for v7.1 [+ + +]


for you to fetch changes up to 3b19e22cffe61bcdf10ee5e7584cfa3c1c54dc92:

x86/asm updates for v7.1, by Uros Bizjak:

 - Remove unnecessary "memory" clobbers from FS/GS base (read-) accessors
 - Remove unnecessary "memory" clobber from savesegment()
 - Use ASM_INPUT_RM in __loadsegment_fs()
 - Implement loadsegment()/savesegment() macros with static inline helpers
 - Use savesegment() for segment register reads in ELF core dump
 - Use savesegment() in __show_regs() instead of inline asm
 - Use correct type for 'gs' variable in __show_regs() to avoid zero-extension
 - Clean up 'sel' variable usage in do_set_thread_area()

 Thanks,

Ingo

13 Apr 2026: Scheduler changes for v7.1 [+ + +]


for you to fetch changes up to 78cde54ea5f03398f1cf6656de2472068f6da966:

Scheduler changes for v7.1:

Fair scheduling updates:

 - Skip SCHED_IDLE rq for SCHED_IDLE tasks (Christian Loehle)
 - Remove superfluous rcu_read_lock() in the wakeup path (K Prateek Nayak)
 - Simplify the entry condition for update_idle_cpu_scan() (K Prateek Nayak)
 - Simplify SIS_UTIL handling in select_idle_cpu() (K Prateek Nayak)
 - Avoid overflow in enqueue_entity() (K Prateek Nayak)
 - Update overutilized detection (Vincent Guittot)
 - Prevent negative lag increase during delayed dequeue (Vincent Guittot)
 - Clear buddies for preempt_short (Vincent Guittot)
 - Implement more complex proportional newidle balance (Peter Zijlstra)
 - Increase weight bits for avg_vruntime (Peter Zijlstra)
 - Use full weight to __calc_delta() (Peter Zijlstra)

RT and DL scheduling updates:

 - Fix incorrect schedstats for rt and dl thread (Dengjun Su)
 - Skip group schedulable check with rt_group_sched=0 (Michal Koutný)
 - Move group schedulability check to sched_rt_global_validate()
   (Michal Koutný)
 - Add reporting of runtime left & abs deadline to sched_getattr()
   for DEADLINE tasks (Tommaso Cucinotta)

Scheduling topology updates by K Prateek Nayak:

 - Compute sd_weight considering cpuset partitions
 - Extract "imb_numa_nr" calculation into a separate helper
 - Allocate per-CPU sched_domain_shared in s_data
 - Switch to assigning "sd->shared" from s_data
 - Remove sched_domain_shared allocation with sd_data

Energy-aware scheduling updates:

 - Filter false overloaded_group case for EAS (Vincent Guittot)
 - PM: EM: Switch to rcu_dereference_all() in wakeup path
   (Dietmar Eggemann)

Infrastructure updates:

 - Replace use of system_unbound_wq with system_dfl_wq (Marco Crivellari)

Proxy scheduling updates by John Stultz:

 - Make class_schedulers avoid pushing current, and get rid of proxy_tag_curr()
 - Minimise repeated sched_proxy_exec() checking
 - Fix potentially missing balancing with Proxy Exec
 - Fix and improve task::blocked_on et al handling
 - Add assert_balance_callbacks_empty() helper
 - Add logic to zap balancing callbacks if we pick again
 - Move attach_one_task() and attach_task() helpers to sched.h
 - Handle blocked-waiter migration (and return migration)
 - Add K Prateek Nayak to scheduler reviewers for proxy execution

Misc cleanups and fixes by John Stultz, Joseph Salisbury,
Peter Zijlstra, K Prateek Nayak, Michal Koutný, Randy Dunlap,
Shrikanth Hegde, Vincent Guittot, Zhan Xusheng, Xie Yuanbin
and Vincent Guittot.

 Thanks,

Ingo

13 Apr 2026: pwm: Changes for 7.1-rc1 [+ + +]
Subject: [GIT PULL] pwm: Changes for 7.1-rc1
MIME-Version: 1.0

Hello Linus,

the following changes since commit 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f:

  Linux 7.0-rc1 (2026-02-22 13:18:59 -0800)

are available in the Git repository at:

wm/for-7.1-rc1

for you to fetch changes up to aa8f35172ab66c57d4355a8c4e28d05b44c938e3:

  pwm: th1520: fix `CLIPPY=3D1` warning (2026-03-29 09:37:13 +0200)

Very few patches this time around. I think there are a few patches on
the pwm mailing list that might be ready, but I didn't come around to
review them in time for the merge window, so it's just these 5 commits.

All changes are in next since next-20260330, I don't expect any
complications.

Thanks for pulling these into v7.1-rc1.

Best regards
Uwe

pwm: Changes for v7.1-rc1

Just two minor fixes, a device tree binding addition to support a few
more SoCs (without the need for driver adaptions), a driver include
cleanup and the addition of the #linux-pwm irc channel to MAINTAINERS.

13 Apr 2026: Performance events changes for v7.1 [+ + +]


for you to fetch changes up to 5a84b600050c5f16b8bba25dd0e7aea845880407:

Performance events changes for v7.1:

Core updates:

 - Try to allocate task_ctx_data quickly, to optimize
   O(N^2) algorithm on large systems with O(100k) threads
   (Namhyung Kim)

AMD PMU driver IBS support updates and fixes, by Ravi Bangoria:

 - Fix interrupt accounting for discarded samples
 - Fix a Zen5-specific quirk
 - Fix PhyAddrVal handling
 - Fix NMI-safety with perf_allow_kernel()
 - Fix a race between event add and NMIs

Intel PMU driver updates:

 - Only check GP counters for PEBS constraints validation (Dapeng Mi)

MSR driver:

 - Turn SMI_COUNT and PPERF on by default, instead of a long
   list of CPU models to enable them on (Kan Liang)

Misc cleanups and fixes by Aldf Conte, Anshuman Khandual, Namhyung Kim,
Ravi Bangoria and Yen-Hsiang Hsu.

 Thanks,

Ingo

13 Apr 2026: objtool changes for v7.1 [+ + +]


for you to fetch changes up to 1735858caa4bbb8b923860c0833d463b5d9c5f79:

objtool updates for v7.1:

 - KLP support updates and fixes (Song Liu)

 - KLP-build script updates and fixes (Joe Lawrence)

 - Support Clang RAX DRAP sequence, to address clang
   false positive (Josh Poimboeuf)

 - Reorder ORC register numbering to match regular x86
   register numbering (Josh Poimboeuf)

 - Misc cleanups (Wentong Tian, Song Liu)

 Thanks,

Ingo

13 Apr 2026: media updates [+ + +]

a/v7.1-1

For:

- new CSI tegra support, covering Tegra20 and Tegra30;
- new camera sensor drivers: T4ka3 and ov2732;
- m88ds3103: add 3103c chip support;
- uvcvideo: add support for Intel RealSense D436/D555 and P010 pixel format;
- synopsys csi2rx: add i.MX93 support;
- imx8-isi: add i.MX95 support;
- imx8mq-mipi-csi2: add i.MX8ULP support;
- dw100: add V4L2 requests support;
- support for DTV devices from Hauppauge got some improvements;
- media staging: dropped starfive-camss driver;
- media docs: document multi-committers model and improve maint profile;
- media core: add v4l2_subdev_get_frame_desc_passthrough() helper;
- media core: improve error handling in fwnode parsing;
- lots of driver fixes, cleanups and improvements.
   =20
Regards,
Mauro

---

[GIT PULL for v7.1] media updates

13 Apr 2026: locking updates for v7.1 [+ + +]


for you to fetch changes up to a21c1e961de28b95099a9ca2c3774b2eee1a33bb:

Locking updates for v7.1:

Mutexes:

 - Add killable flavor to guard definitions (Davidlohr Bueso)
 - Remove the list_head from struct mutex (Matthew Wilcox)
 - Rename mutex_init_lockep() (Davidlohr Bueso)

rwsems:

 - Remove the list_head from struct rw_semaphore and
   replace it with a single pointer (Matthew Wilcox)
 - Fix logic error in rwsem_del_waiter() (Andrei Vagin)

Semaphores:

 - Remove the list_head from struct semaphore (Matthew Wilcox)

Jump labels:

 - Use ATOMIC_INIT() for initialization of .enabled (Thomas Weißschuh)
 - Remove workaround for old compilers in initializations
   (Thomas Weißschuh)

Lock context analysis changes and improvements:

 - Add context analysis for rwsems (Peter Zijlstra)
 - Fix rwlock and spinlock lock context annotations (Bart Van Assche)
 - Fix rwlock support in <linux/spinlock_up.h> (Bart Van Assche)
 - Add lock context annotations in the spinlock implementation
   (Bart Van Assche)
 - signal: Fix the lock_task_sighand() annotation (Bart Van Assche)
 - ww-mutex: Fix the ww_acquire_ctx function annotations
   (Bart Van Assche)
 - Add lock context support in do_raw_{read,write}_trylock()
   (Bart Van Assche)
 - arm64, compiler-context-analysis: Permit alias analysis through
   __READ_ONCE() with CONFIG_LTO=y (Marco Elver)
 - Add __cond_releases() (Peter Zijlstra)
 - Add context analysis for mutexes (Peter Zijlstra)
 - Add context analysis for rtmutexes (Peter Zijlstra)
 - Convert futexes to compiler context analysis (Peter Zijlstra)

Rust integration updates:

 - Add atomic fetch_sub() implementation (Andreas Hindborg)
 - Refactor various rust_helper_ methods for expansion (Boqun Feng)
 - Add Atomic<*{mut,const} T> support (Boqun Feng)
 - Add atomic operation helpers over raw pointers (Boqun Feng)
 - Add performance-optimal Flag type for atomic booleans, to avoid
   slow byte-sized RMWs on architectures that don't support them.
   (FUJITA Tomonori)
 - Misc cleanups and fixes (Andreas Hindborg, Boqun Feng,
   FUJITA Tomonori)

LTO support updates:

 - arm64: Optimize __READ_ONCE() with CONFIG_LTO=y (Marco Elver)
 - compiler: Simplify generic RELOC_HIDE() (Marco Elver)

Miscellaneous fixes and cleanups by Peter Zijlstra, Randy Dunlap,
Thomas Weißschuh, Davidlohr Bueso and Mikhail Gavrilov.

 Thanks,

Ingo

13 Apr 2026: erofs updates for 7.1-rc1 [+ + +]
Could you consider this pull request for 7.1-rc1?

No outstanding feature for this cycle and there are small random
fixes as below.  No potential merge conflict is observed.

Thanks,
Gao Xiang

Changes since last update:

 - Validate xattr h_shared_count to report -EFSCORRUPTED explicitly
   for crafted images

 - Verify metadata accesses for file-backed mounts via rw_verify_area()

 - Fix FS_IOC_GETFSLABEL to include the trailing NUL byte, consistent
   with ext4 and xfs

 - Properly handle 48-bit on-disk blocks/uniaddr for extra devices

 - Fix an index underflow in the LZ4 in-place decompression that can
   cause out-of-bounds accesses with crafted images

 - Minor fixes and cleanups

13 Apr 2026: chrome-platform updates for v7.1 [+ + +]

Hi Linus,


Thanks,
Tzung-Bi
------

chrome-platform: Updates for v7.1

* Improvements

  - Reduce transmission size by dropping unnecessary data in
    cros_ec_lightbar.
  - Convert chromeos_privacy_screen, chromeos_tbmc, and wilco_ec/event
    from ACPI drivers to platform drivers.

* Fixes

  - Drop wakeup source on remove() in chromeos_tbmc.

* Cleanups

  - Simplify workqueue usage with devm in cros_usbpd_logger.

13 Apr 2026: Modules changes for v7.1-rc1 [+ + +]
Modules changes for v7.1-rc1

Kernel symbol flags:

  - Replace the separate *_gpl symbol sections (__ksymtab_gpl and
    __kcrctab_gpl) with a unified symbol table and a new
    __kflagstab section. This section stores symbol flags, such as
    the GPL-only flag, as an 8-bit bitset for each exported symbol.
    This is a cleanup that simplifies symbol lookup in the module
    loader by avoiding table fragmentation and will allow a cleaner
    way to add more flags later if needed.

Module signature UAPI:

  - Move struct module_signature to the UAPI headers to allow reuse
    by tools outside the kernel proper, such as kmod and
    scripts/sign-file. This also renames a few constants for clarity
    and drops unused signature types as preparation for hash-based
    module integrity checking work that's in progress.

Sysfs:

  - Add a /sys/module/<module>/import_ns sysfs attribute to show
    the symbol namespaces imported by loaded modules. This makes it
    easier to verify driver API access at runtime on systems that
    care about such things (e.g. Android).

Cleanups and fixes:

  - Force sh_addr to 0 for all sections in module.lds. This prevents
    non-zero section addresses when linking modules with ld.bfd -r,
    which confused elfutils.

  - Fix a memory leak of charp module parameters on module unload
    when the kernel is configured with CONFIG_SYSFS=3Dn.

  - Override the -EEXIST error code returned by module_init() to
    userspace. This prevents confusion with the errno reserved by
    the module loader to indicate that a module is already loaded.

  - Simplify the warning message and drop the stack dump on positive
    returns from module_init().

  - Drop unnecessary extern keywords from function declarations and
    synchronize parse_args() arguments with their implementation.

Signed-off-by: Sami Tolvanen <samitolvanen@google.com>

13 Apr 2026: exfat update for 7.1-rc1 [+ + +]
This is exfat update pull request for v7.1-rc1. I add a description of

Thanks!

Description for this pull request:
 - Implement FALLOC_FL_ALLOCATE_RANGE to add support for preallocating
   clusters without zeroing, helping to reduce file fragmentation.
 - Add a unified block readahead helper for FAT chain conversion, bitmap
   allocation, and directory entry lookups.
 - Optimize exfat_chain_cont_cluster() by caching buffer heads to minimize
   mark_buffer_dirty() and mirroring overhead during NO_FAT_CHAIN to
   FAT_CHAIN conversion.
 - Switch to truncate_inode_pages_final() in evict_inode() to prevent
   BUG_ON caused by shadow entries during reclaim.
 - Fix a 32-bit truncation bug in directory entry calculations by ensuring
   proper bitwise coercion.
 - Fix sb->s_maxbytes calculation to correctly reflect the maximum possible
   volume size for a given cluster size, resolving xfstests generic/213.
 - Introduced exfat_cluster_walk() helper to traverse FAT chains by
   a specified step, handling both ALLOC_NO_FAT_CHAIN and ALLOC_FAT_CHAIN
   modes.
 - Introduced exfat_chain_advance() helper to advance an exfat_chain
   structure, updating both the current cluster and remaining size.
 - Remove dead assignments and fix Smatch warnings.

 
12 Apr 2026: Documentation for 7.1 [+ + +]
A busier cycle than I had expected for docs, including:

- Translations: some overdue updates to the Japanese translations, Chinese
  translations for some of the Rust documentation, and the beginnings of a
  Portuguese translation.

- New documents covering CPU isolation, managed interrupts, debugging
  Python gbb scripts, and more.

- More tooling work from Mauro, reducing docs-build warnings, adding self
  tests, improving man-page output, bringing in a proper C tokenizer to
  replace (some of) the mess of kernel-doc regexes, and more.

- Update and synchronize changes.rst and scripts/ver_linux, and put both
  into alphabetical order.

...and a long list of documentation updates, typo fixes, and general
improvements.

Expect a simple conflict with the Rust tree due to the sorting of
Documentation/process/changes.rst.

12 Apr 2026: hwmon updates for v7.1-rc1 [+ + +]


Thanks,
Guenter
------

hwmon updates for 7.1

* New drivers:

  - Add support for Lenovo Yoga/Legion fan monitoring (yogafan)

  - Add support for LattePanda Sigma EC

  - Add support for Infineon XDP720 eFuse

  - Add support for Microchip MCP998X

* New device support:

  - Add support for TI INA234

  - Add support for Infineon XDPE1A2G5B/7B

  - Add support for Renesas RAA228942 and RAA228943 (isl68137)

  - Add support for Delta Q54SN120A1 and Q54SW120A7 (pmbus)

  - Add support for TI TMP110 and TMP113 (tmp102)

  - Add support for Sony APS-379 (pmbus)

  - Add support for ITE IT8689E (it87)

  - Add support for ASUS ROG STRIX Z790-H, X470-F, and CROSSHAIR X670E (asus-ec-sensors)

  - Add support for GPD Win 5 (gpd-fan)

* Modernization and Cleanups:

  - Convert asus_atk0110 and acpi_power_meter ACPI drivers to platform drivers

  - Remove i2c_match_id() usage in many PMBus drivers

  - Use guard() for mutex protection in pmbus_core

  - Replace sprintf() with sysfs_emit() in ads7871, emc1403, max6650,
    ads7828, max31722, and tc74

  - Various markup and documentation improvements for yogafan and ltc4282

* Bug fixes:

  - Fix use-after-free and missing usb_kill_urb on disconnect in powerz driver

  - Avoid cacheline sharing for DMA buffer in powerz driver

  - Fix integer overflow in power calculation on 32-bit in isl28022 driver

  - Fix bugs in pt5161l_read_block_data()

  - Propagate SPI errors and fix incorrect error codes in ads7871 driver

  - Fix i2c_smbus_write_byte_data wrapper argument type in max31785 driver

* Device tree bindings:

  - Convert npcm750-pwm-fan to DT schema

  - Add bindings for Infineon XDP720, Microchip MCP998X, Sony APS-379,
    Renesas RAA228942/3, Delta Q54SN120A1/7, XDPE1A2G5B/7B,
    Aosong AHT10/20, DHT20, and TI INA234

  - Adapt moortec,mr75203 bindings for T-Head TH1520

12 Apr 2026: bitmap for 7.1 [+ + +]

This includes two new helpers, tests improvements and new tests, the
API usage cleanups, and random comments and docs fixes.

All patches spent in -next for at least 2 weeks with no issues.

Thanks,
Yury


bitmap updates for v7.1

 - new API: bitmap_weight_from() and bitmap_weighted_xor() (Yury);
 - drop unused __find_nth_andnot_bit() (Yury);
 - new tests and test improvements (Andy, Akinobu, Yury);
 - fixes for count_zeroes API (Yury);
 - cleanup bitmap_print_to_pagebuf() mess (Yury);
 - comments and documentation updates (Andy, Kai, Kit).

12 Apr 2026: nolibc changes for v7.1 [+ + +]
nolibc changes for 7.1

Highlights:

* Many new features and optimizations to printf().
* Rename non-standard symbols to avoid collisions with application code.
* Support for byteswap.h, endian.h, err.h and asprintf().
* 64-bit dev_t.
* Smaller cleanips and fixes to the code and build system.

12 Apr 2026: timers/core for v7.1-rc1 [+ + +]
please pull the latest timers/core branch from:

-04-12


Updates for the timer/timekeeping core:

  - A rework of the hrtimer subsystem to reduce the overhead for frequently
    armed timers, especially the hrtick scheduler timer.

      - Better timer locality decision

      - Simplification of the evaluation of the first expiry time by
        keeping track of the neighbor timers in the RB-tree by providing a
        RB-tree variant with neighbor links. That avoids walking the
        RB-tree on removal to find the next expiry time, but even more
        important allows to quickly evaluate whether a timer which is
        rearmed changes the position in the RB-tree with the modified
        expiry time or not. If not, the dequeue/enqueue sequence which both
        can end up in rebalancing can be completely avoided.

      - Deferred reprogramming of the underlying clock event device. This
        optimizes for the situation where a hrtimer callback sets the need
        resched bit. In that case the code attempts to defer the
        re-programming of the clock event device up to the point where the
        scheduler has picked the next task and has the next hrtick timer
        armed. In case that there is no immediate reschedule or soft
        interrupts have to be handled before reaching the reschedule point
        in the interrupt entry code the clock event is reprogrammed in one
        of those code paths to prevent that the timer becomes stale.

      - Support for clocksource coupled clockevents

      The TSC deadline timer is coupled to the TSC. The next event is
      programmed in TSC time. Currently this is done by converting the
      CLOCK_MONOTONIC based expiry value into a relative timeout,
      converting it into TSC ticks, reading the TSC adding the delta
      ticks and writing the deadline MSR.

As the timekeeping core has the conversion factors for the TSC
already, the whole back and forth conversion can be completely
avoided. The timekeeping core calculates the reverse conversion
factors from nanoseconds to TSC ticks and utilizes the base
timestamps of TSC and CLOCK_MONOTONIC which are updated once per
tick. This allows a direct conversion into the TSC deadline value
without reading the time and as a bonus keeps the deadline
conversion in sync with the TSC conversion factors, which are
updated by adjtimex() on systems with NTP/PTP enabled.

     - Allow inlining of the clocksource read and clockevent write
       functions when they are tiny enough, e.g. on x86 RDTSC and WRMSR.

    With all those enhancements in place a hrtick enabled scheduler
    provides the same performance as without hrtick. But also other hrtimer
    users obviously benefit from these optimizations.

  - Robustness improvements and cleanups of historical sins in the hrtimer
    and timekeeping code.

  - Rewrite of the clocksource watchdog.

    The clocksource watchdog code has over time reached the state of an
    impenetrable maze of duct tape and staples. The original design, which was
    made in the context of systems far smaller than today, is based on the
    assumption that the to be monitored clocksource (TSC) can be trivially
    compared against a known to be stable clocksource (HPET/ACPI-PM timer).

    Over the years this rather naive approach turned out to have major
    flaws. Long delays between the watchdog invocations can cause wrap
    arounds of the reference clocksource. The access to the reference
    clocksource degrades on large multi-sockets systems dure to
    interconnect congestion. This has been addressed with various
    heuristics which degraded the accuracy of the watchdog to the point
    that it fails to detect actual TSC problems on older hardware which
    exposes slow inter CPU drifts due to firmware manipulating the TSC to
    hide SMI time.

    The rewrite addresses this by:

      - Restricting the validation against the reference clocksource to the
        boot CPU which is usually closest to the legacy block which
        contains the reference clocksource (HPET/ACPI-PM).

      - Do a round robin validation betwen the boot CPU and the other CPUs
        based only on the TSC with an algorithm similar to the TSC
        synchronization code during CPU hotplug.

      - Being more leniant versus remote timeouts

  - The usual tiny fixes, cleanups and enhancements all over the place

Thanks,

tglx

12 Apr 2026: timers/vdso for v7.1-rc1 [+ + +]
please pull the latest timers/vdso branch from:

-04-12


Update to the VDSO subsystem:

     - Make the handling of compat functions consistent and more robust

     - Rework the underlying data store so that it is dynamically
       allocated, which allows the conversion of the last holdout SPARC64
       to the generic VDSO implementation

     - Rework the SPARC64 VDSO to utilize the generic implementation

     - Mop up the left overs of the non-generic VDSO support in the core
       code.

     - Expand the VDSO selftest and make them more robust

     - Allow time namespaces to be enabled independently of the generic
       VDSO support, which was not possible before due to SPARC64 not
       using it.

     - Various cleanups and improvements in the related code.

Thanks,

tglx

12 Apr 2026: irq/drivers for v7.1-rc1 [+ + +]
please pull the latest irq/drivers branch from:

-04-12

nd_eic_interrupt in COMPILE_TEST

Updates for the interrupt chip driver subsystem:

  - A large refactoring for the Renesas RZV2H driver to add new interrupt
    types cleanly.

  - A large refactoring for the Renesas RZG2L driver to add support the new
    RZ/G3L variant.

  - Add support for the new NXP S32N79 chip in the IMX irq-steer driver.

  - Add support for the Apple AICv3 variant

  - Enhance the Loongson PCH LPC driver so it can be used on MIPS with
    device tree firmware

  - Allow the PIC32 EVIC driver to be built independent of MIPS in compile
    tests.

  - The usual small fixes and enhancements all over the place

Thanks,

tglx

12 Apr 2026: smp/core for v7.1-rc1 [+ + +]
please pull the latest smp/core branch from:

-12


Updates for the SMP core code:

  - Switch smp_call_on_cpu() to user system_percpu_wq instead of system_wq
    a part of the ongoing workqueue restructuring

  - Improve the CSD-lock diagnostics for smp_call_function_single() to
    provide better debug mechanisms on weakly ordered systems.

  - Cache the current CPU number once in smp_call_function*() instead of
    retrieving it over and over.

  - Add missing kernel-doc comments all over the place

Thanks,

tglx

12 Apr 2026: irq/msi for v7.1-rc1 [+ + +]
please pull the latest irq/msi branch from:

12

si_msg() is missing

A small update for the MSI interrupt library to check for callers which
fail to provide the mandatory irq_write_msi_msg() callback, which prevents
a NULL pointer dereference later.

Thanks,

tglx

12 Apr 2026: core/debugobjects for v7.1-rc1 [+ + +]
please pull the latest core/debugobjects branch from:

s-2026-04-12


A trivial update for debugobjects to drop a pointless likely() around
IS_ERR_OR_NULL().

Thanks,

tglx

12 Apr 2026: core/entry for v7.1-rc1 [+ + +]
please pull the latest core/entry branch from:

04-12

scall functions

A trivial update for the entry code adding missing kernel documentation for
function arguments.

Thanks,

tglx

12 Apr 2026: irq/core for v7.1-rc1 [+ + +]
please pull the latest irq/core branch from:

-12

sor callback sysvec

Update for the core interrupt subsystem:

   - Invoke add_interrupt_randomness() in handle_percpu_devid_irq() and
     cleanup the workaround in the Hyper-V driver, which would now invoke
     it twice on ARM64. Removing it from the driver requires to add it to
     the x86 system vector entry point.

   - Remove the pointles cpu_read_lock() around reading CPU possible mask,
     which is read only after init.

   - Add documentation for the interaction between device tree bindings and
     the interrupt type defines in irq.h.

   - Delete stale defines in the matrix allocator and the equivalent in
     loongarch.

Thanks,

tglx

12 Apr 2026: Kbuild and Kconfig changes for v7.1 [+ + +]

Hi Linus,

please pull these changes to Kbuild and Kconfig for v7.1.  Please let me
know if anything is incorrect and not matching your standards.

All changes have been in -next, most for several cycles without reported
problems.

Thanks and kind regards,
Nicolas

---

Kbuild/Kconfig updates for 7.1

Kbuild changes
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

  * tools/build: Reject unexpected values for LLVM=3D

  * kbuild: uapi: remove usage of toolchain headers

  * kbuild: Switch from '-fms-extensions' to '-fms-anonymous-structs'
    when available (currently: clang >=3D 23.0.0)

  * kbuild: Reduce the number of compiler-generated suffixes for clang
    thin-lto build

  * kbuild: reduce output spam ("GEN Makefile") when building out of tree

  * check-uapi: improve portability for testing headers

  * uapi: also test UAPI headers against C++ compilers

  * kbuild: vdso_install: drop build ID architecture allow-list

  * checksyscalls: only run when necessary

  * Documentation: kbuild: Update the debug information notes in
    reproducible-builds.rst

  * kconfig: forbid multiple entries with the same symbol in a choice

  * kbuild: expand inlining hints with -fdiagnostics-show-inlining-chain


Kconfig changes
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

  * kconfig: Error out on duplicated kconfig inclusion


Cc: Alexander Coffin <alex@cyberialabs.net>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Bill Wendling <morbo@google.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Dodji Seketeli <dodji@seketeli.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Helge Deller <deller@gmx.de>
Cc: John Moon <john@jmoon.dev>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Josh Poimboeuf <jpoimboe@kernel.org>
Cc: Justin Stitt <justinstitt@google.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <nick.desaulniers+lkml@gmail.com>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Song Liu <song@kernel.org>
Cc: Thomas Wei=DFschuh <linux@weissschuh.net>
Cc: Yonghong Song <yonghong.song@linux.dev>
Cc: kernel-team@fb.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-efi@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-kbuild@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: llvm@lists.linux.dev
Cc: loongarch@lists.linux.dev

12 Apr 2026: arm64: dts: ti: k3: Late DT update for v7.1 [+ + +]
 protected-headers="v1"
From: Vignesh Raghavendra <vigneshr@ti.com>
To: SoC <soc@kernel.org>, arm@kernel.org
Cc: SoC list <soc@lists.linux.dev>, linux-arm-kernel@lists.infradead.org,
 linux-kernel@vger.kernel.org, Tero Kristo <kristo@kernel.org>,
 "Nishanth, Menon" <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>
Message-ID: <6e294d61-9779-41ef-83f8-29f46fd98700@ti.com>
Subject: [GIT PULL] arm64: dts: ti: k3: Late DT update for v7.1

--------------Ajo5ceQ3I866hKcfjqMcw114

Hi ARM SoC Maintainers,

This contains a single patch that updates r5f remoteproc DT nodes, warran=
ted by recent=20
binding update merged via remoteproc tree.

TI K3 device tree updates for v7.1 part2

Late addition:
- Use memory-region-names for r5f across K3 SoCs

12 Apr 2026: xen: branch for v7.1-rc1 [+ + +]
Please git pull the following tag:


xen: branch for v7.1-rc1

It contains:

- a fix of an error path in drivers/xen/manage.c
- a fix for the Xen console driver solving a boot hangup when the
  console backend isn't yet running
- a comment fix in the Xen swiotlb driver
- a hardening patch for Xen on Arm adding a more thorough validation
- a cleanup of the Xen grant table code hiding suspend/resume code for
  the case if CONFIG_HIBERNATE_CALLBACKS isn't defined

Thanks.

Juergen

12 Apr 2026: i2c-host for v7.1, part 1 [+ + +]
Hi Wolfram,

here's the first part of the merge window pull request.

It has the usual refactoring, cleanups and updates, with no big
surprises. There is also some new hardware support. The main
chunks this time are the xiic and rtl9300 work.

One patch is already queued for part 2, as it needed some
dependencies first and I will keep collecting patches with no
major impact.

Thanks and enjoy the rest of the weekend,
Andi

i2c-host for v7.1, part 1

- generic cleanups in npcm7xx, qcom-cci, xiic and designware DT
  bindings

- atr: use kzalloc_flex for alias pool allocation
- ixp4xx: convert bindings to DT schema
- ocores: use read_poll_timeout_atomic() for polling waits
- qcom-geni: skip extra TX DMA TRE for single read messages
- s3c24xx: validate SMBus block length before using it
- spacemit: refactor xfer path and add K1 PIO support
- tegra: identify DVC and VI with SoC data variants
- tegra: support SoC-specific register offsets
- xiic: switch to devres and generic fw properties
- xiic: skip input clock setup on non-OF systems

rtl9300:
- add per-SoC callbacks and clock support for RTL9607C
- add support for new 50 kHz and 2.5 MHz bus speeds
- general refactoring in preparation for RTL9607C support

New support:
- DesignWare GOOG5000 (ACPI HID)
- Intel Nova Lake (ACPI ID)
- Realtek RTL9607C
- SpacemiT K3 binding
- Tegra410 register layout support

 
11 Apr 2026: Crypto library updates for 7.1 [+ + +]
- Migrate more hash algorithms from the traditional crypto subsystem
  to lib/crypto/.

  Like the algorithms migrated earlier (e.g. SHA-*), this simplifies
  the implementations, improves performance, enables further
  simplifications in calling code, and solves various other issues:

    - AES CBC-based MACs (AES-CMAC, AES-XCBC-MAC, and AES-CBC-MAC)

        - Support these algorithms in lib/crypto/ using the AES
          library and the existing arm64 assembly code

        - Reimplement the traditional crypto API's "cmac(aes)",
          "xcbc(aes)", and "cbcmac(aes)" on top of the library

        - Convert mac80211 to use the AES-CMAC library. Note: several
          other subsystems can use it too and will be converted later

        - Drop the broken, nonstandard, and likely unused support for
          "xcbc(aes)" with key lengths other than 128 bits

        - Enable optimizations by default

    - GHASH

        - Migrate the standalone GHASH code into lib/crypto/

        - Integrate the GHASH code more closely with the very similar
          POLYVAL code, and improve the generic GHASH implementation
          to resist cache-timing attacks and use much less memory

        - Reimplement the AES-GCM library and the "gcm" crypto_aead
          template on top of the GHASH library. Remove "ghash" from
          the crypto_shash API, as it's no longer needed

        - Enable optimizations by default

    - SM3

        - Migrate the kernel's existing SM3 code into lib/crypto/, and
          reimplement the traditional crypto API's "sm3" on top of it

        - I don't recommend using SM3, but this cleanup is worthwhile
          to organize the code the same way as other algorithms

- Testing improvements

    - Add a KUnit test suite for each of the new library APIs

    - Migrate the existing ChaCha20Poly1305 test to KUnit

    - Make the KUnit all_tests.config enable all crypto library tests

    - Move the test kconfig options to the Runtime Testing menu

- Other updates to arch-optimized crypto code

    - Optimize SHA-256 for Zhaoxin CPUs using the Padlock Hash Engine

    - Remove some MD5 implementations that are no longer worth keeping

    - Drop big endian and voluntary preemption support from the arm64
      code, as those configurations are no longer supported on arm64

- Make jitterentropy and samples/tsm-mr use the crypto library APIs

Note: the overall diffstat is neutral, but when the test code is
excluded it is significantly negative:

    Tests:     13 files changed, 1982 insertions(+),  888 deletions(-)
    Non-test: 141 files changed, 2897 insertions(+), 3987 deletions(-)
    All:      154 files changed, 4879 insertions(+), 4875 deletions(-)

11 Apr 2026: CRC updates for 7.1 [+ + +]
- Several improvements related to crc_kunit, to align with the
  standard KUnit conventions and make it easier for developers and CI
  systems to run this test suite

- Add an arm64-optimized implementation of CRC64-NVME

- Remove unused code for big endian arm64

11 Apr 2026: fscrypt updates for 7.1 [+ + +]
- Various cleanups for the interface between fs/crypto/ and
  filesystems, from Christoph Hellwig

- Simplify and optimize the implementation of v1 key derivation by
  using the AES library instead of the crypto_skcipher API

11 Apr 2026: Driver core changes for 7.1-rc1 [+ + +]

All commits have been in linux-next for at least five rounds; expect a mino=
r
conflict with the Rust tree due to the minimum compiler version bump.

A struct platform_device_info change and the addition of a conditional guar=
d for
the device lock have been shared with various trees through a signed tag; t=
he
Rust I/O register!() macro addition has been shared with the DRM tree.

A few late-cycle fixes still need some soak time in linux-next; please expe=
ct a
follow-up PR in the middle of the merge window.

- Danilo

Driver core changes for 7.1-rc1

- debugfs:
  - Fix NULL pointer dereference in debugfs_create_str()
  - Fix misplaced EXPORT_SYMBOL_GPL for debugfs_create_str()
  - Fix soundwire debugfs NULL pointer dereference from uninitialized
    firmware_file

- device property:
  - Make fwnode flags modifications thread safe; widen the field to
    unsigned long and use set_bit() / clear_bit() based accessors
  - Document how to check for the property presence

- devres:
  - Separate struct devres_node from its "subclasses" (struct devres,
    struct devres_group); give struct devres_node its own release and
    free callbacks for per-type dispatch
  - Introduce struct devres_action for devres actions, avoiding the
    ARCH_DMA_MINALIGN alignment overhead of struct devres
  - Export struct devres_node and its init/add/remove/dbginfo
    primitives for use by Rust Devres<T>
  - Fix missing node debug info in devm_krealloc()
  - Use guard(spinlock_irqsave) where applicable; consolidate unlock
    paths in devres_release_group()

- driver_override:
  - Convert PCI, WMI, vdpa, s390/cio, s390/ap, and fsl-mc to the
    generic driver_override infrastructure, replacing per-bus
    driver_override strings, sysfs attributes, and match logic; fixes
    a potential UAF from unsynchronized access to driver_override in
    bus match() callbacks
  - Simplify __device_set_driver_override() logic

- kernfs:
  - Send IN_DELETE_SELF and IN_IGNORED inotify events on kernfs
    file and directory removal
  - Add corresponding selftests for memcg

- platform:
  - Allow attaching software nodes when creating platform devices via
    a new 'swnode' field in struct platform_device_info
  - Add kerneldoc for struct platform_device_info

- software node:
  - Move software node initialization from postcore_initcall() to
    driver_init(), making it available early in the boot process
  - Move kernel_kobj initialization (ksysfs_init) earlier to support
    the above
  - Remove software_node_exit(); dead code in a built-in unit

- SoC:
  - Introduce of_machine_read_compatible() and of_machine_read_model()
    OF helpers and export soc_attr_read_machine() to replace direct
    accesses to of_root from SoC drivers; also enables
    CONFIG_COMPILE_TEST coverage for these drivers

- sysfs:
  - Constify attribute group array pointers to
    'const struct attribute_group *const *' in sysfs functions,
    device_add_groups() / device_remove_groups(), and struct class

- Rust:
  - Devres:
    - Embed struct devres_node directly in Devres<T> instead of going
      through devm_add_action(), avoiding the extra allocation and
      the unnecessary ARCH_DMA_MINALIGN alignment

  - I/O:
    - Turn IoCapable from a marker trait into a functional trait
      carrying the raw I/O accessor implementation (io_read /
      io_write), providing working defaults for the per-type Io
      methods
    - Add RelaxedMmio wrapper type, making relaxed accessors usable
      in code generic over the Io trait
    - Remove overloaded per-type Io methods and per-backend macros
      from Mmio and PCI ConfigSpace

  - I/O (Register):
    - Add IoLoc trait and generic read/write/update methods to the Io
      trait, making I/O operations parameterizable by typed locations
    - Add register! macro for defining hardware register types with
      typed bitfield accessors backed by Bounded values; supports
      direct, relative, and array register addressing
    - Add write_reg() / try_write_reg() and LocatedRegister trait
    - Update PCI sample driver to demonstrate the register! macro

        Example:

        ```
            register! {
                /// UART control register.
                CTRL(u32) @ 0x18 {
                    /// Receiver enable.
                    19:19   rx_enable =3D> bool;
                    /// Parity configuration.
                    14:13   parity ?=3D> Parity;
                }

                /// FIFO watermark and counter register.
                WATER(u32) @ 0x2c {
                    /// Number of datawords in the receive FIFO.
                    26:24   rx_count;
                    /// RX interrupt threshold.
                    17:16   rx_water;
                }
            }

            impl WATER {
                fn rx_above_watermark(&self) -> bool {
                    self.rx_count() > self.rx_water()
                }
            }

            fn init(bar: &pci::Bar<BAR0_SIZE>) {
                let water =3D WATER::zeroed()
                    .with_const_rx_water::<1>(); // > 3 would not compile
                bar.write_reg(water);

                let ctrl =3D CTRL::zeroed()
                    .with_parity(Parity::Even)
                    .with_rx_enable(true);
                bar.write_reg(ctrl);
            }

            fn handle_rx(bar: &pci::Bar<BAR0_SIZE>) {
                if bar.read(WATER).rx_above_watermark() {
                    // drain the FIFO
                }
            }

            fn set_parity(bar: &pci::Bar<BAR0_SIZE>, parity: Parity) {
                bar.update(CTRL, |r| r.with_parity(parity));
            }
        ```

  - IRQ:
    - Move 'static bounds from where clauses to trait declarations
      for IRQ handler traits

  - Misc:
    - Enable the generic_arg_infer Rust feature
    - Extend Bounded with shift operations, single-bit bool conversion,
      and const get()

- Misc:
  - Make deferred_probe_timeout default a Kconfig option
  - Drop auxiliary_dev_pm_ops; the PM core falls back to driver PM
    callbacks when no bus type PM ops are set
  - Add conditional guard support for device_lock()
  - Add ksysfs.c to the DRIVER CORE MAINTAINERS entry
  - Fix kernel-doc warnings in base.h
  - Fix stale reference to memory_block_add_nid() in documentation

 
10 Apr 2026: KVM: x86 pull requests for 7.1 [+ + +]
There are some "fun" conflicts this time around between the "nested" pull
request and kvm/master (RSM fixes, ugh), and a notable oddity: there are two
versions of the "svm" pull request: a full version that includes a large set
of SEV changes to fix locking bugs and then add a lockdep assertion to guard
against similar bugs, and a short version without the SEV changes.

I'm including the partial/short version as the SEV changes haven't gotten
much soak time in -next, and (AFAIK) haven't been reviewed by anyone.  I
squeezed them into the initial pull request because the fixes are urgent
enough to warrant inclusion in 7.1 no matter what, and the hardening changes
largely fall into the category of "these either work or don't".

I don't have a strong preference between taking the full version now versus
waiting a ~week to give people more time to tell me what I broke.  But I do
really want to land the hardening sooner than later, e.g. see the rash of SEV+
bugs we've had...
10 Apr 2026: nilfs2 changes for 7.1-rc1 [+ + +]
This pull request contains fixes of syzbot reported issues in
NILFS2 functionality.

The DAT inode's btree node cache (i_assoc_inode) is initialized lazily
during btree operations. However, nilfs_mdt_save_to_shadow_map()
assumes i_assoc_inode is already initialized when copying dirty pages
to the shadow map during GC. If NILFS_IOCTL_CLEAN_SEGMENTS is called
immediately after mount before any btree operation has occurred on
the DAT inode, i_assoc_inode is NULL leading to a general protection
fault. Deepanshu Kartikey has fixed this by calling
nilfs_attach_btree_node_cache() on the DAT inode in nilfs_dat_read()
at mount time, ensuring i_assoc_inode is always initialized before
any GC operation can use it.

nilfs_ioctl_mark_blocks_dirty() uses bd_oblocknr to detect dead blocks
by comparing it with the current block number bd_blocknr. If they
differ, the block is considered dead and skipped. A corrupted ioctl
request with bd_oblocknr set to 0 causes the comparison to incorrectly
match when the lookup returns -ENOENT and sets bd_blocknr to 0,
bypassing the dead block check and calling nilfs_bmap_mark() on a non-
existent block. This causes nilfs_btree_do_lookup() to return -ENOENT,
triggering the WARN_ON(ret =3D=3D -ENOENT). Deepanshu Kartikey has fixed
this by rejecting ioctl requests with bd_oblocknr set to 0 at the
beginning of each iteration.

nilfs2 updates for v7.1

- nilfs2: reject zero bd_oblocknr in nilfs_ioctl_mark_blocks_dirty()
- nilfs2: fix NULL i_assoc_inode dereference in
nilfs_mdt_save_to_shadow_map

10 Apr 2026: hfs/hfsplus changes for 7.1-rc1 [+ + +]
This pull request contains several fixes of syzbot reported
issues and HFS+ fixes of xfstests failures.

Deepanshu Kartikey has fixed a syzbot reported issue of
a KMSAN uninit-value in hfsplus_strcasecmp(). The root
cause is that hfs_brec_read() doesn't validate that
the on-disk record size matches the expected size
for the record type being read. The fix introduced
hfsplus_brec_read_cat() wrapper that validates the record
size based on the type field and returns -EIO if size doesn't
match.

Shardul Bankar has fixed a syzbot reported issue of
processing corrupted HFS+ images where the b-tree
allocation bitmap indicates that the header node (Node 0) is free.
Node 0 must always be allocated. Violating this invariant leads
to allocator corruption, which cascades into kernel panics or
undefined behavior. Prevent trusting a corrupted allocator state
by adding a validation check during hfs_btree_open().
If corruption is detected, print a warning identifying the specific
corrupted tree and force the filesystem to mount read-only (SB_RDONLY).
This prevents kernel panics from corrupted images while enabling data
recovery.

Zilin Guan has fixed a potential deadlock in hfsplus_fill_super().
hfsplus_fill_super() calls hfs_find_init() to initialize a search
structure, which acquires tree->tree_lock. If the subsequent call to
hfsplus_cat_build_key() fails, the function jumps to the out_put_root
error label without releasing the lock. Fix this by adding the missing
hfs_find_exit(&fd) call before jumping to the out_put_root error label.
This ensures that tree->tree_lock is properly released on the error
path.

Yangtao Li has fixed the issue of not updating the change time
after file change. The fix updates file's ctime after rename in
hfsplus_rename().

The rest patches introduce the HFS+ fixes for the case of generic/348,
generic/728, generic/533, generic/523, and generic/642 test-cases of
xfstests suite.

hfs/hfsplus updates for v7.1

- hfsplus: fix generic/642 failure
- hfsplus: rework logic of map nodes creation in xattr b-tree
- hfsplus: fix logic of alloc/free b-tree node
- hfsplus: fix error processing issue in hfs_bmap_free()
- hfsplus: fix potential race conditions in b-tree functionality
- hfsplus: extract hidden directory search into a helper function
- hfsplus: fix held lock freed on hfsplus_fill_super()
- hfsplus: fix generic/523 test-case failure
- hfsplus: validate b-tree node 0 bitmap at mount time
- hfsplus: refactor b-tree map page access and add node-type validation
- hfsplus: fix to update ctime after rename
- hfsplus: fix generic/533 test-case failure
- hfsplus: set ctime after setxattr and removexattr
- hfsplus: fix uninit-value by validating catalog record size
- hfsplus: fix potential Allocation File corruption after fsync

10 Apr 2026: Rust for v7.1 [+ + +]
This is the next round of the Rust support.

The biggest "user facing" change is the bump of the minimum Rust version
to follow Debian Stable as we discussed in the Maintainers Summit and
LPC etc.

This carries the two back merges that we discussed -- I have both at the
top of the PR, in case I did something wrong and so that they were
easy to spot. I also merged first the one with the newest base, so that
the second one was obvious. I explained what happened in the merge
commit and used the "temporary merge first" to get the right diffstat
and merge log.

I also talked to my submaintainers so that they know they should avoid
back merges in general. By the way, Tamir has sent me his first PR for
rust-analyzer this cycle, which is included here.

No conflicts expected at this time, but linux-next should generally have
the right resolutions. "Thanks" to the back merge, one of the
conceptually (not mechanically) tricky ones is already solved [1].

All commits have been in linux-next for 3 rounds or more.


Link: https://lore.kernel.org/linux-next/CANiq72kdxB=W3_CV1U44oOK3SssztPo2wLDZt6LP94TEO+Kj4g@mail.gmail.com/ [1]

Cheers,
Miguel

Rust changes for v7.1

Toolchain and infrastructure:

 - Bump the minimum Rust version to 1.85.0 (and 'bindgen' to 0.71.1).

   As proposed in LPC 2025 and the Maintainers Summit [1], we are going
   to follow Debian Stable's Rust versions as our minimum versions.

   Debian Trixie was released on 2025-08-09 with a Rust 1.85.0 and
   'bindgen' 0.71.1 toolchain, which is a fair amount of time for e.g.
   kernel developers to upgrade.

   Other major distributions support a Rust version that is high enough
   as well, including:

     + Arch Linux.
     + Fedora Linux.
     + Gentoo Linux.
     + Nix.
     + openSUSE Slowroll and openSUSE Tumbleweed.
     + Ubuntu 25.10 and 26.04 LTS. In addition, 24.04 LTS using
       their versioned packages.

   The merged patch series comes with the associated cleanups and
   simplifications treewide that can be performed thanks to both bumps,
   as well as documentation updates.

   In addition, start using 'bindgen''s '--with-attribute-custom-enum'
   feature to set the 'cfi_encoding' attribute for the 'lru_status' enum
   used in Binder.

   Link: https://lwn.net/Articles/1050174/ [1]

 - Add experimental Kconfig option ('CONFIG_RUST_INLINE_HELPERS') that
   inlines C helpers into Rust.

   Essentially, it performs a step similar to LTO, but just for the
   helpers, i.e. very local and fast.

   It relies on 'llvm-link' and its '--internalize' flag, and requires
   a compatible LLVM between Clang and 'rustc' (i.e. same major version,
   'CONFIG_RUSTC_CLANG_LLVM_COMPATIBLE'). It is only enabled for two
   architectures for now.

   The result is a measurable speedup in different workloads that
   different users have tested. For instance, for the null block driver,
   it amounts to a 2%.

 - Support global per-version flags.

   While we already have per-version flags in many places, we didn't
   have a place to set global ones that depend on the compiler version,
   i.e. in 'rust_common_flags', which sometimes is needed to e.g. tweak
   the lints set per version.

   Use that to allow the 'clippy::precedence' lint for Rust < 1.86.0,
   since it had a change in behavior.

 - Support overriding the crate name and apply it to Rust Binder, which
   wanted the module to be called 'rust_binder'.

 - Add the remaining '__rust_helper' annotations (started in the
   previous cycle).

'kernel' crate:

 - Introduce the 'const_assert!' macro: a more powerful version of
   'static_assert!' that can refer to generics inside functions or
   implementation bodies, e.g.:

       fn f<const N: usize>() {
           const_assert!(N > 1);
       }

       fn g<T>() {
           const_assert!(size_of::<T>() > 0, "T cannot be ZST");
       }

   In addition, reorganize our set of build-time assertion macros
   ('{build,const,static_assert}!') to live in the 'build_assert'
   module.

   Finally, improve the docs as well to clarify how these are different
   from one another and how to pick the right one to use, and their
   equivalence (if any) to the existing C ones for extra clarity.

 - 'sizes' module: add 'SizeConstants' trait.

   This gives us typed 'SZ_*' constants (avoiding casts) for use in
   device address spaces where the address width depends on the hardware
   (e.g. 32-bit MMIO windows, 64-bit GPU framebuffers, etc.), e.g.:

       let gpu_heap = 14 * u64::SZ_1M;
       let mmio_window = u32::SZ_16M;

 - 'clk' module: implement 'Send' and 'Sync' for 'Clk' and thus simplify
   the users in Tyr and PWM.

 - 'ptr' module: add 'const_align_up'.

 - 'str' module: improve the documentation of the 'c_str!' macro to
   explain that one should only use it for non-literal cases (for the
   other case we instead use C string literals, e.g. 'c"abc"').

 - Disallow the use of 'CStr::{as_ptr,from_ptr}' and clean one such use
   in the 'task' module.

 - 'sync' module: finish the move of 'ARef' and 'AlwaysRefCounted'
   outside of the 'types' module, i.e. update the last remaining
   instances and finally remove the re-exports.

 - 'error' module: clarify that 'from_err_ptr' can return 'Ok(NULL)',
   including runtime-tested examples.

   The intention is to hopefully prevent UB that assumes the result of
   the function is not 'NULL' if successful. This originated from a case
   of UB I noticed in 'regulator' that created a 'NonNull' on it.

Timekeeping:

 - Expand the example section in the 'HrTimer' documentation.

 - Mark the 'ClockSource' trait as unsafe to ensure valid values for
   'ktime_get()'.

 - Add 'Delta::from_nanos()'.

'pin-init' crate:

 - Replace the 'Zeroable' impls for 'Option<NonZero*>' with impls of
   'ZeroableOption' for 'NonZero*'.

 - Improve feature gate handling for unstable features.

 - Declutter the documentation of implementations of 'Zeroable' for
   tuples.

 - Replace uses of 'addr_of[_mut]!' with '&raw [mut]'.

rust-analyzer:

 - Add type annotations to 'generate_rust_analyzer.py'.

 - Add support for scripts written in Rust ('generate_rust_target.rs',
   'rustdoc_test_builder.rs', 'rustdoc_test_gen.rs').

 - Refactor 'generate_rust_analyzer.py' to explicitly identify host and
   target crates, improve readability, and reduce duplication.

And some other fixes, cleanups and improvements.

10 Apr 2026: timer drivers for v7.1-rc1 [+ + +]
Hi Thomas,

- Added the DT bindings for the compatible string 'fsl,imx25-epit'
   (Frank Li)

- Made the rttm_cs variable static for the rtl otto timer driver
   (Krzysztof Kozlowski)

- Fixed error return code handling in the sun5i timer driver (Chen Ni)

- Made the timer-of and the mmio code compatible with modules (Daniel
   Lezcano)

10 Apr 2026: v7.1 [+ + +]
This is the batch of pull requests for the v7.1 merge window.

This cycle has several new features and a good amount of infrastructure
work.

There are three new clone3() flags for pidfd-based process lifecycle
management. CLONE_AUTOREAP makes a child auto-reap on exit without
becoming a zombie. Unlike SA_NOCLDWAIT or SIG_IGN on SIGCHLD this is a
per-process property on the child, not a parent-scoped setting affecting
all children. The flag survives reparenting so subreaper or init won't
need to deal with it. CLONE_NNP sets no_new_privs on the child at clone
time, allowing the parent to impose it without affecting itself.
CLONE_PIDFD_AUTOKILL ties a child's lifetime to the pidfd returned from
clone3() - when the last reference to that struct file is closed the
kernel sends SIGKILL to the child. This is useful for container
runtimes, service managers, and sandboxed subprocess execution where the
child must die if the parent crashes. CLONE_PIDFD_AUTOKILL requires both
CLONE_PIDFD and CLONE_AUTOREAP. The pidfd_info struct also gains a
coredump_code field.

The mount namespace work introduces FSMOUNT_NAMESPACE for fsmount()
which creates a new mount namespace with the newly created filesystem
attached, returning a namespace fd instead of an O_PATH mount fd. This
accompanies last cycle's OPEN_TREE_NAMESPACE and is especially useful
when mounting a real filesystem to serve as a container rootfs.

Also new is support for creating empty mount namespaces via
CLONE_EMPTY_MNTNS for clone3() and UNSHARE_EMPTY_MNTNS for unshare().
These create a namespace containing only a single nullfs root mount with
an immutable empty directory. The intended workflow is to mount a real
filesystem over the root and build the mount table from scratch, which
avoids copying and tearing down the entire parent mount tree.

MOVE_MOUNT_BENEATH is extended to target the caller's rootfs and to
transfer the MNT_LOCKED property from the top mount to the mount
beneath. This allows safely modifying an inherited mount table after
unprivileged namespace creation via unshare(CLONE_NEWUSER | CLONE_NEWNS)
and makes it possible to switch out the rootfs without pivot_root(2).

The simple_xattr subsystem is reworked from an rbtree protected by a
reader-writer spinlock to an rhashtable with RCU-based lockless reads.
All consumers (shmem, kernfs, pidfs) are converted and the rbtree code
is removed. On top of this, user.* extended attributes are now supported
on sockets. Sockfs sockets get per-inode limits of 128 xattrs and 128KB
total value size. The practical motivation comes from systemd and GNOME
expanding their use of Varlink as an IPC mechanism - with user.* xattrs
a service can label its socket with the IPC protocol it speaks and eBPF
programs can selectively capture traffic on those sockets.

The inode->i_ino field is widened from unsigned long to u64. This is a
treewide change affecting format strings and tracepoints across 222
files. On 64-bit hosts this makes no material difference but it
eliminates the 32-bit hashing hacks various filesystems had to use.

Filesystem-level T10 protection information support is added. The
existing block layer PI code is refactored to be reusable and wired up
through iomap into XFS. This increases read performance up to 15% for
4k I/O compared to the automatic below-the-covers block layer approach.

The metadata buffer_head tracking accumulated in struct address_space
over the years is cleaned up and moved into filesystem-private inode
structures. The private_list, private_data, and private_lock fields are
removed from struct address_space, saving 3 longs in struct inode for
the vast majority of inodes.

The audit subsystem's excessive dput/dget calls during context setup and
reset are addressed by adding a pool of extra fs->pwd references to
fs_struct. This avoids the spinlock contention on the pwd dentry lock
that was causing noticeable performance regressions on systems with many
CPUs doing open/close with audit enabled.

The directory locking centralization continues. The remaining places
where explicit inode_lock(), lock_rename(), or similar are used outside
the core VFS are converted to use the start_creating/start_removing/
start_renaming interfaces. The biggest changes are in overlayfs,
with smaller conversions in cachefiles, nfsd, apparmor, and selinux.
lock_rename(), lock_rename_child(), and unlock_rename() are unexported.

The writeback subsystem gets new helper APIs and f2fs, gfs2, and nfs are
converted to stop accessing writeback internals directly.

Smaller items include namespace helper macros (FOR_EACH_NS_TYPE(),
CLONE_NS_ALL), FAT timestamp conversion KUnit tests, removal of unused
fs_context infrastructure now that the conversion is finished, a fix
for architecture-specific compat_ftruncate64 enforcing the non-LFS file
size limit, trivial ->setattr rename cleanups, dcache bucket count
fixes, mbcache shrink work ordering fix, omfs superblock validation,
a coredump tracepoint, dirent_size() helper, scoped user access
conversion, runtime const for file/bfile caches, and permitting
dynamic_dname()s up to NAME_MAX.

Thanks!
Christian
10 Apr 2026: Thermal control updates for v7.1-rc1 [+ + +]
This goes early because I will be traveling next week.


 thermal-7.1-rc1


 Merge tag 'thermal-v7.1-rc1' of
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux


 thermal: core: Fix thermal zone device registration error path

to receive thermal control updates for 7.1-rc1.

These include thermal core fixes and simplifications, driver fixes and
new hardware support (SDM670, Eliza SoC), new driver features (hwmon
support in imx91, DDR data rate on Nova Lake in int340x), and a handful
of cleanups:

 - Fix thermal core issues related to thermal zone removal and
   registration errors that may lead to a use-after-free or a memory
   leak in some cases (Rafael Wysocki)

 - Drop a redundant check from thermal_zone_device_update(), adjust
   thermal workqueue allocation flags, and switch over thermal_class
   allocation to static (Rafael Wysocki)

 - Relocate the suspend and resume of thermal zones closer to the
   suspend and resume of devices, respectively (Rafael Wysocki)

 - Remove a pointless variable used in the thermal core when
   registering a cooling device (Daniel Lezcano)

 - Replace sprintf() in thermal_bind_cdev_to_trip() and use
   str_enabled_disabled() helper in mode_show() (Thorsten Blum)

 - Replace cpumask_weight() in intel_hfi_offline() with cpumask_empty()
   which is generally more efficient (Yury Norov)

 - Add support for reading DDR data rate from PCI config space on Nova
   Lake platforms to the int340x thermal driver (Srinivas Pandruvada)

 - Add an OF node address to output message to make sensor names more
   distinguishable (Alexander Stein)

 - Add hwmon support for the i.MX97 thermal sensor (Alexander Stein)

 - Clamp correctly the results when doing value/temperature conversion
   in the Spreadtrum driver (Thorsten Blum)

 - Add SDM670 compatible DT bindings for the Tsens and the lMH thermal
   drivers (Richard Acayan)

 - Add SM8750 compatible DT bindings for the Tsens thermal driver (Manaf
   Meethalavalappu Pallikunhi)

 - Add Eliza SoC compatible DT bindings for the Tsens driver (Krzysztof
   Kozlowski)

 - Fix inverted condition check on error in the Spear thermal control
   driver (Gopi Krishna Menon)

 - Convert DT bindings documentation into DT schema (Gopi Krishna Menon)

 - Use max() macro to increase readability in the Broadcom STB thermal
   sensor (Thorsten Blum)

 - Remove a stale @trim_offset kernel-doc entry (John Madieu)

Thanks!



10 Apr 2026: ACPI support updates for v7.1-rc1 [+ + +]
This goes early because I will be traveling next week.


 acpi-7.1-rc1


 Merge branch 'acpi-apei'


 Linux 7.0-rc7

to receive ACPI support updates for 7.1-rc1.

These include an update of the CMOS RTC driver and the related ACPI
and x86 code that, among other things, switches it over to using the
platform device interface for device binding on x86 instead of the PNP
device driver interface (which allows the code in question to be
simplified quite a bit), a major update of the ACPI Time and Alarm
Device (TAD) driver adding an RTC class device interface to it, and
updates of core ACPI drivers that remove some unnecessary and not
really useful code from them.

Apart from that, two drivers are converted to using the platform driver
interface for device binding instead of the ACPI driver one, which is
slated for removal, support for the Performance Limited register is
added to the ACPI CPPC library and there are some janitorial updates
of it and the related cpufreq CPPC driver, the ACPI processor driver is
fixed and cleaned up, and NVIDIA vendor CPER record handler is added
to the APEI GHES code.

Also, the interface for obtaining a CPU UID from ACPI is consolidated
across architectures and used for fixing a problem with the PCI TPH
Steering Tag on ARM64, there are two updates related to ACPICA, a
minor ACPI OS Services Layer (OSL) update, and a few assorted updates
related to ACPI tables parsing.

Specifics:

 - Update maintainers information regarding ACPICA (Rafael Wysocki)

 - Replace strncpy() with strscpy_pad() in acpi_ut_safe_strncpy() (Kees
   Cook)

 - Trigger an ordered system power off after encountering a fatal error
   operator in AML (Armin Wolf)

 - Enable ACPI FPDT parsing on LoongArch (Xi Ruoyao)

 - Remove the temporary stop-gap acpi_pptt_cache_v1_full structure from
   the ACPI PPTT parser (Ben Horgan)

 - Add support for exposing ACPI FPDT subtables FBPT and S3PT (Nate
   DeSimone)

 - Address multiple assorted issues and clean up the code in the ACPI
   processor idle driver (Huisong Li)

 - Replace strlcat() in the ACPI processor idle drive with a better
   alternative (Andy Shevchenko)

 - Rearrange and clean up acpi_processor_errata_piix4() (Rafael Wysocki)

 - Move reference performance to capabilities and fix an uninitialized
   variable in the ACPI CPPC library (Pengjie Zhang)

 - Add support for the Performance Limited Register to the ACPI CPPC
   library (Sumit Gupta)

 - Add cppc_get_perf() API to read performance controls, extend
   cppc_set_epp_perf() for FFH/SystemMemory, and make the ACPI CPPC
   library warn on missing mandatory DESIRED_PERF register (Sumit Gupta)

 - Modify the cpufreq CPPC driver to update MIN_PERF/MAX_PERF in target
   callbacks to allow it to control performance bounds via standard
   scaling_min_freq and scaling_max_freq sysfs attributes and add sysfs
   documentation for the Performance Limited Register to it (Sumit Gupta)

 - Add ACPI support to the platform device interface in the CMOS RTC
   driver, make the ACPI core device enumeration code create a platform
   device for the CMOS RTC, and drop CMOS RTC PNP device support (Rafael
   Wysocki)

 - Consolidate the x86-specific CMOS RTC handling with the ACPI TAD
   driver and clean up the CMOS RTC ACPI address space handler (Rafael
   Wysocki)

 - Enable ACPI alarm in the CMOS RTC driver if advertised in ACPI FADT
   and allow that driver to work without a dedicated IRQ if the ACPI
   alarm is used (Rafael Wysocki)

 - Clean up the ACPI TAD driver in various ways and add an RTC class
   device interface, including both the RTC setting/reading and alarm
   timer support, to it (Rafael Wysocki)

 - Clean up the ACPI AC and ACPI PAD (processor aggregator device)
   drivers (Rafael Wysocki)

 - Rework checking for duplicate video bus devices and consolidate
   pnp.bus_id workarounds handling in the ACPI video bus driver (Rafael
   Wysocki)

 - Update the ACPI core device drivers to stop setting acpi_device_name()
   unnecessarily (Rafael Wysocki)

 - Rearrange code using acpi_device_class() in the ACPI core device
   drivers and update them to stop setting acpi_device_class()
   unnecessarily (Rafael Wysocki)

 - Define ACPI_AC_CLASS in one place (Rafael Wysocki)

 - Convert the ni903x_wdt watchdog driver and the xen ACPI PAD driver to
   bind to platform devices instead of ACPI devices (Rafael Wysocki)

 - Add devm_ghes_register_vendor_record_notifier(), use it in the PCI
   hisi driver, and Add NVIDIA vendor CPER record handler (Kai-Heng
   Feng)

 - Consolidate the interface for obtaining a CPU UID from ACPI across
   architectures and use it to address incorrect PCI TPH Steering Tag
   on ARM64 resulting from the invalid assumption that the ACPI
   Processor UID would always be the same as the corresponding logical
   CPU ID in Linux (Chengwen Feng)

Thanks!



10 Apr 2026: Power management updates for v7.1-rc1 [+ + +]
This goes early because I will be traveling next week.


 pm-7.1-rc1


 Merge branch 'pm-devfreq'


 Linux 7.0-rc7

to receive power management updates for 7.1-rc1.

Once again, cpufreq is the most active development area, mostly because
of the new feature additions and documentation updates in the amd-pstate
driver, but there are also changes in the cpufreq core related to boost
support and other assorted updates elsewhere.

Next up are power capping changes due to the major cleanup of the Intel
RAPL driver.

On the cpuidle front, a new C-states table for Intel Panther Lake is
added to the intel_idle driver, the stopped tick handling in the menu
and teo governors is updated, and there are a couple of cleanups.

Apart from the above, support for Tegra114 is added to devfreq and
there are assorted cleanups of that code, there are also two updates
of the operating performance points (OPP) library, two minor updates
related to hibernation, and cpupower utility man pages updates and
cleanups.

Specifics:

 - Update qcom-hw DT bindings to include Eliza hardware (Abel Vesa)

 - Update cpufreq-dt-platdev blocklist (Faruque Ansari)

 - Minor updates to driver and dt-bindings for Tegra (Thierry Reding,
   Rosen Penev)

 - Add MAINTAINERS entry for CPPC driver (Viresh Kumar)

 - Add support for new features: CPPC performance priority, Dynamic EPP,
   Raw EPP, and new unit tests for them to amd-pstate (Gautham Shenoy,
   Mario Limonciello)

 - Fix sysfs files being present when HW missing and broken/outdated
   documentation in the amd-pstate driver (Ninad Naik, Gautham Shenoy)

 - Pass the policy to cpufreq_driver->adjust_perf() to avoid using
   cpufreq_cpu_get() in the .adjust_perf() callback in amd-pstate which
   leads to a scheduling-while-atomic bug (K Prateek Nayak)

 - Clean up dead code in Kconfig for cpufreq (Julian Braha)

 - Remove max_freq_req update for pre-existing cpufreq policy and add a
   boost_freq_req QoS request to save the boost constraint instead of
   overwriting the last scaling_max_freq constraint (Pierre Gondois)

 - Embed cpufreq QoS freq_req objects in cpufreq policy so they all
   are allocated in one go along with the policy to simplify lifetime
   rules and avoid error handling issues (Viresh Kumar)

 - Use DMI max speed when CPPC is unavailable in the acpi-cpufreq
   scaling driver (Henry Tseng)

 - Switch policy_is_shared() in cpufreq to using cpumask_nth() instead
   of cpumask_weight() because the former is more efficient (Yury Norov)

 - Use sysfs_emit() in sysfs show functions for cpufreq governor
   attributes (Thorsten Blum)

 - Update intel_pstate to stop returning an error when "off" is written
   to its status sysfs attribute while the driver is already off (Fabio
   De Francesco)

 - Include current frequency in the debug message printed by
   __cpufreq_driver_target() (Pengjie Zhang)

 - Refine stopped tick handling in the menu cpuidle governor and
   rearrange stopped tick handling in the teo cpuidle governor (Rafael
   Wysocki)

 - Add Panther Lake C-states table to the intel_idle driver (Artem
   Bityutskiy)

 - Clean up dead dependencies on CPU_IDLE in Kconfig (Julian Braha)

 - Simplify cpuidle_register_device() with guard() (Huisong Li)

 - Use performance level if available to distinguish between rates in
   OPP debugfs (Manivannan Sadhasivam)

 - Fix scoped_guard in dev_pm_opp_xlate_required_opp() (Viresh Kumar)

 - Return -ENODATA if the snapshot image is not loaded (Alberto Garcia)

 - Remove inclusion of crypto/hash.h from hibernate_64.c on x86 (Eric
   Biggers)

 - Clean up and rearrange the intel_rapl power capping driver to make
   the respective interface drivers (TPMI, MSR, and MMOI) hold their
   own settings and primitives and consolidate PL4 and PMU support
   flags into rapl_defaults (Kuppuswamy Sathyanarayanan)

 - Correct kernel-doc function parameter names in the power capping core
   code (Randy Dunlap)

 - Remove unneeded casting for HZ_PER_KHZ in devfreq (Andy Shevchenko)

 - Use _visible attribute to replace create/remove_sysfs_files() in
   devfreq (Pengjie Zhang)

 - Add Tegra114 support to activity monitor device in tegra30-devfreq as
   a preparation to upcoming EMC controller support (Svyatoslav Ryhel)

 - Fix mistakes in cpupower man pages, add the boost and epp options to
   the cpupower-frequency-info man page, and add the perf-bias option to
   the cpupower-info man page (Roberto Ricci)

 - Remove unnecessary extern declarations from getopt.h in arguments
   parsing functions in cpufreq-set, cpuidle-info, cpuidle-set,
   cpupower-info, and cpupower-set utilities (Kaushlendra Kumar)

Thanks!



10 Apr 2026: Chinese-docs changes for v7.1 [+ + +]
Chinese translation docs for 7.1

This is the Chinese translation subtree for 7.1. It includes
the following changes:
         - Add the rust docs translation
         - Fix an inconsistent statement in dev-tools/testing-overview
         - sync process/2.Process.rst with English version

Above patches are tested by 'make htmldocs'

Signed-off-by: Alex Shi <alexs@kernel.org>

10 Apr 2026: USB serial updates for 7.1-rc1 [+ + +]
USB serial updates for 7.1-rc1

Here are the USB serial updates for 7.1-rc1, including:

 - use strscpy() instead of strcpy()
 - new modem device id

All have been in linux-next with no reported issues.

10 Apr 2026: LoongArch KVM changes for v7.1 [+ + +]
LoongArch KVM changes for v7.1

1. Use CSR_CRMD_PLV in kvm_arch_vcpu_in_kernel().
2. Let vcpu_is_preempted() a macro & some enhanments.
3. Add DMSINTC irqchip in kernel support.
4. Add KVM PMU test cases for tools/selftests.

10 Apr 2026: power sequencing updates for v7.1-rc1 [+ + +]
I'll be OoO next week and disconnected so I'm sending an early PR for the
next cycle.

For this release we have an extension of the pwrseq-pcie-m2 driver with
support for PCIe M.2 Key E connectors. The rest of the commits in the PR
fulfill a supporting role: document the hardware in DT bindings, provide
required serdev helpers (this has been provided in an immutable branch to
Rob Herring so you may see it in his PR as well) and is followed up by
some Kconfig fixes from Arnd.

Please consider pulling for v7.1-rc1.

Thanks,
Bartosz

power sequencing updates for v7.1-rc1

- add support for the PCIe M.2 Key E connectors in pwrseq-pcie-m2
- describe PCIe M.2 Mechanical Key E connectors in DT bindings
- add serdev helpers for looking up devices by OF nodes
- minor serdev core rework to enable support for PCIe M.2 Key E connectors

10 Apr 2026: gpio updates for v7.1-rc1 [+ + +]
I'll be OoO next week and disconnected so I'm sending an early PR for the
next cycle.

For this merge window we have two new drivers: support for GPIO-signalled
ACPI events on Intel platforms and a generic GPIO-over-pinctrl driver using
the ARM SCMI protocol for controlling pins.

Several things have been reworked in GPIO core: we unduplicated GPIO hog
handling, reduced the number of SRCU locks and dereferences, improved
support for software-node-based lookup and removed more legacy code after
converting remaining users to modern alternatives.

There's also a number of driver reworks and refactoring, documentation
updates, some bug-fixes and new tests.

The merges in this PR are as follows: immutable branch provided to the
net tree with driver changes prerequisite to legacy code removal, pinctrl
changes pulled ahead of adding the SCMI GPIO driver and an immutable branch
with a high-risk GPIO core fix that was then pulled into the for-current
branch and sent for v7.0 after spending some time in linux-next with no
regressions.

Details are in the signed tag. Please consider pulling for v7.1-rc1.

Thanks,
Bartosz

gpio updates for v7.1-rc1

GPIO core:
- defer probe on software node lookups when the remote software node
  exists but has not been registered as a firmware node yet
- unify GPIO hog handling by moving code duplicated in OF and ACPI
  modules into GPIO core and allow setting up hogs with software nodes
- allow matching GPIO controllers by secondary firmware node if matching
  by primary does not succeed
- demote deferral warnings to debug level as they are quite normal when
  using software nodes which don't support fw_devlink yet
- disable the legacy GPIO character device uAPI v1 supprt in Kconfig by
  default
- rework several core functions in preparation for the upcoming Revocable
  helper library for protecting resources against sudden removal, this
  reduces the number of SRCU dereferences in GPIO core
- simplify file descriptor logic in GPIO character device code by using
  FD_PREPARE()
- introduce a header defining symbols used by both GPIO consumers and
  providers to avoid having to include provider-specific headers from
  drivers which only consume GPIOs
- replace snprintf() with strscpy() where formatting is not required

New drivers:
- add the gpio-by-pinctrl generic driver using the ARM SCMI protocol to
  control GPIOs (along with SCMI changes pulled from the pinctrl tree)
- add a driver providing support for handling of platform events via
  GPIO-signalled ACPI events (used on Intel Nova Lake and later platforms)

Driver changes:
- extend the gpio-kempld driver with support for more recent models,
  interrupts and setting/getting multiple values at once
- improve interrupt handling in gpio-brcmstb
- add support for multi-SoC systems in gpio-tegra186
- make sure we return correct values from the .get() callbacks in several
  GPIO drivers by normalizing any values other than 0, 1 or negative error
  numbers
- use flexible arrays in several drivers to reduce the number of required
  memory allocations
- simplify synchronous waiting for virtual drivers to probe and remove the
  dedicated, a bit overengineered helper library dev-sync-probe
- remove unneeded Kconfig dependencies on OF_GPIO in several drivers and
  subsystems
- convert the two remaining users of of_get_named_gpio() to using GPIO
  descriptors and remove the (no longer used) function along with the
  header that declares it
- add missing includes in gpio-mmio
- shrink and simplify code in gpio-max732x by using guard(mutex)
- remove duplicated code handling the 'ngpios' property from gpio-ts4800,
  it's already handled in GPIO core
- use correct variable type in gpio-aspeed
- add support for a new model in gpio-realtek-otto
- allow to specify the active-low setting of simulated hogs over the
  configfs interface (in addition to existing devicetree support) in
  gpio-sim

Bug fixes:
- clear the OF_POPULATED flag on hog nodes in GPIO chip remove path on
  OF systems
- fix resource leaks in error path in gpiochip_add_data_with_key()
- drop redundant device reference in gpio-mpsse

Tests:
- add selftests for use-after-free cases in GPIO character device code

DT bindings:
- add a DT binding document for SCMI based, gpio-over-pinctrl devices
- fix interrupt description in microchip,mpfs-gpio
- add new compatible for gpio-realtek-otto
- describe the resets of the mpfs-gpio controller
- fix maintainer's email in gpio-delay bindings
- remove the binding document for cavium,thunder-8890 as the corresponding
  device is bound over PCI and not firmware nodes

Documentation:
- update the recommended way of converting legacy boards to using software
  nodes for GPIO description
- describe GPIO line value semantics
- misc updates to kerneldocs

Misc:
- convert OMAP1 ams-delta board to using GPIO hogs described with software
  nodes

10 Apr 2026: Btrfs updates for 7.1 [+ + +]
Hi,

please pull the following btrfs updates. Thanks.

User visible changes:

- move shutdown ioctl support out of experimental features, a forced stop
  of filesystem operation until the next unmount; additionally there's a
  super block operation to forcibly remove a device from under the
  filesystem that could lead to a shutdown or not if the redundancy allows
  that

- report filesystem shutdown using fserror mechanism

- tree-checker updates:
  - verify free space info, extent and bitmap items
  - verify remap-tree items and related data in block group items

Performance improvements:

- speed up clearing first extent in the tracked range (+10% throughput on
  sample workload)

- reduce COW rewrites of extent buffers during the same transaction

- avoid taking big device lock to update device stats during transaction
  commit

- fix unnecessary flush on close when truncating empty files (observed
  in practice on a backup application)

- prevent direct reclaim during compressed readahead to avoid stalls
  under memory pressure

Notable fixes:

- fix chunk allocation strategy on RAID1-like block groups with
  disproportionate device sizes, this could lead to ENOSPC due to skewed
  reservation estimates

- adjust metadata reservation overcommit ratio to be less aggressive and
  also try to flush if possible, this avoids ENOSPC and potential
  transaction aborts in some edge cases (that are otherwise hard to
  reproduce)

- fix silent IO error in encoded writes and ordered extent split in zoned
  mode, the error was not correctly propagated to the address space and
  could lead to zeroed ranges

- don't mark inline files NOCOMPRESS unexpectedly, the intent was to do
  that for single block writes of regular files

- fix deadlock between reflink and transaction commit when using
  flushoncommit

- fix overly strict item check of a running dev-replace operation

Core:

- zoned mode space reservation fixes:
  - cap delayed refs metadata reservation to avoid overcommit
  - update logic to reclaim partially unusable zones
  - add another state to flush and reclaim partially used zone
  - limit number of zones reclaimed in one go to avoid blocking other
    operations

- don't let log trees consume global reserve on overcommit and fall back
  to transaction commit

- revalidate extent buffer when checking its up-to-date status

- add self tests for zoned mode block group specifics

- reduce atomic allocations in some qgroup paths

- avoid unnecessary root node COW during snapshotting

- start new transaction in block group relocation conditionally

- faster check of NOCOW files on currently snapshotted root

- change how compressed bio size is tracked from bio and reduce the
  structure size

- new tracepoint for search slot restart tracking

- checksum list manipulation improvements

- type, parameter cleanups, refactoring

- error handling improvements, transaction abort call adjustments

 
9 Apr 2026: thermal drivers changes for v7.1-rc1 [+ + +]
Hi Rafael,

- Added an OF node address to output message to make sensor names more
   distinguishable (Alexander Stein)

- Added hwmon support for the i.MX97 thermal sensor (Alexander Stein)

- Clamped correctly the results when doing value/temperature conversion
   in the Spreadtrum driver (Thorsten Blum)

- Added the SDM670 compatible DT bindings for the Tsens and the lMH
   drivers (Richard Acayan)

- Added the SM8750 compatible DT bindings for the Tsens (Manaf
   Meethalavalappu Pallikunhi)

- Added the Eliza SoC compatible DT bindings for the Tsens (Krzysztof
   Kozlowski)

- Fixed inverted condition check on error in the Spear driver (Gopi
   Krishna Menon)

- Converted the DT bindings documentation into DT schema (Gopi Krishna
   Menon)

- Used max() macro to increase readibility in the Broadcom STB thermal
   sensor (Thorsten Blum)

- Removed stale @trim_offset kernel-doc entry (John Madieu)

9 Apr 2026: Landlock update for v7.1-rc1 [+ + +]
Hi,

This PR adds a new Landlock access right for pathname UNIX domain
sockets thanks to a new LSM hook, and a few fixes.

with your master branch.  Kernel changes have been tested in the latest
linux-next releases for some weeks, and since this week for the
LOG_SUBDOMAINS_OFF fixes.

Test coverage for security/landlock is 91.1% of 2152 lines according to
LLVM 21, and it was 91.0% of 2105 lines before this PR.

Regards,
 Mickaël

--
Landlock update for v7.1-rc1

9 Apr 2026: clk: samsung: drivers for v7.1 [+ + +]
Samsung SoC clock drivers changes for v7.1

1. Axis ARTPEC-9: Add new PLL clocks and new drivers for eight clock
   controllers on the SoC.
2. ExynosAutov920: Add G3D (GPU) clock controller.
3. Exynos850: Define missing clock for the APM mailbox.
4. Few compiler warning fixes cleanups.

 
8 Apr 2026: coresight: Updates for Linux v7.1 [+ + +]
Hi Greg

Please find the updates for CoreSight self-hosted tracing subsystem targeting
v7.1

Kindly pull,

Suzuki


coresight: Updates for Linux v7.1

CoreSight self hosted tracing subsystem updates for Linux v7.1, includes:

 - Fix unregistration related issues
 - Clean up CTI power management and sysfs code
 - Miscellaneous fixes
 - MAINTAINERS: Add Leo Yan as Reviewer
 - MAINTAINERS: Update Mike's email address

Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>

 
07 Apr 2026: DRM Rust changes for v7.1-rc1 (2nd) [+ + +]
Hi Dave and Sima,


All changes have been in linux-next for two rounds -- no conflicts expected=
.

- Danilo

DRM Rust changes for v7.1-rc1 (2nd)

Nova (Core):
  - Don't create intermediate (mutable) references to the whole command
    queue buffer, which is potential undefined behavior.

  - Add missing padding to the falcon firmware DMA buffer to prevent DMA
    transfers going out of range of the DMA buffer.

  - Actually set the default values in the bitfield Default
    implementation.

  - Use u32::from_le_bytes() instead of manual bit shifts to parse the
    PCI ROM header.

  - Fix a missing colon in the SEC2 boot debug message.

 
7 Apr 2026: [PULL REQUEST] Intel IOMMU updates for v7.1 [+ + +]
Hi Joerg,

The following remaining change is ready for v7.1-rc1. It aims to:

- Simplify calculate_psi_aligned_address()

This patch was originally included in the v1 pull request but was
removed due to an issue identified during review. This has now been
fixed, and the patch is ready for iommu/vt-d. Please consider it for
inclusion.

Best regards,
baolu

 
6 Apr 2026: cpupower next update for Linux 7.1-rc1 [+ + +]
Hi Rafael,


- Fixes errors in cpupower-frequency-info short option names
   to its manpage.
- Fixes cpupower-idle-info perf option name to its manpage.
- Adds boost and epp options to cpupower-frequency-info to its
   manpage.
- Adds description for perf-bias option to cpupower-info to its
   manpage.
- Removes unnecessary extern declarations from getopt.h in arguments
   parsing functions in cpufreq-set, cpuidle-info, cpuidle-set,
   cpupower-info, and cpupower-set utilities. These functions are
   defined getopt.h file.

diff is attached.

thanks,
-- Shuah

linux-cpupower-7.1-rc1

- Fixes errors in cpupower-frequency-info short option names
   to its manpage.
- Fixes cpupower-idle-info perf option name to its manpage.
- Adds boost and epp options to cpupower-frequency-info to its
   manpage.
- Adds description for perf-bias option to cpupower-info to its
   manpage.
- Removes unnecessary extern declarations from getopt.h in arguments
   parsing functions in cpufreq-set, cpuidle-info, cpuidle-set,
   cpupower-info, and cpupower-set utilities. These functions are
   defined getopt.h file.

6 Apr 2026: interconnect changes for 7.1 [+ + +]
This is the pull request with interconnect changes for the v7.1-rc1 merge
window. As always, the summary is in the signed tag.

All patches have been tested in the last few linux-next releases. There
possible.

Thanks,
Georgi


This pull request contains the interconnect changes for the 7.1-rc1
merge window. They are listed below:

- New driver for Mahua SoC
- New driver for Eliza SoC
- Enable QoS support for QCS8300 and QCS615 SoCs
- Add L3 cache scaling compatibles for SM8550 and Eliza SoCs
- Fix multiple issues in the msm8974 driver
- Fix kfree mismatch
- Misc cleanups
- Add maintainer entry for the interconnect KUnit tests

Signed-off-by: Georgi Djakov <djakov@kernel.org>

6 Apr 2026: RISC-V soc drivers for v7.1 [+ + +]

Hey folks,


Thanks,
Conor.

RISC-V soc drivers for v7.1

Microchip:
Add coverage for the pic64gx in the system controller and syscons.
Add a interrupt mux driver (akin to the one that Renesas recently added)
that fixes a problem where the platform never properly modelled gpio
interrupts. There's a gpio driver change here that Bartosz has acked
that adds the interrupt support to the GPIO driver itself.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

6 Apr 2026: RISC-V devicetrees for v7.1 [+ + +]

Hey folks,

Realised as I was tagging this that the tsu clock and gpio interrupts
changes miss the pic64gx and should have been rebased. I'll send another
PR later this week I think, with those two fixes. Nothing is broken by
the two fixes, they just didn't fix the newly added dts, which is why I
still feel comfortable sending this, particularly given I am pretty late
already. My excuse is that I was sick all last week...

Cheers,
Conor.

RISC-V devicetrees for v7.1

Generic:
Add binding coverage for Supm.

Microchip:
Add support for the picgx64 and its curiosity board. This is a PolarFire
SoC without the FPGA.
Add the missing tsu_clk for ptp on the macb on PolarFire SoC and resolve
a long-running problem with gpio interrupts being incorrectly described
on the platform.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

 
4 Apr 2026: devfreq next for 7.1 [+ + +]
Dear Rafael,

This is devfreq-next pull request. I add detailed description of
following updates.

Best Regards,
Chanwoo Choi


Update devfreq next for v7.1

Detailed description for this pull request:
- Remove unneeded casting for HZ_PER_KHZ on devfreq.c

- Use _visible attribute to replace create/remove_sysfs_files() to fix sysfs
  attribute race conditions on devfreq.c

- Add support for Tegra114 activity monitor device on tegra30-devfreq.c

4 Apr 2026: extcon next for 7.1 [+ + +]
Dear Greg,

This is extcon-next pull request. I add detailed description of

I'm sorry that I did not send the separate fixes pull request.
This pull request does not contain any problematic patches according to your comment.

Best Regards,
Chanwoo Choi

Update extcon next for v7.1

Detailed description for this pull request:
- Fix sysfs duplicate filename issue on extcon core
 : Adjust ida_free timing after device_unregister
   to prevent duplicate filename error when re-allocating id

- Update NXP PTN5150 extcon driver and dt-binding document
 : Handle pending IRQ events during system resume
 : Allow "connector" node to present in devicetree
 : Add Type-C orientation switch support to correctly
   set orientation of multiplexer according to CC status
 : Support USB role switch via connector fwnode

- Replace use of system_wq with system_percpu_wq on int3496 driver

- Make typec-power-opmode optional on usbc-tusb320 driver
 : Prevent probe error when usb-c connector is configured
   in the DT without "typec-power-opmode" property

 
3 Apr 2026: RISC-V SpacemiT Devicetrees for v7.1 [+ + +]
From: Yixun Lan <dlan@gentoo.org>

Hi Arnd,


Yixun Lan

RISC-V SpacemiT DT changes for 7.1

For K3 SoC
- Add I2C support
- Add PMIC regulator tree
- Add ethernet support
- Add pinctrl/GPIO/Clock
- Enable full UART support

For K1 SoC
 On Milk-V Jupiter
- Enable PCIe/USB on
- Enable QSPI/SPI NOR
- Enable EEPROM, LEDs
 Others
- Fix PMIC supply properties
- Fix PCIe missing power regulator

 
2 Apr 2026: clk: imx: Updates for v7.1 [+ + +]
i.MX clock changes for 7.1

- Add optional ENET reference pad clock inputs for i.MX6Q/UL.
- Fix debug output in PLL14xx driver to use unsigned format specifier.
- Add 333.333 MHz and 477.4 MHz support to fracn-gppll for display use cases.
- Fix device node reference leaks in i.MX6 driver.
- Fix device node reference leak in of_assigned_ldb_sels().
- Fix ACM clock flags on i.MX8 to prevent SAI sysclk failures.
- Move VF610_CLK_END define into the driver.
- Add VF610 Ethernet switch clock support.
- Correct CSI PHY parent clock selection on i.MX8MQ.

2 Apr 2026: [PULL REQUEST] Intel IOMMU updates for v7.1 [+ + +]
Hi Joerg,

 
1 Apr 2026: arm64: dts: ti: K3 updates for v7.1 [+ + +]
 protected-headers="v1"
From: Vignesh Raghavendra <vigneshr@ti.com>
To: SoC <soc@kernel.org>, arm@kernel.org
Cc: SoC list <soc@lists.linux.dev>, linux-arm-kernel@lists.infradead.org,
 linux-kernel@vger.kernel.org, Tero Kristo <kristo@kernel.org>,
 Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>
Message-ID: <e724f95d-09d0-4ede-9ed4-0ce782d81058@ti.com>
Subject: [GIT PULL 1/2] arm64: dts: ti: K3 updates for v7.1

--------------oAW5J7hdI1PCiXsPU00w0Ax0

Hi ARM SoC maintainers

Note there is a patch touching embedded-controller/kontron,sl28cpld.yaml =
as it is part of=20
series that removes of Kontron SMARC-sAM67 board support.


TI K3 device tree updates for v7.1

Generic Fixes/Cleanups:
- k3-pinctrl: Cleanup alignment and reorder macros
- ti,min-output-impedance addition to all K3 board DT files

SoC Specific Features and Fixes:
AM62L:
- Add RNG node
- Support cpufreq scaling

J721S2:
- Make MAIN domain system control bus a simple-bus
- Add second DSI node

J722S:
- Add main_i2c4 device node

J7200:
- Make MAIN domain system control bus a simple-bus

Board Specific Features and Fixes:
AM642 EVM:
- Add ICSSG0 overlay for dual EMAC support

AM62:
- LP-SK: Enable internal pulls for MMC0 data pins
- SK: Enable Main UART wakeup
- phycore-som: Add 128MiB of global CMA
- Verdin: Add Zinnia board support and misc cleanup

AM62A7-SK:
- Enable Main UART wakeup
- Fix pin name in comment from M19 to N22

AM62D2 EVM:
- Enable Main UART wakeup and set wakeup-source system-states

AM62L3 EVM:
- Disable MMC1 internal pulls on data pins
- Enable Main UART wakeup and enable wkup_uart0 pins/target node

AM62P:
- SK: Disable MMC1 internal pulls on data pins and enable Main UART
  wakeup
- Verdin: Add Zinnia support and misc cleanup

AM68 PHYBoard:
- Add DSI->LVDS bridge, LVDS-Display overlay and PEB-AV-15 overlay

AM69 Aquila:
- Fix DP regulator enable GPIO

J721S2 CPB:
- Add QSPI flash partition details

Removal of SMARC-sAM67 board:
- Kontron SMARC-sAM67 board support along with all bindings
  are dropped as board is no longer planned for production

1 Apr 2026: rv changes for v7.1 (for-next) [+ + +]
Steve,

rv changes for v7.1 (for-next)

Summary of changes:

- Refactor da_monitor header to share handlers across monitor types

  No functional changes, only less code duplication.

- Add Hybrid Automata model class

  Add a new model class that extends deterministic automata by adding
  constraints on transitions and states. Those constraints can take into
  account wall-clock time and as such allow RV monitor to make
  assertions on real time. Add documentation and code generation
  scripts.

- Add stall monitor as hybrid automaton example

  Add a monitor that triggers a violation when a task is stalling as an
  example of automaton working with real time variables.

- Convert the opid monitor to a hybrid automaton

  The opid monitor can be heavily simplified if written as a hybrid
  automaton: instead of tracking preempt and interrupt enable/disable
  events, it can just run constraints on the preemption/interrupt
  states when events like wakeup and need_resched verify.

- Add support for per-object monitors in DA/HA

  Allow writing deterministic and hybrid automata monitors for generic
  objects (e.g. any struct), by exploiting a hash table where objects
  are saved. This allows to track more than just tasks in RV. For
  instance it will be used to track deadline entities in deadline
  monitors.

- Add deadline tracepoints and move some deadline utilities

  Prepare the ground for deadline monitors by defining events and
  exporting helpers.

- Add nomiss deadline monitor

  Add first example of deadline monitor asserting all entities complete
  before their deadline.

- Improve rvgen error handling

  Introduce AutomataError exception class and better handle expected
  exceptions while showing a backtrace for unexpected ones.

- Improve python code quality in rvgen

  Refactor the rvgen generation scripts to align with python best
  practices: use f-strings instead of %, use len() instead of __len__(),
  remove semicolons, use context managers for file operations, fix
  whitespace violations, extract magic strings into constants, remove
  unused imports and methods.

- Fix small bugs in rvgen

  The generator scripts presented some corner case bugs: logical error in
  validating what a correct dot file looks like, fix an isinstance()
  check, enforce a dot file has an initial state, fix type annotations
  and typos in comments.

- rvgen refactoring

  Refactor automata.py to use iterator-based parsing and handle required
  arguments directly in argparse.

- Allow epoll in rtapp-sleep monitor

  The epoll_wait call is now rt-friendly so it should be allowed in the
  sleep monitor as a valid sleep method.

 
31 Mar 2026: RCU changes for v7.1 [+ + +]
Once the merge window opens, please pull the following RCU changes for v7.1.

RCU changes for v7.1

NOCB CPU management:

- Consolidate rcu_nocb_cpu_offload() and rcu_nocb_cpu_deoffload() to reduce
  code duplication.
- Extract nocb_bypass_needs_flush() helper to reduce duplication in NOCB
  bypass path.

rcutorture/torture infrastructure:

- Add NOCB01 config for RCU_LAZY torture testing.
- Add NOCB02 config for NOCB poll mode testing.
- Add TRIVIAL-PREEMPT config for textbook-style preemptible RCU torture.
- Test call_srcu() with preemption both disabled and enabled.
- Remove kvm-check-branches.sh in favor of kvm-series.sh.
- Make hangs more visible in torture.sh output.
- Add informative message for tests without a recheck file.
- Fix numeric test comparison in srcu_lockdep.sh.
- Use torture_shutdown_init() in refscale and rcuscale instead of open-coded
  shutdown functions.
- Fix modulo-zero error in torture_hrtimeout_ns().

SRCU:

- Fix SRCU read flavor macro comments.
- Fix s/they disables/they disable/ typo in srcu_read_unlock_fast().

RCU Tasks:

- Document that RCU Tasks Trace grace periods now imply RCU grace periods.
- Remove unnecessary smp_store_release() in cblist_init_generic().

RCU stall:

- Add BOOTPARAM_RCU_STALL_PANIC Kconfig option to allow triggering a kernel
  panic on RCU stall via kernel boot parameter.

31 Mar 2026: Rust pin-init for v7.1 [+ + +]
Hi Miguel,

This is a small one, various cleanups and small improvements with no
major changes to users of pin-init.

I summarized the changes in the my sync series [1]:

> This cycle we have no big changes in pin-init. This series is a
> collection of smaller improvements already merged upstream:
>
> - https://github.com/Rust-for-Linux/pin-init/pull/105
> - https://github.com/Rust-for-Linux/pin-init/pull/110
> - https://github.com/Rust-for-Linux/pin-init/pull/101
> - https://github.com/Rust-for-Linux/pin-init/pull/102
> - https://github.com/Rust-for-Linux/pin-init/pull/108
>
> Next cycle might contain bigger changes, mainly support for tuple
> structs. And I'm also thinking of already starting with integrating
> zerocopy.
>
> While testing for the kernel, I noticed the following issue (already
> fixed in the patch in this series):
>
> - https://github.com/Rust-for-Linux/pin-init/pull/123
>
> This cycle we also had some unsoundness fixes that are already in rc4:
>
> - https://github.com/Rust-for-Linux/pin-init/pull/111
> - https://github.com/Rust-for-Linux/pin-init/pull/117
>
> Lastly, there were some upstream-only changes:
>
> - https://github.com/Rust-for-Linux/pin-init/pull/114
> - https://github.com/Rust-for-Linux/pin-init/pull/109

All commits have been in linux-next since Thursday last week.

No conflicts expected.


Cheers,
Benno

[1]: https://lore.kernel.org/all/20260319093542.3756606-1-lossin@kernel.org

pin-init changes for v7.1

Changed:

- Replace the 'Zeroable' impls for 'Option<NonZero*>' with impls of
  'ZeroableOption' for 'NonZero*'.

- Improve feature gate handling for unstable features.

- Declutter the documentation of implementations of 'Zeroable' for
  tuples.

- Replace uses of 'addr_of[_mut]!' with '&raw [mut]'.

31 Mar 2026: Immutable branch between pwrseq and serdev trees for v7.1-rc1 [+ + +]
Hi Rob!

power sequencing updates for the M.2 driver.

Thanks
Bartosz

Immutable branch between the pwrseq and serdev trees for v7.1-rc1

Provide new serdev helper for looking up controllers by their OF node
to be used in the power sequencing driver for the PCIe M.2 connector.

31 Mar 2026: DRM Rust changes for v7.1-rc1 [+ + +]
Hi Dave and Sima,


There's quite a lot of stuff in here this time. The highlights are GPU budd=
y
and GEM shmem abstractions on the DRM core side; RPC continuation records, =
the
missing Turing pieces, exposed GSP log buffers in debugfs, and lots of gene=
ral
refactorings and improvements on the nova-core side.

Among the latter I want to highlight the generic kernel register!() macro a=
nd
the DMA improvements.

There are also quite a few external dependencies in here. Besides a few Rus=
t
core and minor workqueue changes, I took all the DMA changes through this t=
ree
for this cycle and merged a shared signed tag from the driver-core tree for
register!() and other I/O improvements.

(I plan to send an early driver-core PR to Linus for this cycle, since I al=
so
gave out two other signed tags for other trees.)

All changes have been in linux-next for at least one round -- no conflicts
expected.

- Danilo

DRM Rust changes for v7.1-rc1

- DMA:
  - Rework the DMA coherent API: introduce Coherent<T> as a generalized
    container for arbitrary types, replacing the slice-only
    CoherentAllocation<T>. Add CoherentBox for memory initialization
    before exposing a buffer to hardware (converting to Coherent when
    ready), and CoherentHandle for allocations without kernel mapping.

  - Add Coherent::init() / init_with_attrs() for one-shot initialization
    via pin-init, and from-slice constructors for both Coherent and
    CoherentBox

  - Add uaccess write_dma() for copying from DMA buffers to userspace
    and BinaryWriter support for Coherent<T>

- DRM:
  - Add GPU buddy allocator abstraction

  - Add DRM shmem GEM helper abstraction

  - Allow drm::Device to dispatch work and delayed work items to driver
    private data

  - Add impl_aref_for_gem_obj!() macro to reduce GEM refcount
    boilerplate, and introduce DriverObject::Args for constructor
    context

  - Add dma_resv_lock helper and raw_dma_resv() accessor on GEM objects

  - Clean up imports across the DRM module

- I/O:
  - Merged via a signed tag from the driver-core tree: register!() macro
    and I/O infrastructure improvements (IoCapable refactor, RelaxedMmio
    wrapper, IoLoc trait, generic accessors, write_reg /
    LocatedRegister)

- Nova (Core):
  - Fix and harden the GSP command queue: correct write pointer
    advancing, empty slot handling, and ring buffer indexing; add mutex
    locking and make Cmdq a pinned type; distinguish wait vs no-wait
    commands

  - Add support for large RPCs via continuation records, splitting
    oversized commands across multiple queue slots

  - Simplify GSP sequencer and message handling code: remove unused
    trait and Display impls, derive Debug and Zeroable where applicable,
    warn on unconsumed message data

  - Refactor Falcon firmware handling: create DMA objects lazily, add
    PIO upload support, and use the Generic Bootloader to boot FWSEC on
    Turing

  - Convert all register definitions (PMC, PBUS, PFB, GC6, FUSE, PDISP,
    Falcon) to the kernel register!() macro; add bounded_enum macro to
    define enums usable as register fields

  - Migrate all DMA usage to the new Coherent, CoherentBox, and
    CoherentHandle APIs

  - Harden firmware parsing with checked arithmetic throughout FWSEC,
    Booter, RISC-V parsing paths

  - Add debugfs support for reading GSP-RM log buffers; replace
    module_pci_driver!() with explicit module init to support
    module-level debugfs setup

  - Fix auxiliary device registration for multi-GPU systems

  - Various cleanups: import style, firmware parsing refactoring,
    framebuffer size logging

- Rust:
  - Add interop::list module providing a C linked list interface

  - Extend num::Bounded with shift operations, into_bool(), and const
    get() to support register bitfield manipulation

  - Enable the generic_arg_infer Rust feature and add EMSGSIZE error
    code

- Tyr:
  - Adopt vertical import style per kernel Rust guidelines

  - Clarify driver/device type names and use DRM device type alias
    consistently across the driver

  - Fix GPU model/version decoding in GpuInfo

- Workqueue:
  - Add ARef<T> support for work and delayed work

 
29 Mar 2026: RISC-V T-HEAD Devicetrees for v7.1, part 2 [+ + +]
Two minor improvements that weren't ready when I sent the originall pull
request. They have now been tested in next. No problem if it is too late
for this cycle.

Thanks,
Drew

T-HEAD Devicetrees for 7.1, part 2

Additional updates to T-Head device trees for v7.1:

 - Enable the display pipeline for the TH1520-based BeagleV Ahead board
   by adding the HDMI connector node, connecting it to the HDMI
   controller, and activating the DPU and HDMI nodes.

 - Add coefficients to the TH1520 PVT node as the values in the TH1520
   manual differ from the defaults in the driver.

 
27 Mar 2026: RTLA changes for v7.1 [+ + +]
Steven,

please pull the following changes for RTLA (more info in tag description).

Thanks,
Tomas

RTLA patches for v7.1

- Simplify option parsing

Auto-generate getopt_long() optstring for short options from long options
array, avoiding the need to specify it manually and reducing the surface
for mistakes.

- Add unit tests

Implement unit tests (make unit-tests) using libcheck, next to existing
runtime tests (make check). Currently, three functions from utils.c are
tested.

- Add --stack-format option

In addition to stopping stack pointer decoding (with -s/--stack option)
on first unresolvable pointer, allow also skipping unresolvable pointers
and displaying everything, configurable with a new option.

- Unify number of CPUs into one global variable

Use one global variable, nr_cpus, to store the number of CPUs instead of
retrieving it and passing it at multiple places.

- Fix behavior in various corner cases

Make RTLA behave correctly in several corner cases: memory allocation
failure, invalid value read from kernel side, thread creation failure,
malformed time value input, and read/write failure or interruption by
signal.

- Improve string handling

Simplify several places in the code that handle strings, including
parsing of action arguments. A few new helper functions and variables
are added for that purpose.

- Get rid of magic numbers

Few places handling paths use a magic number of 1024. Replace it with
MAX_PATH and ARRAY_SIZE() macro.

- Unify threshold handling

Code that handles response to latency threshold is duplicated between
tools, which has led to bugs in the past. Unify it into a new helper
as much as possible.

- Fix segfault on SIGINT during cleanup

The SIGINT handler touches dynamically allocated memory. Detach it
before freeing it during cleanup to prevent segmentation fault and
discarding of output buffers. Also, properly document SIGINT handling
while at it.

The tag was tested (make && make check && make unit-tests) as well as
pre-tested on top of next-20260326. There are no known conflicts.

Signed-off-by: Tomas Glozar <tglozar@redhat.com>

27 Mar 2026: OP-TEE update for 7.1 [+ + +]

Thanks,
Jens

OP-TEE update for 7.1

Simplify TEE implementor ID match logic

27 Mar 2026: TEE update for 7.1 [+ + +]

Thanks,
Jens

TEE update for 7.1

Clean up tee_core.h kernel-doc to eliminate build warnings

 
26 Mar 2026: nuvoton: first batch of arm64 devicetree changes for v7.1 [+ + +]
Just the one Nuvoton devicetree change for v7.1


Andrew

nuvoton: first batch of arm64 devicetree changes for v7.1

Just the one change this time, dropping syscon properties where they weren'=
t
defined.
26 Mar 2026: aspeed: first batch of devicetree changes for v7.1 [+ + +]
Here's the first batch of ASPEED devicetree changes for v7.1.


Cheers,

Andrew

aspeed: first batch of devicetree changes for v7.1

New platforms:

- Asus Kommando IPMI card
- Asrock Paul IPMI card

Updated platforms:

- Anacapa (Meta): NFC and EEPROMs
- MSX4 (Nvidia): 128M layout for the alternate boot flash

 
24 Mar 2026: memory: drivers for v7.1 [+ + +]
Memory controller drivers for v7.1

1. TegraMC:
 - Few fixes for older issues - missing clock on Tegra264,
   missing enabling of DLL for Tegra30 and Tegra124.
 - Simplify the code in a few places.
 - Rework handling interrupts on different variants and add support for
   error logging on Tegra 264.

2. Drop Baikal SoC bt1-l2-ctl driver, because SoC support is being
   removed tree-wide.

24 Mar 2026: samsung: drivers for v7.1 [+ + +]
Samsung SoC drivers for v7.1

Few cleanups in ACPM firmware drivers, used on Google GS101 and newer
Samsung Exynos SoCs.  Notable change is removing 'const' in
'struct acpm_handle' pointers, because even though the code does not
modify pointed data, it immediately drops the const via cast.  Also code
is not logically readable when a reference getters/putters (e.g.
acpm_handle_put()) take a pointer to const, because the meaning of "get"
and "put" implies changing the memory, even if that changeable field is
outside of pointed data.

 
16 Mar 2026: clk: tenstorrent: Add Atlantis PRCM for v7.1 [+ + +]
Hi Stephen,

This pull request introduces support for the Tenstorrent Atlantis RISC-V
SoC in the form of a clk driver, reset driver and the associated DT
binding. The reset driver was reviewed by Philipp, who agreed that it
could go via the clk tree. Brian reviewed the clk driver but there is no
review/ack from you. Please let me know if you'd like to see any changes
and we will post a new revision.

clk: tenstorrent: Add support for Atlantis PRCM

Introduce support for the clock and reset controllers (e.g. PRCM) in the
Tenstorrent Atlantis SoC. 5 types of clocks are generated by the PRCM:
PLLs, shared gates and standard muxes. The reset controller is setup as
an auxiliary device of the clock controller.

Signed-off-by: Drew Fustini <fustini@kernel.org>

 
15 Mar 2026: RISC-V T-HEAD Devicetrees for v7.1 [+ + +]
T-HEAD Devicetrees for 7.1

Update the T-Head TH1520 RISC-V SoC device tree to support the
Verisilicon DC8200 display controller (called DPU in manual) and the
Synopsys DesignWare HDMI TX controller. In addition, enable HDMI output
for the LicheePi 4a board.

Signed-off-by: Drew Fustini <fustini@kernel.org>

 
12 Mar 2026: clk: round one of improvements for v7.1 [+ + +]
Hi Stephen,

Here's a pull for some fixes and improvements for the clk subsystem
that's been posted over the last month. Details are in the signed git
tag. I didn't include any new drivers, or changes where it looks like
there is a submaintainer that typically sends you a pull separately.


Improvements to the clk core

- Add support for clk spread spectrum, which reduces electromagnetic
  interference (EMI) by modulating the clk frequency a small amount to
  spread the energy across a wider bandwidth. The SCMI clk driver uses
  this new functionality. (Peng Fan)

- Introduced the CLK_ROUNDING_NOOP flag, which is for the case where the
  determine_rate op is an empty function. This typically occurs when
  rounding is managed by firmware or the clock is capable of any rate.
  Nine clk drivers were updated to use this new flag: rp1, scpi,
  hisilicon/hi3660-stub, imx/clk-scu, qcom/clk-rpm, qcom/clk-rpmh,
  qcom/clk-smd-rpm, samsung/clk-acpm, sprd/pll. (Brian Masney)

- Added kernel docs for all members of struct clk_core. (Brian Masney)

- Simplify clk_is_match() and improve readability. (Geert Uytterhoeven)

Remove deprecated APIs (all Brian Masney)

- Converts clk-composite from round_rate() to determine_rate().

- Removes the round_rate() clk op.

- Removes the deprecated functions divider_round_rate(),
  divider_round_rate_parent(), and divider_ro_round_rate_parent() since
  these are just wrappers for the corresponding determine_rate variant.

KUnit Tests

- Add tests for clk lookup by name. (Chen-Yu Tsai)

- Introduced kunit tests for spread spectrum. (Peng Fan)

- Minor cleanup to use HZ_PER_MHZ. (Brian Masney)

Driver-specific updates not listed above

- The SCMI driver gained support for OEM extensions. (Peng Fan)

- Dropped the baikal-t1 SoC that will not be finalized / supported.
  (Andy Shevchenko)

- Minor bug fixes / cleanups to various drivers across the clk tree:
  aspeed/ast2700 (Felix Gu), x86/lpss-atom (Andy Shevchenko),
  hisilicon/reset (Shawn Guo), hisilicon (J. Neuschäfer), xgene (Geert
  Uytterhoeven), mvebu/armada-37xx-periph (Ben Dooks), imx/scu (Brian
  Masney).

 
9 Mar 2026: Immutable branch between GPIO and net for v7.1-rc1 [+ + +]
Jakub,

convert the remaining users of of_gpio.h under drivers/nfc and the last
one removes the - now unused - header.

Thanks,
Bartosz

Immutable branch between GPIO and net

Convert remaining users of of_gpio.h to using GPIO descriptors and
remove the header.

 
3 Mar 2026: [PATCH 00/13] Rust atomic changes for v7.1 [+ + +]
Hi Peter,

Major changes are the atomic pointer support and a boolean-like
AtomicFlag type (using a byte if arch support efficient xchg/cmpxchg
over bytes otherwise 4 bytes). Thanks!

Regards,
Boqun


Rust atomic changes for v7.1

* Add Atomic<ptr> support.
* Add an AtomicFlag type for boolean-like usage with
  architecture-specific performance optimization.
* Add unsafe atomic operations over raw pointers.
* Add `fetch_sub()` for atomic types.
* Documentation and example improvements.
-----BEGIN PGP SIGNATURE-----

iQFFBAABCAAvFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmmnPU0RHGJvcXVuQGtl
cm5lbC5vcmcACgkQSXnow7UH+rgKrgf/UNZb0CmIG7d2jN1GsTHwYa8disAGlWFk
KOSTMNn83WICVhIIqUqrRcvSzR0FLwpp1jOH0lMYzZlfxQBOIoVc82xXD2SLLjAa
2VS/vknOitxAsChFceKs7w+hcQD168xSbDqo/dSxI/KO+OMQUxLqTW0zKTVYZhij
JIfv57Nv1331J+gnwici6/q3cBqP14Hv968cZ5Dw8tqWJMpMuqJPQLsgKg5um6Y0
hzpgXLkkB8Vg02qku/YdkcBFCvxWz5CifOpmLWNum+B82emELHmKhpOUdticuWof
iUkqygu4Un+QAcKb+8LG3L30UW3GBw4kEHpb357jc/EqZHvhX5aEYg==
=CYTx
-----END PGP SIGNATURE-----