Latest Linux kernel releases

  18.04 6.19.13, 6.18.23, 6.12.82, 6.6.135, 6.1.169, 5.15.203, 5.10.253
  12.04 7.0 (merge, pull)

Commits in mainline kernel

All commints
Merge tags by Linus Torvalds

Significant pull requests for mainline kernel

 
19 Apr 2026: NFSD changes for the v7.1 merge window [+ + +]
NFSD 7.1 Release Notes

Benjamin Coddington contributed filehandle signing to defend against
filehandle-guessing attacks. The server now appends a SipHash-2-4
MAC to each filehandle when the new "sign_fh" export option is
enabled. NFSD then verifies filehandles received from clients
against the expected MAC; mismatches return NFS error STALE.

Chuck Lever converted the entire NLMv4 server-side XDR layer from
hand-written C to xdrgen-generated code, spanning roughly thirty
patches. XDR functions are generally boilerplate code and are easy
to get wrong. The goals of this conversion are improved memory
safety, lower maintenance burden, and groundwork for eventual Rust
code generation for these functions.

Dai Ngo improved pNFS block/SCSI layout robustness with two related
changes. SCSI persistent reservation fencing is now tracked per
client and per device via an xarray, to avoid both redundant preempt
operations on devices already fenced and a potential NFSD deadlock
when all nfsd threads are waiting for a layout return.

The remaining patches deliver scalability and infrastructure
improvements. Sincere thanks to all contributors, reviewers,
testers, and bug reporters who participated in the v7.1 NFSD
development cycle.

19 Apr 2026: Staging driver changes for 7.1-rc1 [+ + +]
Staging driver changes for 7.1-rc1

Here is the "big" set of staging driver changes for 7.1-rc1.

Nothing major in here at all, just lots of little cleanups for the
staging drivers, driven by new developers getting their feet wet in
kernel development.  "Largest" thing in here is the change of some of
the octeon variable types into proper kernel ones.

Full details are in the shortlog.

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <[email protected]>

19 Apr 2026: USB/Thunderbolt driver changes for 7.1-rc1 [+ + +]
USB / Thunderbolt changes for 7.1-rc1

Here is the big set of USB and Thunderbolt changes for 7.1-rc1.

Lots of little things in here, nothing major, just constant
improvements, updates, and new features.  Highlights are:
  - new USB power supply driver support (will cause merge conflicts in
    drivers/power/supply/Makefile, but it's a simple fix)  These changes
    did touch outside of drivers/usb/ but got acks from the relevant
    mantainers for them.
  - dts file updates and conversions
  - string function conversions into "safer" ones
  - new device quirks
  - xhci driver updates
  - usb gadget driver minor fixes
  - typec driver additions and updates
  - small number of thunderbolt driver changes
  - dwc3 driver updates and additions of new hardware support
  - other minor driver updates

All of these have been in the linux-next tree for a while with no
reported issues

Signed-off-by: Greg Kroah-Hartman <[email protected]>

19 Apr 2026: TTY/Serial driver changes for 7.1-rc1 [+ + +]
TTY/Serial changes for 7.1-rc1

Here is the set of tty and serial driver changes for 7.1-rc1.

Not much here this cycle, biggest thing is the removal of an old driver
that never got any actual hardware support (esp32), and the second try
to moving the tty ports to their own workqueues (first try was in
7.0-rc1 but was reverted due to problems.)

Otherwise it's just a small set of driver updates and some vt modifier
key enhancements.

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

Signed-off-by: Greg Kroah-Hartman <[email protected]>

 
18 Apr 2026: Additional MM updates for 7.1-rc1 [+ + +]
merge window, thanks.

I'm seeing no conflicts against mainline at this time.  If some do pop
up, they will hopefully be addressed in the first-round merge at

https://lore.kernel.org/[email protected]


mm.git review status for linus..mm-stable

Everything:

Total patches:       121
Reviews/patch:       2.11
Reviewed rate:       90%

Excluding DAMON:

Total patches:       113
Reviews/patch:       2.25
Reviewed rate:       96%

- The 33 patch series "Eliminate Dying Memory Cgroup" from Qi Zheng and
  Muchun Song addresses the longstanding "dying memcg problem".  A
  situation wherein a no-longer-used memory control group will hang around
  for an extended period pointlessly consuming memory.  The [0/N]
  changelog has a good overview of this work.

- The 3 patch series "fix unexpected type conversions and potential
  overflows" from Qi Zheng fixes a couple of potential 32-bit/64-bit
  issues which were identified during review of the "Eliminate Dying
  Memory Cgroup" series.

- The 6 patch series "kho: history: track previous kernel version and
  kexec boot count" from Breno Leitao uses Kexec Handover (KHO) to pass
  the previous kernel's version string and the number of kexec reboots
  since the last cold boot to the next kernel, and prints it at boot time.

- The 4 patch series "liveupdate: prevent double preservation" from
  Pasha Tatashin teaches LUO to avoid managing the same file across
  different active sessions.

- The 10 patch series "liveupdate: Fix module unloading and unregister
  API" from Pasha Tatashin addresses an issue with how LUO handles module
  reference counting and unregistration during module unloading.

- The 2 patch series "zswap pool per-CPU acomp_ctx simplifications" from
  Kanchana Sridhar simplifies and cleans up the zswap crypto compression
  handling and improves the lifecycle management of zswap pool's per-CPU
  acomp_ctx resources.

- The 2 patch series "mm/damon/core: fix damon_call()/damos_walk() vs
  kdmond exit race" from SeongJae Park addresses unlikely but possible
  leaks and deadlocks in damon_call() and damon_walk().

- The 2 patch series "mm/damon/core: validate damos_quota_goal->nid"
  from SeongJae Park fixes a couple of root-only wild pointer
  dereferences.

- The 2 patch series "Docs/admin-guide/mm/damon: warn commit_inputs vs
  other params race" from SeongJae Park updates the DAMON documentation to
  warn operators about potential races which can occur if the
  commit_inputs parameter is altered at the wrong time.

- The 3 patch series "Minor hmm_test fixes and cleanups" from Alistair
  Popple implements two bugfixes a cleanup for the HMM kernel selftests.

- The 6 patch series "Modify memfd_luo code" from Chenghao Duan provides
  cleanups, simplifications and speedups in the memfd_lou code.

- The 4 patch series "mm, kvm: allow uffd support in guest_memfd" from
  Mike Rapoport enables support for userfaultfd in guest_memfd.

- The 6 patch series "selftests/mm: skip several tests when thp is not
  available" from Chunyu Hu fixes several issues in the selftests code
  which were causing breakage when the tests were run on CONFIG_THP=n
  kernels.

- The 2 patch series "mm/mprotect: micro-optimization work" from Pedro
  Falcato implements a couple of nice speedups for mprotect().

- The 3 patch series "MAINTAINERS: update KHO and LIVE UPDATE entries"
  from Pratyush Yadav reflects upcoming changes in the maintenance of KHO,
  LUO, memfd_luo, kexec, crash, kdump and probably other kexec-based
  things - they are being moved out of mm.git and into a new git tree.

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

here is the second part of the i2c-host pull request for v7.1.

Just three patches, all tested in i2c-host-next for quite some
time. The pxa change is the second patch of a two-patch series.
The first one [*] went in as a fix in -rc5.

Note that this pull request is in i2c/i2c-host-2 instead of the
usual i2c/i2c-host. I created that branch for part 2 and last
rebased it on top of v7.0.

Thank you and have a great Sunday,
Andi

[*] 78a6ee14f8b9 ("i2c: pxa: defer reset on Armada 3700 when
    recovery is used")

i2c-host for v7.1, part 2

- cx92755: convert I2C bindings to DT schema
- mediatek: add optional bus power management during transfers
- pxa: handle early bus busy condition

19 Apr 2026: I3C changes for 7.1 [+ + +]
Here is the i3c subsystem pull request for 7.1. This time, we get
support for Intel Nova Lake-H and a way to enforce rescanning the bus.
Small issues have been fixed in many drivers and the error code hanlding
for CCC commands have been reworked.

I3C for 7.1

Subsystem:
 - add sysfs option to rescan bus via entdaa
 - fix error code handling for send_ccc_cmd

Drivers:
 - mipi-i3c-hci-pci: Intel Nova Lake-H I3C support

19 Apr 2026: pin control changes for v7.1 [+ + +]
here are the pin control changes for the v7.1 kernel cycle.

There is a little bit of everything this time. Some core improvements
on semantic checks. Some bunch of new drivers. Cleanup series.
But overall pretty straight-forward. Some SCMI changes probably came in
before through an immutable branched pulled by the GPIO subsystem.

Details in the signed tag as always.


Yours,
Linus Walleij

Pin control changes for the v7.1 kernel cycle:

Core changes:

- Perform basic checks on pin config properties so as not to
  allow directly contradictory settings such as setting a pin
  to more than one bias or drive mode.

- Handle input-threshold-voltage-microvolt property.

- Introduce pinctrl_gpio_get_config() handling in the core for
  SCMI GPIO using pin control.

New drivers:

- GPIO-by-pin control driver (also apperaing in the GPIO pull
  request) fulfilling a promise on a comment from
  Grant Likely many years ago: "can't GPIO just be a front-end
  for pin control?" it turns out it can, if and only if you
  design something new from scratch, such as SCMI.

- Broadcom BCM7038 as a pinctrl-single delegate.

- Mobileye EyeQ6Lplus OLB pin controller.

- Qualcomm Eliza and Hawi families TLMM pin controllers.

- Qualcomm SDM670 and Milos family LPASS LPI pin controllers.

- Qualcomm IPQ5210 pin controller.

- Realtek RTD1625 pin controller support.

- Rockchip RV1103B pin controller support.

- Texas Instruments AM62L as a pinctrl-single delegate.

Improvements:

- Set config implementation for the Spacemit K1 pin controller.

 
18 Apr 2026: drm for v7.1-rc1 (part two) [+ + +]
This is a followup pull which is mostly next material with some fixes.

Alex pointed out I missed one of his AMD MRs from last week, so I
added that, then Jani sent the pipe reordering stuff, otherwise it's
just some minor i915 fixes and a dma-buf fix.

Regards,
Dave

drm-fixes-2026-04-18:
drm for 7.1-rc1 (part 2)

drm:
- Add support for AMD VSDB parsing to drm_edid

dma-buf:
- fix documentation formatting

i915:
- add support for reordered pipes to support joined pipes better
- Fix VESA backlight possible check condition
- Verify the correct plane DDB entry

amdgpu:
- Audio regression fix
- Use drm edid parser for AMD VSDB
- Misc cleanups
- VCE cs parse fixes
- VCN cs parse fixes
- RAS fixes
- Clean up and unify vram reservation handling
- GPU Partition updates
- system_wq cleanups
- Add CONFIG_GCOV_PROFILE_AMDGPU kconfig option
- SMU vram copy updates
- SMU 13/14/15 fixes
- UserQ fixes
- Replace pasid idr with an xarray
- Dither handling fix
- Enable amdgpu by default for CIK APUs
- Add IBs to devcoredump

amdkfd:
- system_wq cleanups

radeon:
- system_wq cleanups
drm for 7.1-rc1 (part 2)

drm:
- Add support for AMD VSDB parsing to drm_edid

dma-buf:
- fix documentation formatting

i915:
- add support for reordered pipes to support joined pipes better
- Fix VESA backlight possible check condition
- Verify the correct plane DDB entry

amdgpu:
- Audio regression fix
- Use drm edid parser for AMD VSDB
- Misc cleanups
- VCE cs parse fixes
- VCN cs parse fixes
- RAS fixes
- Clean up and unify vram reservation handling
- GPU Partition updates
- system_wq cleanups
- Add CONFIG_GCOV_PROFILE_AMDGPU kconfig option
- SMU vram copy updates
- SMU 13/14/15 fixes
- UserQ fixes
- Replace pasid idr with an xarray
- Dither handling fix
- Enable amdgpu by default for CIK APUs
- Add IBs to devcoredump

amdkfd:
- system_wq cleanups

radeon:
- system_wq cleanups

 
17 Apr 2026: perf-tool updates for v7.1 [+ + +]
Please consider pulling the following changes in perf tools for v7.1.

Thanks,
Namhyung


perf tools updates for 7.1

perf report:

 - Add 'comm_nodigit' sort key to combine similar threads that only have
   different numbers in the comm.  In the following example, the
   'comm_nodigit' will have samples from all threads starting with
   "bpfrb/" into an entry "bpfrb/<N>".

    $ perf report -s comm_nodigit,comm -H
    ...
    #
    #    Overhead  CommandNoDigit / Command
    # ...........  ........................
    #
        20.30%     swapper
           20.30%     swapper
        13.37%     chrome
           13.37%     chrome
        10.07%     bpfrb/<N>
            7.47%     bpfrb/0
            0.70%     bpfrb/1
            0.47%     bpfrb/3
            0.46%     bpfrb/2
            0.25%     bpfrb/4
            0.23%     bpfrb/5
            0.20%     bpfrb/6
            0.14%     bpfrb/10
            0.07%     bpfrb/7

 - Support flat layout for symfs.  The --symfs option is to specify the
   location of debugging symbol files.  The default 'hierarchy' layout
   would search the symbol file using the same path of the original file
   under the symfs root.  The new 'flat' layout would search only in the
   root directory.

 - Update 'simd' sort key for ARM SIMD flags to cover ASE/SME and more
   predicate flags.

perf stat:

 - Add --pmu-filter option to select specific PMUs.  This would be
   useful when you measure metrics from multiple instance of uncore PMUs
   with similar names.

    # perf stat -M cpa_p0_avg_bw
     Performance counter stats for 'system wide':

        19,417,779,115      hisi_sicl0_cpa0/cpa_cycles/      #     0.00 cpa_p0_avg_bw
                     0      hisi_sicl0_cpa0/cpa_p0_wr_dat/
                     0      hisi_sicl0_cpa0/cpa_p0_rd_dat_64b/
                     0      hisi_sicl0_cpa0/cpa_p0_rd_dat_32b/
        19,417,751,103      hisi_sicl10_cpa0/cpa_cycles/     #     0.00 cpa_p0_avg_bw
                     0      hisi_sicl10_cpa0/cpa_p0_wr_dat/
                     0      hisi_sicl10_cpa0/cpa_p0_rd_dat_64b/
                     0      hisi_sicl10_cpa0/cpa_p0_rd_dat_32b/
        19,417,730,679      hisi_sicl2_cpa0/cpa_cycles/      #     0.31 cpa_p0_avg_bw
            75,635,749      hisi_sicl2_cpa0/cpa_p0_wr_dat/
            18,520,640      hisi_sicl2_cpa0/cpa_p0_rd_dat_64b/
                     0      hisi_sicl2_cpa0/cpa_p0_rd_dat_32b/
        19,417,674,227      hisi_sicl8_cpa0/cpa_cycles/      #     0.00 cpa_p0_avg_bw
                     0      hisi_sicl8_cpa0/cpa_p0_wr_dat/
                     0      hisi_sicl8_cpa0/cpa_p0_rd_dat_64b/
                     0      hisi_sicl8_cpa0/cpa_p0_rd_dat_32b/

          19.417734480 seconds time elapsed

   With --pmu-filter, users can select only hisi_sicl2_cpa0 PMU.

    # perf stat --pmu-filter hisi_sicl2_cpa0 -M cpa_p0_avg_bw
     Performance counter stats for 'system wide':

         6,234,093,559      cpa_cycles                       #     0.60 cpa_p0_avg_bw
            50,548,465      cpa_p0_wr_dat
             7,552,182      cpa_p0_rd_dat_64b
                     0      cpa_p0_rd_dat_32b

           6.234139320 seconds time elapsed

Data type profiling:

 - Quality improvements by tracking register state more precisely.
 - Ensure array members to get the type.
 - Handle more cases for global variables.

Vendor event/metric updates:

 - Update various Intel events and metrics
 - Add NVIDIA Tegra 410 Olympus events

Internal changes:

 - Verify perf.data header for maliciously crafted files.
 - Update perf test to cover more usages and make them robust.
 - Move a couple of copied kernel headers not to annoy objtool build.
 - Fix a bug in map sorting in name order.
 - Remove some unused codes.

Misc:

 - Fix module symbol resolution with non-zero text address.
 - Add -t/--threads option to `perf bench mem mmap`.
 - Track duration of exit*() syscall by `perf trace -s`.
 - Add core.addr2line-timeout and core.addr2line-disable-warn config
   items.

Signed-off-by: Namhyung Kim <[email protected]>

17 Apr 2026: hwspinlock updates for v7.1 [+ + +]
hwspinlock updates for v7.1

Remove the unused u8500 hardware spinlock driver, and clean out the
hwspinlock_pdata struct as this was the last user of the struct.

17 Apr 2026: rpmsg updates for v7.1 [+ + +]
rpmsg updates for v7.1

Mark "data" argument in rpmsg_send() const, and perculate to related
drivers. Replace deprecated class_destroy() with class_unregister().

17 Apr 2026: remoteproc updates for v7.1 [+ + +]
remoteproc updates for v7.1

Move requesting of IRQs in TI Keystone driver to probe time instead of
remoteproc start, to allow better handling of errors.

Introduce support for more than 10 entries in the Qualcomm minidump
implementation.

Add audio DSP remoteproc support for the Qualcomm Eliza platform. Add
modem remoteproc support for the Qualcomm MDM9607, MSM8917, MSM8937, and
MSM8940 platforms.

Add list of Qualcomm QMI service ids to the QMI header file, in order to
avoid sprinkling them across the various drivers using them. Migrate
sysmon to use this constant.

Fix several issues related to DeviceTree parsing and mailbox handling in
the Xilinx R5F remote processor driver.

Fix incorrect error checks in reserved memory handling and polish the
code across i.MX and TI drivers.

17 Apr 2026: Devicetree updates for v7.1 [+ + +]

There's a couple of conflicts now with your current tree. linux-next has 
the correct resolutions.

Rob


Devicetree updates for v7.1:

DT core:
- Cleanup of the reserved memory code to keep CMA specifics in CMA code

- Add and convert several users to new of_machine_get_match() helper

- Validate nul termination in string properties

- Update dtc to upstream v1.7.2-69-g53373d135579

- Limit matching reserved memory devices to /reserved-memory nodes

- Fix some UAF in unittests

- Remove Baikal SoC bus driver

- Fix false DT_SPLIT_BINDING_PATCH checkpatch warning

- Allow fw_devlink device-tree on x86

- Fix kerneldoc return description for of_property_count_elems_of_size()

DT bindings:
- Add fsl,imx25-aips, fsl,imx25-tcq, qcom,eliza-pdc,
  qcom,eliza-spmi-pmic-arb, qcom,hawi-imem, qcom,milos-imem,
  qcom,hawi-pdc, and lg,sw49410 bindings

- Convert arm,vexpress-scc to DT schema

- Deprecate Qualcomm generic CPU compatibles. Add Apple M3 CPU cores.

- Move some dual-link display panels to the dual-link schema

- Drop mux controller node name constraints

- Remove Baikal SoC bus bindings

- Fix a false warning in the thermal trip node binding

17 Apr 2026: probes: Updates for v7.1 [+ + +]
Probes updates for v7.1

- fprobe: do not zero out unused fgraph_data. This removes unneeded
  memset of fgraph_data in fprobe entry handler.




probes-v7.1

17 Apr 2026: bootconfig: Updates for v7.1 [+ + +]
Bootconfig for v7.1:

- bootconfig: Minor fixes for handling errors, which includes
  the following commits:
 . fix off-by-one in xbc_verify_tree() next node check
 . increment xbc_node_num after node init succeeds
 . validate child node index in xbc_verify_tree()

- bootconfig: Code cleanups (mainly type/attribute changes), which
   includes the following commits.
 . clean up comment typos and bracing
 . drop redundant memset of xbc_nodes
 . replace linux/kernel.h with specific includes
 . narrow flag parameter type from uint32_t to uint16_t
 . constify xbc_calc_checksum() data parameter
 . fix signed comparison in xbc_node_get_data()
 . use size_t for strlen result in xbc_node_match_prefix()
 . use signed type for offset in xbc_init_node()
 . use size_t for key length tracking in xbc_verify_tree()
 . change xbc_node_index() return type to uint16_t




bootconfig-v7.1

17 Apr 2026: soc branches for 7.1 [+ + +]
This is another larger set of changes from the soc tree after a rather
quiet 7.0 merge window. In total, we merged 88 branches with over
1000 non-merge changesets, in large parts due to massive devicetree
updates on both Qualcomm and NXP platforms. These include a total of
12 new SoCs, all of them part of an already supported chip family.

The most active contributors by number of patches were

     43 Krzysztof Kozlowski
     27 Frank Li
     26 Dmitry Baryshkov
     25 Alexander Stein
     23 Marek Vasut
     20 Thierry Reding
     18 Josua Mayer
     17 Stefano Radaelli
     17 Sherry Sun
     17 Fabio Estevam
     17 Bartosz Golaszewski
     17 Abel Vesa
     16 Luca Weiss
     16 Barnab=C3=A1s Cz=C3=A9m=C3=A1n
     14 Konrad Dybcio
     13 Lad Prabhakar
     13 Gatien Chevallier
     12 Francesco Dolcini
     11 Svyatoslav Ryhel
     11 Rosen Penev
     11 Jon Hunter
     11 Christophe Parant

and this is the corresponding dirstat:

   0.8% Documentation/devicetree/bindings/arm/
   0.9% Documentation/devicetree/bindings/clock/
   0.3% Documentation/devicetree/bindings/soc/
   0.7% Documentation/devicetree/bindings/
   0.2% arch/arm/boot/dts/aspeed/
   0.3% arch/arm/boot/dts/broadcom/
   0.4% arch/arm/boot/dts/nvidia/
   2.7% arch/arm/boot/dts/nxp/imx/
   0.9% arch/arm/boot/dts/qcom/
   0.2% arch/arm/boot/dts/renesas/
   1.0% arch/arm/boot/dts/rockchip/
   0.4% arch/arm/boot/dts/samsung/
   2.1% arch/arm/boot/dts/st/
   1.1% arch/arm/boot/dts/ti/omap/
   0.2% arch/arm/
   0.3% arch/arm64/boot/dts/allwinner/
   0.9% arch/arm64/boot/dts/arm/
   0.2% arch/arm64/boot/dts/broadcom/
   0.3% arch/arm64/boot/dts/exynos/axis/
   0.5% arch/arm64/boot/dts/exynos/google/
   1.0% arch/arm64/boot/dts/exynos/
  17.4% arch/arm64/boot/dts/freescale/
   1.1% arch/arm64/boot/dts/microchip/
   0.6% arch/arm64/boot/dts/nvidia/
  37.2% arch/arm64/boot/dts/qcom/
   1.4% arch/arm64/boot/dts/renesas/
   2.1% arch/arm64/boot/dts/rockchip/
   0.3% arch/arm64/boot/dts/st/
   3.3% arch/arm64/boot/dts/ti/
   0.4% arch/arm64/boot/dts/
   1.5% arch/riscv/boot/dts/microchip/
   0.8% arch/riscv/boot/dts/spacemit/
   0.4% drivers/bus/
   0.3% drivers/firmware/
   1.1% drivers/memory/tegra/
   0.3% drivers/memory/
   1.8% drivers/reset/
   0.2% drivers/soc/microchip/
   0.5% drivers/soc/qcom/
   0.2% drivers/soc/tegra/cbb/
   1.3% drivers/soc/tegra/
   0.3% drivers/
   1.4% include/dt-bindings/clock/
   0.5% include/dt-bindings/reset/
   0.3% include/linux/
   7.4% include/soc/tegra/
 977 files changed, 90981 insertions(+), 15252 deletions(-)

 
16 Apr 2026: dma-mapping updates for Linux 7.1 [+ + +]
dma-mapping updates for Linux 7.0:

- added support for batched cache sync, what improves performance of
  dma_map/unmap_sg() operations on ARM64 architecture (Barry Song)

- introduced DMA_ATTR_CC_SHARED attribute for explicitly shared memory
  used in confidential computing (Jiri Pirko)

- refactored spaghetti-like code in drivers/of/of_reserved_mem.c and its
  clients (Marek Szyprowski, shared branch with device-tree updates to
  avoid merge conflicts)

- prepared Contiguous Memory Allocator related code for making dma-buf
  drivers modularized (Maxime Ripard)

- added support for benchmarking dma_map_sg() calls to tools/dma utility
  (Qinxin Xia)

16 Apr 2026: alpha updates for v7.1 [+ + +]
This pull request contains two alpha patches: one fix to silence
pgprot_modify() compiler warnings, and one patch adding
SECCOMP/SECCOMP_FILTER support together with the syscall and ptrace
fixes needed for it.

alpha updates for v7.1

- alpha: Define pgprot_modify to silence tautological comparison warnings
- alpha: add support for SECCOMP and SECCOMP_FILTER

16 Apr 2026: HID susbsytem queue for 7.1 [+ + +]
please pull from

nus-2026041601

to receive HID susbsytem queue for 7.1 merge window, namely:

=3D=3D=3D=3D=3D
Core:
- fixed handling of 0-sized reports (Dmitry Torokhov)
- convert core code to __free() (Dmitry Torokhov)
- support for multiple batteries per HID device (Lucas Zampieri)

Drivers:
- support for rubmle effects in winwing driver (Ivan Gorinov)
- new support for a variety of Sony Rock Band and Sony DJ Hero Turntable=20
  devices (Rosalie Wanders)
- new driver for Lenovo Legion Go / S devices (Derek J. Clark)
- power management improvements to intel-thc-hid driver (Even Xu)

- other assorted cleanups, fixes and device-specific quirks
=3D=3D=3D=3D=3D

Thanks.

16 Apr 2026: hte: Changes for v7.1-rc1 [+ + +]
hte: changes for v7.1-rc1

The changes for the hte/timestamp subsystem include the following:

- Add tegra264 HTE driver and dt binding support
- Remove tegra194 SoC Kconfig dependency
- Replace use of system_unbound_wq with system_dfl_wq

16 Apr 2026: Stop-machine changes for v7.1 [+ + +]

  # HEAD 48f7a50c027dd2abb9e7b8a6ecc8e531d87f2c21: stop_machine: Fix the documentation for a NULL cpus argument (2026-03-03 15:35:51 -0800)

Stop-machine pull request for v7.1

This pull request contains kernel-doc updates for the stop_machine()
and stop_machine_cpuslocked() functions.

16 Apr 2026: non-MM updates for 7.1-rc1 [+ + +]
cycle, thanks.

I'm seeing one conflict at this time, in fs/ocfs2/dir.c.  The
linux-next resolution is at
https://lore.kernel.org/[email protected].

(Looks nasty, but a peek at 0b2600f81cefc shows what's going on).



mm.git review status for linus..mm-nonmm-stable

Total patches:       126
Reviews/patch:       0.92
Reviewed rate:       76%

- The 2 patch series "pid: make sub-init creation retryable" from Oleg
  Nesterov increases the robustness of our creation of init in a new
  namespace.  By clearing away some historical cruft which is no longer
  needed.  Also some documentation fixups are provided.

- The 2 patch series "selftests/fchmodat2: Error handling and general"
  from Mark Brown has a fixup and a cleanup for the fchmodat2() syscall
  selftest.

- The 3 patch series "lib: polynomial: Move to math/ and clean up" from
  Andy Shevchenko does as advertised.

- The 3 patch series "hung_task: Provide runtime reset interface for
  hung task detector" from Aaron Tomlin gives administrators the ability
  to zero out /proc/sys/kernel/hung_task_detect_count.

- The 2 patch series "tools/getdelays: use the static UAPI headers from
  tools/include/uapi" from Thomas Wei=DFschuh teaches getdelays to use the
  in-kernel UAPI headers rather than the system-provided ones.

- The 5 patch series "watchdog/hardlockup: Improvements to hardlockup"
  from Mayank Rungta provides several cleanups and fixups to the
  hardlockup detector code and its documentation.

- The 2 patch series "lib/bch: fix undefined behavior from signed
  left-shifts" from Josh Law provides a couple of small/theoretical fixes
  in the bch code.

- The 2 patch series "ocfs2/dlm: fix two bugs in dlm_match_regions()"
  from Junrui Luo does what is claims.

- The 27 patch series "cleanup the RAID5 XOR library" from Christoph
  Hellwig is a quite far-reaching cleanup to this code.  I can't do better
  than to quote Christoph:

    The XOR library used for the RAID5 parity is a bit of a mess right
    now.  The main file sits in crypto/ despite not being cryptography and
    not using the crypto API, with the generic implementations sitting in
    include/asm-generic and the arch implementations sitting in an asm/
    header in theory.  The latter doesn't work for many cases, so
    architectures often build the code directly into the core kernel, or
    create another module for the architecture code.

    Change this to a single module in lib/ that also contains the
    architecture optimizations, similar to the library work Eric Biggers
    has done for the CRC and crypto libraries later.  After that it
    changes to better calling conventions that allow for smarter
    architecture implementations (although none is contained here yet),
    and uses static_call to avoid indirection function call overhead.

- The 2 patch series "lib/list_sort: Clean up list_sort() scheduling
  workarounds" from Kuan-Wei Chiu cleans up this library code by removing
  a hacky thing which was added for UBIFS, which UBIFS doesn't actually
  need.

- The 5 patch series "Fix bugs in extract_iter_to_sg()" from Christian
  Ehrhardt fixes a few bugs in the scatterlist code, adds in-kernel tests
  for the now-fixed bugs and fixes a leak in the test itself.

- The 3 patch series "kdump: Enable LUKS-encrypted dump target support
  in ARM64 and PowerPC" from Coiby Xu eenables support of the
  LUKS-encrypted device dump target on arm64 and powerpc.

- The 4 patch series "ocfs2: consolidate extent list validation into
  block read callbacks" from Joseph Qi addresses ocfs2's validation of
  extent list fields - cleanup, simplification, robustness.  (Kernel test
  robot loves mounting corrupted fs images!)

16 Apr 2026: KVM changes for Linux 7.1 [+ + +]
Arm:

- Add support for tracing in the standalone EL2 hypervisor code, which
  should help both debugging and performance analysis.  This uses the
  new infrastructure for 'remote' trace buffers that can be exposed
  by non-kernel entities such as firmware, and which came through the
  tracing tree.

- Add support for GICv5 Per Processor Interrupts (PPIs), as the starting
  point for supporting the new GIC architecture in KVM.

- Finally add support for pKVM protected guests, where pages are unmapped
  from the host as they are faulted into the guest and can be shared back
  from the guest using pKVM hypercalls.  Protected guests are created
  using a new machine type identifier.  As the elusive guestmem has not
  yet delivered on its promises, anonymous memory is also supported.

  This is only a first step towards full isolation from the host; for
  example, the CPU register state and DMA accesses are not yet isolated.
  Because this does not really yet bring fully what it promises, it is
  hidden behind CONFIG_ARM_PKVM_GUEST + 'kvm-arm.mode=protected', and
  also triggers TAINT_USER when a VM is created.  Caveat emptor.

- Rework the dreaded user_mem_abort() function to make it more
  maintainable, reducing the amount of state being exposed to the
  various helpers and rendering a substantial amount of state immutable.

- Expand the Stage-2 page table dumper to support NV shadow page tables
  on a per-VM basis.

- Tidy up the pKVM PSCI proxy code to be slightly less hard to follow.

- Fix both SPE and TRBE in non-VHE configurations so that they do not
  generate spurious, out of context table walks that ultimately lead
  to very bad HW lockups.

- A small set of patches fixing the Stage-2 MMU freeing in error cases.

- Tighten-up accepted SMC immediate value to be only #0 for host
  SMCCC calls.

- The usual cleanups and other selftest churn.

LoongArch:

- Use CSR_CRMD_PLV for kvm_arch_vcpu_in_kernel().

- Add DMSINTC irqchip in kernel support.

RISC-V:

- Fix steal time shared memory alignment checks

- Fix vector context allocation leak

- Fix array out-of-bounds in pmu_ctr_read() and pmu_fw_ctr_read_hi()

- Fix double-free of sdata in kvm_pmu_clear_snapshot_area()

- Fix integer overflow in kvm_pmu_validate_counter_mask()

- Fix shift-out-of-bounds in make_xfence_request()

- Fix lost write protection on huge pages during dirty logging

- Split huge pages during fault handling for dirty logging

- Skip CSR restore if VCPU is reloaded on the same core

- Implement kvm_arch_has_default_irqchip() for KVM selftests

- Factored-out ISA checks into separate sources

- Added hideleg to struct kvm_vcpu_config

- Factored-out VCPU config into separate sources

- Support configuration of per-VM HGATP mode from KVM user space

s390:

- Support for ESA (31-bit) guests inside nested hypervisors.

- Remove restriction on memslot alignment, which is not needed anymore with
  the new gmap code.

- Fix LPSW/E to update the bear (which of course is the breaking event
  address register).

x86:

- Shut up various UBSAN warnings on reading module parameter before they
  were initialized.

- Don't zero-allocate page tables that are used for splitting hugepages in
  the TDP MMU, as KVM is guaranteed to set all SPTEs in the page table and
  thus write all bytes.

- As an optimization, bail early when trying to unsync 4KiB mappings if the
  target gfn can just be mapped with a 2MiB hugepage.

x86 generic:

- Copy single-chunk MMIO write values into struct kvm_vcpu (more precisely
  struct kvm_mmio_fragment) to fix use-after-free stack bugs where KVM
  would dereference stack pointer after an exit to userspace.

- Clean up and comment the emulated MMIO code to try to make it easier to
  maintain (not necessarily "easy", but "easier").

- Move VMXON+VMXOFF and EFER.SVME toggling out of KVM (not *all* of VMX
  and SVM enabling) as it is needed for trusted I/O.

- Advertise support for AVX512 Bit Matrix Multiply (BMM) instructions

- Immediately fail the build if a required #define is missing in one of
  KVM's headers that is included multiple times.

- Reject SET_GUEST_DEBUG with -EBUSY if there's an already injected
  exception, mostly to prevent syzkaller from abusing the uAPI to
  trigger WARNs, but also because it can help prevent userspace from
  unintentionally crashing the VM.

- Exempt SMM from CPUID faulting on Intel, as per the spec.

- Misc hardening and cleanup changes.

x86 (AMD):

- Fix and optimize IRQ window inhibit handling for AVIC; make it per-vCPU
  so that KVM doesn't prematurely re-enable AVIC if multiple
  vCPUs have to-be-injected IRQs.

- Clean up and optimize the OSVW handling, avoiding a bug in which KVM would
  overwrite state when enabling virtualization on multiple CPUs in parallel.
  This should not be a problem because OSVW should usually be the same for
  all CPUs.

- Drop a WARN in KVM_MEMORY_ENCRYPT_REG_REGION where KVM complains about a
  "too large" size based purely on user input.

- Clean up and harden the pinning code for KVM_MEMORY_ENCRYPT_REG_REGION.

- Disallow synchronizing a VMSA of an already-launched/encrypted vCPU, as
  doing so for an SNP guest will crash the host due to an RMP violation
  page fault.

- Overhaul KVM's APIs for detecting SEV+ guests so that VM-scoped queries
  are required to hold kvm->lock, and enforce it by lockdep.  Fix various
  bugs where sev_guest() was not ensured to be stable for the whole
  duration of a function or ioctl.

- Convert a pile of kvm->lock SEV code to guard().

- Play nicer with userspace that does not enable KVM_CAP_EXCEPTION_PAYLOAD,
  for which KVM needs to set CR2 and DR6 as a response to ioctls such as
  KVM_GET_VCPU_EVENTS (even if the payload would end up in EXITINFO2
  rather than CR2, for example).  Only set CR2 and DR6 when consumption of
  the payload is imminent, but on the other hand force delivery of the
  payload in all paths where userspace retrieves CR2 or DR6.

- Use vcpu->arch.cr2 when updating vmcb12's CR2 on nested #VMEXIT instead
  of vmcb02->save.cr2.  The value is out of sync after a save/restore
  or after a #PF is injected into L2.

- Fix a class of nSVM bugs where some fields written by the CPU are not
  synchronized from vmcb02 to cached vmcb12 after VMRUN, and so are not
  up-to-date when saved by KVM_GET_NESTED_STATE.

- Fix a class of bugs where the ordering between KVM_SET_NESTED_STATE and
  KVM_SET_{S}REGS could cause vmcb02 to be incorrectly initialized after
  save+restore.

- Add a variety of missing nSVM consistency checks.

- Fix several bugs where KVM failed to correctly update VMCB fields on
  nested #VMEXIT.

- Fix several bugs where KVM failed to correctly synthesize #UD or #GP for
  SVM-related instructions.

- Add support for save+restore of virtualized LBRs (on SVM).

- Refactor various helpers and macros to improve clarity and (hopefully)
  make the code easier to maintain.

- Aggressively sanitize fields when copying from vmcb12, to guard against
  unintentionally allowing L1 to utilize yet-to-be-defined features.

- Fix several bugs where KVM botched rAX legality checks when emulating SVM
  instructions.  There are remaining issues in that KVM doesn't handle size
  prefix overrides for 64-bit guests.

- Fail emulation of VMRUN/VMLOAD/VMSAVE if mapping vmcb12 fails instead of
  somewhat arbitrarily synthesizing #GP (i.e. don't double down on AMD's
  architectural but sketchy behavior of generating #GP for "unsupported"
  addresses).

- Cache all used vmcb12 fields to further harden against TOCTOU bugs.

x86 (Intel):

- Drop obsolete branch hint prefixes from the VMX instruction macros.

- Use ASM_INPUT_RM() in __vmcs_writel() to coerce clang into using a
  register input when appropriate.

- Code cleanups.

guest_memfd:

- Don't mark guest_memfd folios as accessed, as guest_memfd doesn't support
  reclaim, the memory is unevictable, and there is no storage to write
  back to.

LoongArch selftests:

- Add KVM PMU test cases

s390 selftests:

- Enable more memory selftests.

x86 selftests:

- Add support for Hygon CPUs in KVM selftests.

- Fix a bug in the MSR test where it would get false failures on AMD/Hygon
  CPUs with exactly one of RDPID or RDTSCP.

- Add an MADV_COLLAPSE testcase for guest_memfd as a regression test for a
  bug where the kernel would attempt to collapse guest_memfd folios against
  KVM's will.

 
17 Apr 2026: ntfs updates for 7.1-rc1 [+ + +]
Ever since Kari Argillander=E2=80=99s 2022 report regarding the "orphan" st=
ate
of the ntfs3 driver, I have spent the last 4 years working to provide
full write support and current trends(iomap, no buffer head, folio),
enhanced performance, stable maintenance, utility support including
fsck for NTFS in Linux. This new implementation is built upon the
clean foundation of the original read-only NTFS driver, adding:

- Full write support with delayed allocation.
- iomap and folio integration (removing buffer_head dependency).
- Better stability (passing 326 xfstests vs 273 for ntfs3).
- Come with a new suite of userspace utilities (ntfsprogs-plus).

The series has been reviewed and carries an Acked-by from Christoph Hellwig=
.

This series has been in linux-next for approximately two months. During
that time, additional fixes from Smatch static analysis and the patches
from other developers have been incorporated, including two build fixes
from Mark Brown(VMA descriptor rename and inode lookup u64 change) that
were picked up from linux-next.

Major changes:

- Write support:
  Implemented full write support based on the classic read-only NTFS
  driver. Added delayed allocation to improve write performance through
  multi-cluster allocation and reduced fragmentation of the cluster
  bitmap.

- iomap conversion:
  Switched buffered IO (reads/writes), direct IO, file extent mapping,
  readpages, and writepages to use iomap.

- Remove buffer_head:
  Completely removed buffer_head usage by converting to folios.
  As a result, the dependency on CONFIG_BUFFER_HEAD has been removed
  from Kconfig.

- Stability improvements:
  The new ntfs driver passes 326 xfstests, compared to 273 for ntfs3.
  All tests passed by ntfs3 are a complete subset of the tests passed
  by this implementation. Added support for fallocate, idmapped mounts,
  permissions, and more.

- xfstests Results report:
  Total tests run: 787
  Passed         : 326
  Failed         : 38
  Skipped        : 423

Failed tests breakdown:
  - 34 tests require metadata journaling
  - 4 other tests:
      094: No unwritten extent concept in NTFS on-disk format
      563: cgroup v2 aware writeback accounting not supported
      631: RENAME_WHITEOUT support required
      787: NFS delegation test

 
16 Apr 2026: tracing: Updates for v7.1 [+ + +]

*** NOTE ***
This has a conflict with your current tree. I did a merge and pushed a
branch to my tree "merge/upstream". The file kernel/trace/trace.c has a
conflict and kernel/trace/trace.h has a mis-merge (adds a prototype
that was already added to the header by an upstream commit).
*** NOTE ***

tracing updates for v7.1:

- Fix printf format warning for bprintf

  sunrpc uses a trace_printk() that triggers a printf warning during the
  compile. Move the __printf() attribute around for when debugging is not
  enabled the warning will go away.

- Remove redundant check for EVENT_FILE_FL_FREED in event_filter_write()

  The FREED flag is checked in the call to event_file_file() and then
  checked again right afterward, which is unneeded.

- Clean up event_file_file() and event_file_data() helpers

  These helper functions played a different role in the past, but now with
  eventfs, the READ_ONCE() isn't needed. Simplify the code a bit and also
  add a warning to event_file_data() if the file or its data is not present.

- Remove updating file->private_data in tracing open

  All access to the file private data is handled by the helper functions,
  which do not use file->private_data. Stop updating it on open.

- Show ENUM names in function arguments via BTF in function tracing

  When showing the function arguments when func-args option is set for
  function tracing, if one of the arguments is found to be an enum, show the
  name of the enum instead of its number.

- Add new trace_call__##name() API for tracepoints

  Tracepoints are enabled via static_branch() blocks, where when not
  enabled, there's only a nop that is in the code where the execution will
  just skip over it. When tracing is enabled, the nop is converted to a
  direct jump to the tracepoint code. Sometimes more calculations are
  required to be performed to update the parameters of the tracepoint. In
  this case, trace_##name##_enabled() is called which is a static_branch()
  that gets enabled only when the tracepoint is enabled. This allows the
  extra calculations to also be skipped by the nop:

  if (trace_foo_enabled()) {
      x = bar();
      trace_foo(x);
  }

  Where the x=bar() is only performed when foo is enabled. The problem with
  this approach is that there's now two static_branch() calls. One for
  checking if the tracepoint is enabled, and then again to know if the
  tracepoint should be called. The second one is redundant.

  Introduce trace_call__foo() that will call the foo() tracepoint directly
  without doing a static_branch():

  if (trace_foo_enabled()) {
      x = bar();
      trace_call__foo();
  }

- Update various locations to use the new trace_call__##name() API

- Move snapshot code out of trace.c

  Cleaning up trace.c to not be a "dump all", move the snapshot code out of
  it and into a new trace_snapshot.c file.

- Clean up some "%*.s" to "%*s"

- Allow boot kernel command line options to be called multiple times

  Have options like:

    ftrace_filter=foo ftrace_filter=bar ftrace_filter=zoo

  Equal to:

    ftrace_filter=foo,bar,zoo

- Fix ipi_raise event CPU field to be a CPU field

  The ipi_raise target_cpus field is defined as a __bitmask(). There is now a
  __cpumask() field definition. Update the field to use that.

- Have hist_field_name() use a snprintf() and not a series of strcat()

  It's safer to use snprintf() that a series of strcat().

- Fix tracepoint regfunc balancing

  A tracepoint can define a "reg" and "unreg" function that gets called
  before the tracepoint is enabled, and after it is disabled respectively.
  But on error, after the "reg" func is called and the tracepoint is not
  enabled, the "unreg" function is not called to tear down what the "reg"
  function performed.

- Fix output that shows what histograms are enabled

  Event variables are displayed incorrectly in the histogram output.

  Instead of "sched.sched_wakeup.$var", it is showing
  "$sched.sched_wakeup.var" where the '$' is in the incorrect location.

- Some other simple cleanups.




trace-v7.1

16 Apr 2026: livepatching for 7.1 [+ + +]
please pull the latest livepatching changes from



- Add two new selftests.

16 Apr 2026: m68k updates for v7.1 [+ + +]
m68k updates for v7.1

  - Add support for QEMU virt-ctrl, and use it for system reset and
    power off on the virt platform,
  - Defconfig updates,
  - Miscellaneous fixes and improvements.

Thanks for pulling!

P.S. This PR is sent out a bit later than usual, due to the build
     bots reporting an issue last weekend, which is now fixed.
 
15 Apr 2026: VFIO updates for v7.1-rc1 [+ + +]
VFIO updates for v7.1-rc1

 - Update QAT vfio-pci variant driver for Gen 5, 420xx devices.
   (Vijay Sundar Selvamani, Suman Kumar Chakraborty, Giovanni Cabiddu)

 - Fix vfio selftest MMIO DMA mapping selftest. (Alex Mastro)

 - Conversions to const struct class in support of class_create()
   deprecation. (Jori Koolstra)

 - Improve selftest compiler compatibility by avoiding initializer
   on variable-length array. (Manish Honap)

 - Define new uAPI for drivers supporting migration to advise user-
   space of new initial data for reducing target startup latency.
   Implemented for mlx5 vfio-pci variant driver. (Yishai Hadas)

 - Enable vfio selftests on aarch64, not just cross-compiles reporting
   arm64. (Ted Logan)

 - Update vfio selftest driver support to include additional DSA
   devices. (Yi Lai)

 - Unconditionally include debugfs root pointer in vfio device struct,
   avoiding a build failure seen in hisi_acc variant driver without
   debugfs otherwise. (Arnd Bergmann)

 - Add support for the s390 ISM (Internal Shared Memory) device via
   a new variant driver.  The device is unique in the size of its BAR
   space (256TiB) and lack of mmap support. (Julian Ruess)

 - Enforce that vfio-pci drivers implement a name in their ops
   structure for use in sequestering SR-IOV VFs. (Alex Williamson)

 - Prune leftover group notifier code. (Paolo Bonzini)

 - Fix Xe vfio-pci variant driver to avoid migration support as a
   dependency in the reset path and missing release call.
   (Micha=C5=82 Winiarski)

15 Apr 2026: PCI changes for v7.1 [+ + +]
Enumeration:

  - Allow TLP Processing Hints to be enabled for RCiEPs (George Abraham P)

  - Enable AtomicOps only if we know the Root Port supports them (Gerd
    Bayer)

  - Don't enable AtomicOps for RCiEPs since none of them need Atomic Ops
    and we can't tell whether the Root Complex would support them (Gerd
    Bayer)

  - Leave Precision Time Measurement disabled until a driver enables it to
    avoid PCIe errors (Mika Westerberg)

  - Make pci_set_vga_state() fail if bridge doesn't support VGA routing,
    i.e., PCI_BRIDGE_CTL_VGA is not writable, and return errors to
    vga_get() callers including userspace via /dev/vga_arbiter (Simon
    Richter)

  - Validate max-link-speed from DT in j721e, brcmstb, mediatek-gen3, rzg3s
    drivers (where the actual controller constraints are known), and remove
    validation from the generic OF DT accessor (Hans Zhang)

  - Remove pc110pad driver (no longer useful after 486 CPU support removed)
    and no_pci_devices() (pc110pad was the last user) (Dmitry
    Torokhov, Heiner Kallweit)

Resource management:

  - Prevent assigning space to unimplemented bridge windows; previously we
    mistakenly assumed prefetchable window existed and assigned space and
    put a BAR there (Ahmed Naseef)

  - Avoid shrinking bridge windows to fit in the initial Root Port window;
    fixes one problem with devices with large BARs connected via switches,
    e.g., Thunderbolt (Ilpo Järvinen)

  - Pass full extent of empty space, not just the aligned space, to
    resource_alignf callback so free space before the requested alignment
    can be used (Ilpo Järvinen)

  - Place small resources before larger ones for better utilization of
    address space (Ilpo Järvinen)

  - Fix alignment calculation for resource size larger than align, e.g.,
    bridge windows larger than the 1MB required alignment (Ilpo Järvinen)

Reset:

  - Update slot handling so all ARI functions are treated as being in the
    same slot.  They're all reset by Secondary Bus Reset, but previously
    drivers of ARI functions that appeared to be on a non-zero device
    weren't notified and fatal hardware errors could result (Keith Busch)

  - Make sysfs reset_subordinate hotplug safe to avoid spurious hotplug
    events (Keith Busch)

  - Hide Secondary Bus Reset ('bus') from sysfs reset_methods if masked by
    CXL because it has no effect (Vidya Sagar)

  - Avoid FLR for AMD NPU device, where it causes the device to hang (Lizhi
    Hou)

Error handling:

  - Clear only error bits in PCIe Device Status to avoid accidentally
    clearing Emergency Power Reduction Detected (Shuai Xue)

  - Check for AER errors even in devices without drivers (Lukas Wunner)

  - Initialize ratelimit info so DPC and EDR paths log AER error
    information (Kuppuswamy Sathyanarayanan)

Power control:

  - Add UPD720201/UPD720202 USB 3.0 xHCI Host Controller .compatible so
    generic pwrctrl driver can control it (Neil Armstrong)

Hotplug:

  - Set LED_HW_PLUGGABLE for NPEM hotplug-capable ports so LED core doesn't
    complain when setting brightness fails because the endpoint is gone
    (Richard Cheng)

Peer-to-peer DMA:

  - Allow wildcards in list of host bridges that support peer-to-peer DMA
    between hierarchy domains and add all Google SoCs (Jacob Moroni)

Endpoint framework:

  - Advertise dynamic inbound mapping support in pci-epf-test and update
    host pci_endpoint_test to skip doorbell testing if not advertised by
    endpoint (Koichiro Den)

  - Return 0, not remaining timeout, when MHI eDMA ops complete so
    mhi_ep_ring_add_element() doesn't interpret non-zero as failure (Daniel
    Hodges)

  - Remove vntb and ntb duplicate resource teardown that leads to oops when
    .allow_link() fails or .drop_link() is called (Koichiro Den)

  - Disable vntb delayed work before clearing BAR mappings and doorbells to
    avoid oops caused by doing the work after resources have been torn down
    (Koichiro Den)

  - Add a way to describe reserved subregions within BARs, e.g.,
    platform-owned fixed register windows, and use it for the RK3588 BAR4
    DMA ctrl window (Koichiro Den)

  - Add BAR_DISABLED for BARs that will never be available to an EPF
    driver, and change some BAR_RESERVED annotations to BAR_DISABLED
    (Niklas Cassel)

  - Add NTB .get_dma_dev() callback for cases where DMA API requires a
    different device, e.g., vNTB devices (Koichiro Den)

  - Add reserved region types for MSI-X Table and PBA so Endpoint
    controllers can them as describe hardware-owned regions in a
    BAR_RESERVED BAR (Manikanta Maddireddy)

  - Make Tegra194/234 BAR0 programmable and remove 1MB size limit
    (Manikanta Maddireddy)

  - Expose Tegra BAR2 (MSI-X) and BAR4 (DMA) as 64-bit BAR_RESERVED
    (Manikanta Maddireddy)

  - Add Tegra194 and Tegra234 device table entries to pci_endpoint_test
    (Manikanta Maddireddy)

  - Skip the BAR subrange selftest if there are not enough inbound window
    resources to run the test (Christian Bruel)

New native PCIe controller drivers:

  - Add DT binding and driver for Andes QiLai SoC PCIe host controller
    (Randolph Lin)

  - Add DT binding and driver for ESWIN PCIe Root Complex (Senchuan Zhang)

Baikal T-1 PCIe controller driver:

  - Remove driver since it never quite became usable (Andy Shevchenko)

Cadence PCIe controller driver:

  - Implement byte/word config reads with dword (32-bit) reads because some
    Cadence controllers don't support sub-dword accesses (Aksh Garg)

CIX Sky1 PCIe controller driver:

  - Add 'power-domains' to DT binding for SCMI power domain (Gary Yang)

Freescale i.MX6 PCIe controller driver:

  - Add i.MX94 and i.MX943 to fsl,imx6q-pcie-ep DT binding (Richard Zhu)

  - Delay instead of polling for L2/L3 Ready after PME_Turn_off when
    suspending i.MX6SX because LTSSM registers are inaccessible (Richard
    Zhu)

  - Separate PERST# assertion (for resetting endpoints) from core reset
    (for resetting the RC itself) to prepare for new DTs with PERST# GPIO
    in per-Root Port nodes (Sherry Sun)

  - Retain Root Port MSI capability on i.MX7D, i.MX8MM, and i.MX8MQ so MSI
    from downstream devices will work (Richard Zhu)

  - Fix i.MX95 reference clock source selection when internal refclk is
    used (Franz Schnyder)

Freescale Layerscape PCIe controller driver:

  - Allow building as a removable module (Sascha Hauer)

MediaTek PCIe Gen3 controller driver:

  - Use dev_err_probe() to simplify error paths and make deferred probe
    messages visible in /sys/kernel/debug/devices_deferred (Chen-Yu Tsai)

  - Power off device if setup fails (Chen-Yu Tsai)

  - Integrate new pwrctrl API to enable power control for WiFi/BT adapters
    on mainboard or in PCIe or M.2 slots (Chen-Yu Tsai)

NVIDIA Tegra194 PCIe controller driver:

  - Poll less aggressively and non-atomically for PME_TO_Ack during
    transition to L2 (Vidya Sagar)

  - Disable LTSSM after transition to Detect on surprise link down to stop
    toggling between Polling and Detect (Manikanta Maddireddy)

  - Don't force the device into the D0 state before L2 when suspending or
    shutting down the controller (Vidya Sagar)

  - Disable PERST# IRQ only in Endpoint mode because it's not registered in
    Root Port mode (Manikanta Maddireddy)

  - Handle 'nvidia,refclk-select' as optional (Vidya Sagar)

  - Disable direct speed change in Endpoint mode so link speed change is
    controlled by the host (Vidya Sagar)

  - Set LTR values before link up to avoid bogus LTR messages with 0
    latency (Vidya Sagar)

  - Allow system suspend when the Endpoint link is down (Vidya Sagar)

  - Use DWC IP core version, not Tegra custom values, to avoid DWC core
    version check warnings (Manikanta Maddireddy)

  - Apply ECRC workaround to devices based on DesignWare 5.00a as well as
    4.90a (Manikanta Maddireddy)

  - Disable PM Substate L1.2 in Endpoint mode to work around Tegra234
    erratum (Vidya Sagar)

  - Delay post-PERST# cleanup until core is powered on to avoid CBB timeout
    (Manikanta Maddireddy)

  - Assert CLKREQ# so switches that forward it to their downstream side can
    bring up those links successfully (Vidya Sagar)

  - Calibrate pipe to UPHY for Endpoint mode to reset stale PLL state from
    any previous bad link state (Vidya Sagar)

  - Remove IRQF_ONESHOT flag from Endpoint interrupt registration so DMA
    driver and Endpoint controller driver can share the interrupt line
    (Vidya Sagar)

  - Enable DMA interrupt to support DMA in both Root Port and Endpoint
    modes (Vidya Sagar)

  - Enable hardware link retraining after link goes down in Endpoint mode
    (Vidya Sagar)

  - Add DT binding and driver support for core clock monitoring (Vidya
    Sagar)

Qualcomm PCIe controller driver:

  - Advertise 'Hot-Plug Capable' and set 'No Command Completed Support'
    since Qcom Root Ports support hotplug events like DL_Up/Down and can
    accept writes to Slot Control without delays between writes (Krishna
    Chaitanya Chundru)

Renesas R-Car PCIe controller driver:

  - Mark Endpoint BAR0 and BAR2 as Resizable (Koichiro Den)

  - Reduce EPC BAR alignment requirement to 4K (Koichiro Den)

Renesas RZ/G3S PCIe controller driver:

  - Add RZ/G3E to DT binding and to driver (John Madieu)

  - Assert (not deassert) resets in probe error path (John Madieu)

  - Assert resets in suspend path in reverse order they were deasserted
    during probe (John Madieu)

  - Rework inbound window algorithm to prevent mapping more than intended
    region and enforce alignment on size, to prepare for RZ/G3E support
    (John Madieu)

Rockchip DesignWare PCIe controller driver:

  - Add tracepoints for PCIe controller LTSSM transitions and link rate
    changes (Shawn Lin)

  - Trace LTSSM events collected by the dw-rockchip debug FIFO (Shawn Lin)

SOPHGO PCIe controller driver:

  - Disable ASPM L0s and L1 on Sophgo 2042 PCIe Root Ports that advertise
    support for them (Yao Zi)

Synopsys DesignWare PCIe controller driver:

  - Continue with system suspend even if an Endpoint doesn't respond with
    PME_TO_Ack message (Manivannan Sadhasivam)

  - Set Endpoint MSI-X Table Size in the correct function of a
    multi-function device when configuring MSI-X, not in Function 0 (Aksh
    Garg)

  - Set Max Link Width and Max Link Speed for all functions of a
    multi-function device, not just Function 0 (Aksh Garg)

  - Expose PCIe event counters in groups 5-7 in debugfs (Hans Zhang)

Miscellaneous:

  - Warn only once about invalid ACS kernel parameter format (Richard
    Cheng)

  - Suppress FW_BUG warning when writing sysfs 'numa_node' with the current
    value (Li RongQing)

  - Drop redundant 'depends on PCI' from Kconfig (Julian Braha)

15 Apr 2026: locking/futex for v7.1-rc1 [+ + +]
please pull three futex selftests fixes for v7.1-rc1.

Thx.

---

=E2=80=94 Correct the version guard for the futex_numa_mpol test to requi=
re
  libnuma 2.0.18 instead of 2.0.16, which is the version that actually
  introduced numa_set_mempolicy_home_node() used by the test

=E2=80=94 Allow the futex_numa_mpol selftest to build and run on systems =
without
  libnuma installed with affected test gracefully being skipped instead o=
f
  failing to compile

- Use the proper assertion macros so that individual sub-test failures ar=
e
  correctly propagated and the test suite reports failure when something =
goes
  wrong

15 Apr 2026: tracefs: Updates for v7.1 [+ + +]

tracefs updates for 7.1:

- Simplify error handling with guards()

  Use guards() to simplify the handling of releasing locks in exit paths.

- Use dentry name snapshots instead of allocation

  Instead of allocating a temp buffer to store the dentry name to use in
  mkdir() and rmdir() use take_dentry_name_snapshot().

- Fix default permissions not being applied at boot

  The default permissions for tracefs was 0700 to only allow root having
  access. But after a change to fix other mount options the update to
  permissions ignored the defined default and used the system default of
  0755. This is a regression and is fixed.

Changes since v1: https://lore.kernel.org/all/20260414075753.2a036358@robin/

- Removed unused 'ret' variable in eventfs_iterate()



tracefs-v7.1-v2

15 Apr 2026: jfs updates for v7.1 [+ + +]
More robust data integrity checking and some fixes.

15 Apr 2026: sound updates for 7.1-rc1 [+ + +]
please pull sound updates for v7.1-rc1 from:


The topmost commit is e0da8a8cac74f4b9f577979d131f0d2b88a84487


sound updates for 7.1-rc1

Nothing too thrilling here, but we see lots of driver updates and
bug fixes, including quirk additions and refactoring works, while
there have been little changes in the core functionality.
Here are some highlights:

* Core:
- Add validation for the control API put callback
- Fixes in compress-offload API timestamp handling
- Continued ASoC core API cleanups

* ASoC:
- Add support for bus keepers (for Apple devices in future)
- Enhancements to the SDCA support, including retaskable jacks
- Test improvements for Cirrus Logic drivers
- Lots of fixes for the NXP, nVidia and Qualcomm
- Support for AMD RPL DMIC, Cirrus Logic CS42L43 and CS47L47, nVidia
  machines with CPCAP and WM8962

* USB-audio:
- Quirks for Huawei Headset, Focusrite Novation, MV-Silicon,
  Studio 1824, Arturia AF16Rig, Hotone Audio, Feaulle Rainbow,
  PreSonus AudioBox, Moondrop Ju Jiu, Scarlett 18i20, etc
- Extended mixer volume quirk handling
- UAF and other fixes for us144mkii, 6fire and caiaq drivers

* HD-audio:
- Add quirks or fixes for Acer, Lenovo, HP, ASUS machines
- Fixes & cleanups of GPIO helper code

* Misc:
- Add suspend/resume support for multiple legacy ISA and Apple
  drivers
- Further regression fixes for ctxfi driver


15 Apr 2026: ring-buffer: Updates for v7.1 [+ + +]

ring-buffer updates for 7.1:

- Add remote buffers for pKVM

  pKVM has a hypervisor component that is used to protect the guest from the
  host kernel. This hypervisor is a black box to the kernel as the kernel is
  to user space. The remote buffers are used to have a memory mapping
  between the hypervisor and the kernel where kernel may send commands to
  enable tracing within the hypervisor. Then the kernel will read this
  memory mapping just like user space can read the memory mapped ring buffer
  of the kernel tracing system.

  Since the hypervisor only has a single context, it doesn't need to worry
  about races between normal context, interrupt context and NMIs like the
  kernel does. The ring buffer it uses doesn't need to be as complex. The
  remote buffers are a simple version of the ring buffer that works in a
  single context. They are still per-CPU and use sub buffers. The data
  layout is the same as the kernel's ring buffer to share the same parsing.

  Currently, only ARM64 implements pKVM, but there's work to implement it
  also in x86. The remote buffer code is separated out from the ARM
  implementation so that it can be used in the future by x86.

  The ARM64 updates for pKVM is in the ARM/KVM tree and it merged in the
  remote buffers of this tree.

- Merge commit f35dbac69421 ("ring-buffer: Fix to update per-subbuf entries of persistent ring buffer")`

  A fix was merged upstream that some new changes depended on. The upstream
  commit was merged into the ring buffer branch to fulfil the dependency.

- Make the backup instance non reusable

  The backup instance is a copy of the persistent ring buffer so that the
  persistent ring buffer could start recording again without using the data
  from the previous boot. The backup isn't for normal tracing. It is made
  read-only, and after it is consumed, it is automatically removed.

- Have backup copy persistent instance before it starts recording

  To allow the persistent ring buffer to start recording from the kernel
  command line commands, move the copy of the backup instance to before the
  the command line options start recording.

- Report header_page overwrite field as "char" and not "int'

  The rust parser of the header_page file was triggering a warning when it
  defined the overwrite variable as "int" but it was only a single byte in
  size.

- Fix memory barriers for the trace_buffer CPU mask

  When a CPU comes online, the bit is set to allow readers to know that the
  CPU buffer is allocated. The bit is set after the allocation is done, and
  a smp_wmb() is performed after the allocation and before the setting of
  the bit. But instead of adding a smp_rmb() to all readers, since once a
  buffer is created for a CPU it is not deleted if that CPU goes offline, so
  this allocation is almost always done at boot up before any readers exist.

  If for the unlikely case where a CPU comes online for the first time after
  the system boot has finished, send an IPI to all CPUs to force the
  smp_rmb() for each CPU.

- Show clock function being used in debugging ring buffer data

  When the ring buffer checks are enabled and the ring buffer detects an
  inconsistency in the times of the invents, print out the clock being used
  when the error occurred. There was a very hard to hit bug that would
  happen every so often and it ended up being only triggered when the jiffies
  clock was being used. If the bug showed the clock being used, it would
  have been much easier to find the problem (which was an internal function
  was being traced which caused the clock accounting to go off).




trace-ringbuffer-v7.1

15 Apr 2026: drm for 7.1 [+ + +]
This is the main drm pull request for 7.1-rc1.

I found two conflicts when testing the merge: one in Rust core and one
in Tyr, but both were trivial to solve.

This has a fixed tree shared with driver-core tree in it, which Danilo
will send later.

Outside of drm:
- mm: adding new statistics for GPU memory usage tracking and an
EXPORT addition.
- mm: mmu notifier addition for two-pass internal notifiers
- math.h change to allow DIV_ROUND_CLOSEST to be used in uapi facing pieces=
.
- core rust changes for nova-core/tyr

Highlights:
- new DRM RAS infrastructure using netlink
- amdgpu: enable DC on CIK APUs, and more IP enablement, and more user
queue work
- xe: purgeable BO support, and new hw enablement
- dma-buf : add revocable operations

Let me know if there any problems, or some other conflict shows up I
missed here,

Regards,
Dave.

drm-next-2026-04-15:
drm for v7.1-rc1

mm:
- two pass MMU interval notifiers
- add gpu active/reclaim per-node stat counters

math:
- provide __KERNEL_DIV_ROUND_CLOSEST() in UAPI
- implement DIV_ROUND_CLOSEST() with __KERNEL_DIV_ROUND_CLOSEST()

rust:
- shared tag with driver-core: register macro and io infra
- core: rework DMA coherent API
- core: add interop::list to interop with C linked lists
- core: add more num::Bounded operations
- core: enable generic_arg_infer and add EMSGSIZE
- workqueue: add ARef<T> support for work and delayed work
- 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 dma_resv_lock helper and raw accessors

core:
- introduce DRM RAS infrastructure over netlink
- add connector panel_type property
- fourcc: add ARM interleaved 64k modifier
- colorop: add destroy helper
- suballoc: split into alloc and init helpers
- mode: provide DRM_ARGB_GET*() macros for reading color components

edid:
- provide drm_output_color_Format

dma-buf:
- provide revoke mechanism for shared buffers
- rename move_notify to invalidate_mappings
- always enable move_notify
- protect dma_fence_ops with RCU and improve locking
- clean pages with helpers

atomic:
- allocate drm_private_state via callback
- helper: use system_percpu_wq

buddy:
- make buddy allocator available to gpu level
- add kernel-doc for buddy allocator
- improve aligned allocation

ttm:
- fix fence signalling
- improve tests and docs
- improve handling of gfp_retry_mayfail
- use per-node stat counters to track memory allocations
- port pool to use list_lru
- drop NUMA specific pools
- make pool shrinker numa aware
- track allocated pages per numa node

coreboot:
- cleanup coreboot framebuffer support

sched:
- fix race condition in drm_sched_fini

pagemap:
- enable THP support
- pass pagemap_addr by reference

gem-shmem:
- Track page accessed/dirty status across mmap/vmap

gpusvm:
- reenable device to device migration
- fix unbalanced unclock

bridge:
- anx7625: Support USB-C plus DT bindings
- connector: Fix EDID detection
- dw-hdmi-qp: Support Vendor-Specfic and SDP Infoframes; improve others
- fsl-ldb: Fix visual artifacts plus related DT property
'enable-termination-resistor'
- imx8qxp-pixel-link: Improve bridge reference handling
- lt9611: Support Port-B-only input plus DT bindings
- tda998x: Support DRM_BRIDGE_ATTACH_NO_CONNECTOR; Clean up
- Support TH1520 HDMI plus DT bindings
- waveshare-dsi: Fix register and attach; Support 1..4 DSI lanes plus
DT bindings
- anx7625: Fix USB Type-C handling
- cdns-mhdp8546-core: Handle HDCP state in bridge atomic_check
- Support Lontium LT8713SX DP MST bridge plus DT bindings
- analogix_dp: Use DP helpers for link training

panel:
- panel-jdi-lt070me05000: Use mipi-dsi multi functions
- panel-edp: Support Add AUO B116XAT04.1 (HW: 1A); Support CMN
N116BCL-EAK (C2); Support FriendlyELEC plus DT changes
- panel-edp: Fix timings for BOE NV140WUM-N64
- ilitek-ili9882t: Allow GPIO calls to sleep
- jadard: Support TAIGUAN XTI05101-01A
- lxd: Support LXD M9189A plus DT bindings
- mantix: Fix pixel clock; Clean up
- motorola: Support Motorola Atrix 4G and Droid X2 plus DT bindings
- novatek: Support Novatek/Tianma NT37700F plus DT bindings
- simple: Support EDT ET057023UDBA plus DT bindings; Support Powertip
  PH800480T032-ZHC19 plus DT bindings; Support Waveshare 13.3"
- novatek-nt36672a: Use mipi_dsi_*_multi() functions
- panel-edp: Support BOE NV153WUM-N42, CMN N153JCA-ELK, CSW MNF307QS3-2
- support Himax HX83121A plus DT bindings
- support JuTouch JT070TM041 plus DT bindings
- support Samsung S6E8FC0 plus DT bindings
- himax-hx83102c: support Samsung S6E8FC0 plus DT bindings; support backlig=
ht
- ili9806e: support Rocktech RK050HR345-CT106A plus DT bindings
- simple: support Tianma TM050RDH03 plus DT bindings

amdgpu:
- enable DC by default on CIK APUs
- userq fence ioctl param size fixes
- set panel_type to OLED for eDP
- refactor DC i2c code
- FAMS2 update
- rework ttm handling to allow multiple engines
- DC DCE 6.x cleanup
- DC support for NUTMEG/TRAVIS DP bridge
- DCN 4.2 support
- GC12 idle power fix for compute
- use struct drm_edid in non-DC code
- enable NV12/P010 support on primary planes
- support newer IP discovery tables
- VCN/JPEG 5.0.2 support
- GC/MES 12.1 updates
- USERQ fixes
- add DC idle state manager
- eDP DSC seamless boot

amdkfd:
- GC 12.1 updates
- non 4K page fixes

xe:
- basic Xe3p_LPG and NVL-P enabling patches
- allow VM_BIND decompress support
- add purgeable buffer object support
- add xe_vm_get_property_ioctl
- restrict multi-lrc to VCS/VECS engines
- allow disabling VM overcommit in fault mode
- dGPU memory optimizations
- Workaround cleanups and simplification
- Allow VFs VRAM quote changes using sysfs
- convert GT stats to per-cpu counters
- pagefault refactors
- enable multi-queue on xe3p_xpc
- disable DCC on PTL
- make MMIO communication more robust
- disable D3Cold for BMG on specific platforms
- vfio: improve FLR sync for Xe VFIO

i915/display:
- C10/C20/LT PHY PLL divider verification
- use trans push mechanism to generate PSR frame change on LNL+
- refactor DP DSC slice config
- VGA decode refactoring
- refactor DPT, gen2-4 overlay, masked field register macro helpers
- refactor stolen memory allocation decisions
- prepare for UHBR DP tunnels
- refactor LT PHY PLL to use DPLL framework
- implement register polling/waiting in display code
- add shared stepping header between i915 and display

i915:
- fix potential overflow of shmem scatterlist length

nouveau:
- provide Z cull info to userspace
- initial GA100 support
- shutdown on PCI device shutdown

nova-core:
- harden GSP command queue
- add support for large RPCs
- simplify GSP sequencer and message handling
- refactor falcon firmware handling
- convert to new register macro
- conver to new DMA coherent API
- use checked arithmetic
- add debugfs support for gsp-rm log buffers
- fix aux device registration for multi-GPU

msm:
- CI:
  - Uprev mesa
  - Restore CI jobs for Qualcomm APQ8016 and APQ8096 devices
- Core:
  - Switched to of_get_available_child_by_name()
- DPU:
  - Fixes for DSC panels
  - Fixed brownout because of the frequency / OPP mismatch
  - Quad pipe preparation (not enabled yet)
  - Switched to virtual planes by default
  - Dropped VBIF_NRT support
  - Added support for Eliza platform
  - Reworked alpha handling
  - Switched to correct CWB definitions on Eliza
  - Dropped dummy INTF_0 on MSM8953
  - Corrected INTFs related to DP-MST
- DP:
  - Removed debug prints looking into PHY internals
- DSI:
  - Fixes for DSC panels
  - RGB101010 support
  - Support for SC8280XP
  - Moved PHY bindings from display/ to phy/
- GPU:
  - Preemption support for x2-85 and a840
  - IFPC support for a840
  - SKU detection support for x2-85 and a840
  - Expose AQE support (VK ray-pipeline)
  - Avoid locking in VM_BIND fence signaling path
  - Fix to avoid reclaim in GPU snapshot path
  - Disallow foreign mapping of _NO_SHARE BOs
- HDMI:
  - Fixed infoframes programming
- MDP5:
  - Dropped support for MSM8974v1
  - Dropped now unused code for MSM8974 v1 and SDM660 / MSM8998

panthor:
- add tracepoints for power and IRQs
- fix fence handling
- extend timestamp query with flags
- support various sources for timestamp queries

tyr:
- fix names and model/versions

rockchip:
- vop2: use drm logging function
- rk3576 displayport support
- support CRTC background color

atmel-hlcdc:
- support sana5d65 LCD controller

tilcdc:
- use DT bindings schema
- use managed DRM interfaces
- support DRM_BRIDGE_ATTACH_NO_CONNECTOR

verisilicon:
- support DC8200 + DT bindings

virtgpu:
- support PRIME import with 3D enabled

komeda:
- fix integer overflow in AFBC checks

mcde:
- improve bridge handling

gma500:
- use drm client buffer for fbdev framebuffer

amdxdna:
- add sensors ioctls
- provide NPU power estimate
- support column utilization sensor
- allow forcing DMA through IOMMU IOVA
- support per-BO mem usage queries
- refactor GEM implementation

ivpu:
- update boot API to v3.29.4
- limit per-user number of doorbells/contexts
- perform engine reset on TDR error

loongson:
- replace custom code with drm_gem_ttm_dumb_map_offset()

imx:
- support planes behind the primary plane
- fix bus-format selection

vkms:
- support CRTC background color

v3d:
- improve handling of struct v3d_stats

komeda:
- support Arm China Linlon D6 plus DT bindings

imagination:
- improve power-off sequence
- support context-reset notification from firmware

mediatek:
- mtk_dsi: enable hs clock during pre-enable
- Remove all conflicting aperture devices during probe
- Add support for mt8167 display blocks
drm for v7.1-rc1

mm:
- two pass MMU interval notifiers
- add gpu active/reclaim per-node stat counters

math:
- provide __KERNEL_DIV_ROUND_CLOSEST() in UAPI
- implement DIV_ROUND_CLOSEST() with __KERNEL_DIV_ROUND_CLOSEST()

rust:
- shared tag with driver-core: register macro and io infra
- core: rework DMA coherent API
- core: add interop::list to interop with C linked lists
- core: add more num::Bounded operations
- core: enable generic_arg_infer and add EMSGSIZE
- workqueue: add ARef<T> support for work and delayed work
- 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 dma_resv_lock helper and raw accessors

core:
- introduce DRM RAS infrastructure over netlink
- add connector panel_type property
- fourcc: add ARM interleaved 64k modifier
- colorop: add destroy helper
- suballoc: split into alloc and init helpers
- mode: provide DRM_ARGB_GET*() macros for reading color components

edid:
- provide drm_output_color_Format

dma-buf:
- provide revoke mechanism for shared buffers
- rename move_notify to invalidate_mappings
- always enable move_notify
- protect dma_fence_ops with RCU and improve locking
- clean pages with helpers

atomic:
- allocate drm_private_state via callback
- helper: use system_percpu_wq

buddy:
- make buddy allocator available to gpu level
- add kernel-doc for buddy allocator
- improve aligned allocation

ttm:
- fix fence signalling
- improve tests and docs
- improve handling of gfp_retry_mayfail
- use per-node stat counters to track memory allocations
- port pool to use list_lru
- drop NUMA specific pools
- make pool shrinker numa aware
- track allocated pages per numa node

coreboot:
- cleanup coreboot framebuffer support

sched:
- fix race condition in drm_sched_fini

pagemap:
- enable THP support
- pass pagemap_addr by reference

gem-shmem:
- Track page accessed/dirty status across mmap/vmap

gpusvm:
- reenable device to device migration
- fix unbalanced unclock

bridge:
- anx7625: Support USB-C plus DT bindings
- connector: Fix EDID detection
- dw-hdmi-qp: Support Vendor-Specfic and SDP Infoframes; improve others
- fsl-ldb: Fix visual artifacts plus related DT property
'enable-termination-resistor'
- imx8qxp-pixel-link: Improve bridge reference handling
- lt9611: Support Port-B-only input plus DT bindings
- tda998x: Support DRM_BRIDGE_ATTACH_NO_CONNECTOR; Clean up
- Support TH1520 HDMI plus DT bindings
- waveshare-dsi: Fix register and attach; Support 1..4 DSI lanes plus
DT bindings
- anx7625: Fix USB Type-C handling
- cdns-mhdp8546-core: Handle HDCP state in bridge atomic_check
- Support Lontium LT8713SX DP MST bridge plus DT bindings
- analogix_dp: Use DP helpers for link training

panel:
- panel-jdi-lt070me05000: Use mipi-dsi multi functions
- panel-edp: Support Add AUO B116XAT04.1 (HW: 1A); Support CMN
N116BCL-EAK (C2); Support FriendlyELEC plus DT changes
- panel-edp: Fix timings for BOE NV140WUM-N64
- ilitek-ili9882t: Allow GPIO calls to sleep
- jadard: Support TAIGUAN XTI05101-01A
- lxd: Support LXD M9189A plus DT bindings
- mantix: Fix pixel clock; Clean up
- motorola: Support Motorola Atrix 4G and Droid X2 plus DT bindings
- novatek: Support Novatek/Tianma NT37700F plus DT bindings
- simple: Support EDT ET057023UDBA plus DT bindings; Support Powertip
  PH800480T032-ZHC19 plus DT bindings; Support Waveshare 13.3"
- novatek-nt36672a: Use mipi_dsi_*_multi() functions
- panel-edp: Support BOE NV153WUM-N42, CMN N153JCA-ELK, CSW MNF307QS3-2
- support Himax HX83121A plus DT bindings
- support JuTouch JT070TM041 plus DT bindings
- support Samsung S6E8FC0 plus DT bindings
- himax-hx83102c: support Samsung S6E8FC0 plus DT bindings; support backlig=
ht
- ili9806e: support Rocktech RK050HR345-CT106A plus DT bindings
- simple: support Tianma TM050RDH03 plus DT bindings

amdgpu:
- enable DC by default on CIK APUs
- userq fence ioctl param size fixes
- set panel_type to OLED for eDP
- refactor DC i2c code
- FAMS2 update
- rework ttm handling to allow multiple engines
- DC DCE 6.x cleanup
- DC support for NUTMEG/TRAVIS DP bridge
- DCN 4.2 support
- GC12 idle power fix for compute
- use struct drm_edid in non-DC code
- enable NV12/P010 support on primary planes
- support newer IP discovery tables
- VCN/JPEG 5.0.2 support
- GC/MES 12.1 updates
- USERQ fixes
- add DC idle state manager
- eDP DSC seamless boot

amdkfd:
- GC 12.1 updates
- non 4K page fixes

xe:
- basic Xe3p_LPG and NVL-P enabling patches
- allow VM_BIND decompress support
- add purgeable buffer object support
- add xe_vm_get_property_ioctl
- restrict multi-lrc to VCS/VECS engines
- allow disabling VM overcommit in fault mode
- dGPU memory optimizations
- Workaround cleanups and simplification
- Allow VFs VRAM quote changes using sysfs
- convert GT stats to per-cpu counters
- pagefault refactors
- enable multi-queue on xe3p_xpc
- disable DCC on PTL
- make MMIO communication more robust
- disable D3Cold for BMG on specific platforms
- vfio: improve FLR sync for Xe VFIO

i915/display:
- C10/C20/LT PHY PLL divider verification
- use trans push mechanism to generate PSR frame change on LNL+
- refactor DP DSC slice config
- VGA decode refactoring
- refactor DPT, gen2-4 overlay, masked field register macro helpers
- refactor stolen memory allocation decisions
- prepare for UHBR DP tunnels
- refactor LT PHY PLL to use DPLL framework
- implement register polling/waiting in display code
- add shared stepping header between i915 and display

i915:
- fix potential overflow of shmem scatterlist length

nouveau:
- provide Z cull info to userspace
- initial GA100 support
- shutdown on PCI device shutdown

nova-core:
- harden GSP command queue
- add support for large RPCs
- simplify GSP sequencer and message handling
- refactor falcon firmware handling
- convert to new register macro
- conver to new DMA coherent API
- use checked arithmetic
- add debugfs support for gsp-rm log buffers
- fix aux device registration for multi-GPU

msm:
- CI:
  - Uprev mesa
  - Restore CI jobs for Qualcomm APQ8016 and APQ8096 devices
- Core:
  - Switched to of_get_available_child_by_name()
- DPU:
  - Fixes for DSC panels
  - Fixed brownout because of the frequency / OPP mismatch
  - Quad pipe preparation (not enabled yet)
  - Switched to virtual planes by default
  - Dropped VBIF_NRT support
  - Added support for Eliza platform
  - Reworked alpha handling
  - Switched to correct CWB definitions on Eliza
  - Dropped dummy INTF_0 on MSM8953
  - Corrected INTFs related to DP-MST
- DP:
  - Removed debug prints looking into PHY internals
- DSI:
  - Fixes for DSC panels
  - RGB101010 support
  - Support for SC8280XP
  - Moved PHY bindings from display/ to phy/
- GPU:
  - Preemption support for x2-85 and a840
  - IFPC support for a840
  - SKU detection support for x2-85 and a840
  - Expose AQE support (VK ray-pipeline)
  - Avoid locking in VM_BIND fence signaling path
  - Fix to avoid reclaim in GPU snapshot path
  - Disallow foreign mapping of _NO_SHARE BOs
- HDMI:
  - Fixed infoframes programming
- MDP5:
  - Dropped support for MSM8974v1
  - Dropped now unused code for MSM8974 v1 and SDM660 / MSM8998

panthor:
- add tracepoints for power and IRQs
- fix fence handling
- extend timestamp query with flags
- support various sources for timestamp queries

tyr:
- fix names and model/versions

rockchip:
- vop2: use drm logging function
- rk3576 displayport support
- support CRTC background color

atmel-hlcdc:
- support sana5d65 LCD controller

tilcdc:
- use DT bindings schema
- use managed DRM interfaces
- support DRM_BRIDGE_ATTACH_NO_CONNECTOR

verisilicon:
- support DC8200 + DT bindings

virtgpu:
- support PRIME import with 3D enabled

komeda:
- fix integer overflow in AFBC checks

mcde:
- improve bridge handling

gma500:
- use drm client buffer for fbdev framebuffer

amdxdna:
- add sensors ioctls
- provide NPU power estimate
- support column utilization sensor
- allow forcing DMA through IOMMU IOVA
- support per-BO mem usage queries
- refactor GEM implementation

ivpu:
- update boot API to v3.29.4
- limit per-user number of doorbells/contexts
- perform engine reset on TDR error

loongson:
- replace custom code with drm_gem_ttm_dumb_map_offset()

imx:
- support planes behind the primary plane
- fix bus-format selection

vkms:
- support CRTC background color

v3d:
- improve handling of struct v3d_stats

komeda:
- support Arm China Linlon D6 plus DT bindings

imagination:
- improve power-off sequence
- support context-reset notification from firmware

mediatek:
- mtk_dsi: enable hs clock during pre-enable
- Remove all conflicting aperture devices during probe
- Add support for mt8167 display blocks

15 Apr 2026: SOC FSL for 7.1 (retry) [+ + +]
Hi Arnd,

As you are worried about the last minute rebase done yesterday, here is 
a new pull request without the rebase. It means it is based on tag 
soc_fsl-7.0-2 that you merged into 7.0-rc5 some weeks ago.

Most commits have spent several weeks in linux-next, only the last one 
spent only 10 days there, but it is not a major change and it is 
originating from the maintainer of fsl-mc bus directly.
Commit a0fe29d20e78 ("soc: fsl: qe: panic on ioremap() failure in 
qe_reset()") is also flagged as being commited 10 days ago, but this is 
just because I droped the preceding commit.


Changes to fsl-mc bus are reviewed or acked by Ioana Ciornei.

Thanks
Christophe

FSL SOC Changes for 7.1

Freescale QUICC Engine:
- Add missing cleanup on device removal and switch to 
irq_domain_create_linear()
in interrupt controller for IO Ports
- Panic on ioremap() failure in qe_reset()

Freescale Management Complex:
- Move fsl-mc over to device MSI infrastructure
- Wait for the MC firmware to complete its boot

Freescale Hypervisor:
- Fix header kernel-doc warnings

 
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 <[email protected]>

  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 <[email protected]>

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/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: 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: 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/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: 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: 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 <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Bill Wendling <[email protected]>
Cc: David Howells <[email protected]>
Cc: Dodji Seketeli <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Helge Deller <[email protected]>
Cc: John Moon <[email protected]>
Cc: Jonathan Corbet <[email protected]>
Cc: Josh Poimboeuf <[email protected]>
Cc: Justin Stitt <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: Masahiro Yamada <[email protected]>
Cc: Nathan Chancellor <[email protected]>
Cc: Nick Desaulniers <[email protected]>
Cc: Shuah Khan <[email protected]>
Cc: Song Liu <[email protected]>
Cc: Thomas Wei=DFschuh <[email protected]>
Cc: Yonghong Song <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]

12 Apr 2026: arm64: dts: ti: k3: Late DT update for v7.1 [+ + +]
 protected-headers="v1"
From: Vignesh Raghavendra <[email protected]>
To: SoC <[email protected]>, [email protected]
Cc: SoC list <[email protected]>, [email protected],
 [email protected], Tero Kristo <[email protected]>,
 "Nishanth, Menon" <[email protected]>, Vignesh Raghavendra <[email protected]>
Message-ID: <[email protected]>
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: 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: 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: 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 <[email protected]>

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 <[email protected]>

 
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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

 
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 <[email protected]>

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 <[email protected]>
To: SoC <[email protected]>, [email protected]
Cc: SoC list <[email protected]>, [email protected],
 [email protected], Tero Kristo <[email protected]>,
 Nishanth Menon <[email protected]>, Vignesh Raghavendra <[email protected]>
Message-ID: <[email protected]>
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/[email protected]

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 <[email protected]>

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 <[email protected]>

 
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 <[email protected]>

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