Latest Linux kernel releases

  01.12 6.17.10, 6.12.60, 6.6.118
  30.11 6.18 (merge, pull)
  29.10 6.1.158, 5.15.196, 5.10.246, 5.4.301

Significant pull requests for mainline kernel

 
3 Dec 2025: runtime verifier: Updates for v6.19 [+ + +]

Runtime verifier updates for v6.19:

- Adapt the ftracetest script to be run from a different folder

  This uses the already existing OPT_TEST_DIR but extends it further to run
  independent tests, then add an --rv flag to allow using the script for
  testing RV (mostly) independently on ftrace.

- Add basic RV selftests in selftests/verification for more validations

  Add more validations for available/enabled monitors and reactors. This
  could have caught the bug introducing kernel panic solved above. Tests use
  ftracetest.

- Convert react() function in reactor to use va_list directly

  Use a central helper to handle the variadic arguments. Clean up macros
  and mark functions as static.

- Add lockdep annotations to reactors to have lockdep complain of errors

  If the reactors are called from improper context. Useful to develop new
  reactors. This highlights a warning in the panic reactor that is related
  to the printk subsystem and not to RV.

- Convert core RV code to use lock guards and __free helpers

  This completely removes goto statements.

- Fix compilation if !CONFIG_RV_REACTORS

  Fix the warning by keeping LTL monitor variable as always static.




trace-rv-6.19

3 Dec 2025: Devicetree updates for v6.19 [+ + +]
exception of a few driver updates across the tree to use a new DT helper 
function.

And please apply this patch[1] to fix my automated testing.

Rob

[1] https://lore.kernel.org/all/20251203152437.3751325-1-robh@kernel.org/


Devicetree updates for v6.19:

DT bindings:
- Convert lattice,ice40-fpga-mgr, apm,xgene-storm-dma, brcm,sr-thermal,
  amazon,al-thermal, brcm,ocotp, mt8173-mdp, Actions Owl SPS, Marvell
  AP80x System Controller, Marvell CP110 System Controller,
  cznic,moxtet, and apm,xgene-slimpro-mbox to DT schema format

- Add i.MX95 fsl,irqsteer, MT8365 Mali Bifrost GPU, Anvo ANV32C81W
  EEPROM, and Microchip pic64gx PLIC

- Add missing LGE, AMD Seattle, and APM X-Gene SoC platform compatibles

- Updates to brcm,bcm2836-l1-intc, brcm,bcm2835-hvs, and bcm2711-hdmi
  bindings to fix warnings on BCM2712 platforms

- Drop obsolete db8500-thermal.txt

- Treewide clean-up of extra blank lines and inconsistent quoting

- Ensure all .dtbo targets are applied to a base .dtb

- Speed up dt_binding_check by skipping running validation on empty
  examples

DT core:
- Add of_machine_device_match() and of_machine_get_match_data() helpers
  and convert users treewide

- Fix bounds checking of address properties in FDT code. Rework the code
  to have a single implementation of the bounds checks.

- Rework of_irq_init() to ignore any implicit interrupt-parent (i.e. in
  a parent node) on nodes without an interrupt. This matches the spec
  description and fixes some RISC-V platforms.

- Avoid a spurious message on overlay removal

- Skip DT kunit tests on RISCV+ACPI

 
03 Dec 2025: sound updates for 6.19-rc1 [+ + +]
please pull sound updates for v6.19-rc1 from:


The topmost commit is eaf526cfa4e537af86543d77f402b9ae803f606e


sound updates for 6.19-rc1

The majority of changes at this time were about ASoC with a lot of
code refactoring works.  From the functionality POV, there aren't much
to see, but we have a wide range of device-specific fixes and updates.
Here are some highlights:

- Continued ASoC API clean works, spanned over many files
- Added a SoundWire SCDA generic class driver with regmap support
- Enhancements and fixes for Cirrus, Intel, Maxim and Qualcomm.
- Support for ASoC Allwinner A523, Mediatek MT8189, Qualcomm QCM2290,
  QRB2210 and SM6115, SpacemiT K1, and TI TAS2568, TAS5802, TAS5806,
  TAS5815, TAS5828 and TAS5830
- Usual HD-audio and USB-audio quirks and fixups
- Support for Onkyo SE-300PCIE, TASCAM IF-FW/DM MkII

Some gpiolib changes for shared GPIOs are included along with this PR
for covering ASoC drivers changes.


 
3 Dec 2025: sysctl changes for v6.19-rc1 [+ + +]

Linus:

Seeing that I leaned quite a bit on macros in this PR, I'm working on
the "function only" version here [1]. I believe it is still worth while
merging this in, because it allows Jiffies to move out of sysctl.c (So
at least that bit does not have to go through the review/testing
process)

Best

it/log/?h=3Djag/no-macro-conv


Summary

* Move jiffies converters out of kernel/sysctl.c

  Moved the jiffies converters into kernel/time/jiffies.c and replaced
  the pipe-max-size proc_handler converter with a macro based version.
  This is all part of the effort to relocate non-sysctl logic out of
  kernel/sysctl.c into more relevant subsystems. No functional changes.

* Generalize proc handler converter creation

  Removed duplicated sysctl converter logic by consolidating it in
  macros. These are used inside sysctl core as well as in pipe.c and
  jiffies.c. Converter kernel and user space pointer args are now
  automatically const qualified for the convenience of the caller. No
  functional changes.

* Miscellaneous

  Fixed kernel-doc format warnings, removed unnecessary __user
  qualifiers, and moved the nmi_watchdog sysctl into .rodata.

* Testing

  This series was run through sysctl selftests/kunit test suite in
  x86_64. It went into linux-next after rc2, giving it a good 4/5 weeks
  of testing.

3 Dec 2025: drm for 6.19-rc1 [+ + +]
This is the main drm pull request for 6.19.

There isn't too much external stuff, mostly some rust related bits.

There are a few conflicts in i915/xe/amdgpu,
https://github.com/airlied/linux/tree/drm-next-6.19-rc1-merged
has one I did.
The amdgpu_dm one is silent but ends up with duplicated code.

There was a rather late merge of a new color pipeline feature, that
some userspace projects are blocked on, and has seen a lot of work in
amdgpu. This should have seen some time in -next. There is additional
support for this for Intel, that if it arrives in the next day or two
I'll pass it on in another pull request and you can decide if you want
to take it.

Highlights:
- Arm Ethos NPU accelerator driver
- new DRM color pipeline support
- amdgpu will now run discrete SI/CIK cards instead of radeon, which
enables vulkan support in userspace.
- msm gets gen8 gpu support
- initial Xe3P support in xe

Let me know if any problems crop up.

Regards,
Dave.

drm-next-2025-12-03:
drm-next for 6.19-rc1:

new driver:
- Arm Ethos-U65/U85 accel driver

core:
- support the drm color pipeline in vkms/amdgfx
- add support for drm colorop pipeline
- add COLOR PIPELINE plane property
- add DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE
- throttle dirty worker with vblank
- use drm_for_each_bridge_in_chain_scoped in drm's bridge code
- Ensure drm_client_modeset tests are enabled in UML
- add simulated vblank interrupt - use in drivers
- dumb buffer sizing helper
- move freeing of drm client memory to driver
- crtc sharpness strength property
- stop using system_wq in scheduler/drivers
- support emergency restore in drm-client

rust:
- make slice::as_flattened usable on all supported rustc
- add FromBytes::from_bytes_prefix() method
- remove redundant device ptr from Rust GEM object
- Change how AlwaysRefCounted is implemented for GEM objects

gpuvm:
- Add deferred vm_bo cleanup to GPUVM (for rust)

atomic:
- cleanup and improve state handling interfaces

buddy:
- optimize block management

dma-buf:
- heaps: Create heap per CMA reserved location
- improve userspace documentation

dp:
- add POST_LT_ADJ_REQ training sequence
- DPCD dSC quirk for synaptics panamera devices
- helpers to query branch DSC max throughput

ttm:
- Rename ttm_bo_put to ttm_bo_fini
- allow page protection flags on risc-v
- rework pipelined eviction fence handling

amdgpu:
- enable amdgpu by default for SI/CI dGPUs
- enable DC by default on SI
- refactor CIK/SI enablement
- add ABM KMS property
- Re-enable DM idle optimizations
- DC Analog encoders support
- Powerplay fixes for fiji/iceland
- Enable DC on bonaire by default
- HMM cleanup
- Add new RAS framework
- DML2.1 updates
- YCbCr420 fixes
- DC FP fixes
- DMUB fixes
- LTTPR fixes
- DTBCLK fixes
- DMU cursor offload handling
- Userq validation improvements
- Unify shutdown callback handling
- Suspend improvements
- Power limit code cleanup
- SR-IOV fixes
- AUX backlight fixes
- DCN 3.5 fixes
- HDMI compliance fixes
- DCN 4.0.1 cursor updates
- DCN interrupt fix
- DC KMS full update improvements
- Add additional HDCP traces
- DCN 3.2 fixes
- DP MST fixes
- Add support for new SR-IOV mailbox interface
- UQ reset support
- HDP flush rework
- VCE1 support

amdkfd:
- HMM cleanups
- Relax checks on save area overallocations
- Fix GPU mappings after prefetch

radeon:
- refactor CIK/SI enablement.

xe:
- Initial Xe3P support
- panic support on VRAM for display
- fix stolen size check
- Loosen used tracking restriction
- New SR-IOV debugfs structure and debugfs updates
- Hide the GPU madvise flag behind a VM_BIND flag
- Always expose VRAM provisioning data on discrete GPUs
- Allow VRAM mappings for userptr when used with SVM
- Allow pinning of p2p dma-buf
- Use per-tile debugfs where appropriate
- Add documentation for Execution Queues
- PF improvements
- VF migration recovery redesign work
- User / Kernel VRAM partitioning
- Update Tile-based messages
- Allow configfs to disable specific GT types
- VF provisioning and migration improvements
- use SVM range helpers in PT layer
- Initial CRI support
- access VF registers using dedicated MMIO view
- limit number of jobs per exec queue
- add sriov_admin sysfs tree
- more crescent island specific support
- debugfs residency counter
- SRIOV migration work
- runtime registers for GFX 35

i915:
- add initial Xe3p_LPD display version 35 support
- Enable LNL+ content adaptive sharpness filter
- Use optimized VRR guardband
- Enable Xe3p LT PHY
- enable FBC support for Xe3p_LPD display
- add display 30.02 firmware support
- refactor SKL+ watermark latency setup
- refactor fbdev handling
- call i915/xe runtime PM via function pointers
- refactor i915/xe stolen memory/display interfaces
- use display version instead of gfx version in display code
- extend i915_display_info with Type-C port details
- lots of display cleanups/refactorings
- set O_LARGEFILE in __create_shmem
- skuip guc communication warning on reset
- fix time conversions
- defeature DRRS on LNL+
- refactor intel_frontbuffer split between i915/xe/display
- convert inteL_rom interfaces to struct drm_device
- unify display register polling interfaces
- aovid lock inversion when pinning to GGTT on CHV/BXT+VTD

panel:
- Add KD116N3730A08/A12, chromebook mt8189
- JT101TM023, LQ079L1SX01,
- GLD070WX3-SL01 MIPI DSI
- Samsung LTL106AL0, Samsung LTL106AL01
- Raystar RFF500F-AWH-DNN
- Winstar WF70A8SYJHLNGA,
- Wanchanglong w552946aaa
- Samsung SOFEF00
- Lenovo X13s panel.
- ilitek-ili9881c : add rpi 5" support
- visionx-rm69299 - add backlight support
- edp - support AUI B116XAN02.0

bridge:
- improve ref counting
- ti-sn65dsi86 - add support for DP mode with HPD
- synopsis: support CEC, init timer with correct freq
- ASL CS5263 DP-to-HDMI bridge support

nova-core:
- introduce bitfield! macro
- introduce safe integer converters
- GSP inits to fully booted state on Ampere
- Use more future-proof register for GPU identification

nova-drm:
- select NOVA_CORE
- 64-bit only

nouveau:
- improve reclocking on tegra 186+
- add large page and compression support

msm:
- GPU:
  - Gen8 support: A840 (Kaanapali) and X2-85 (Glymur)
  - A612 support
- MDSS:
  - Added support for Glymur and QCS8300 platforms
- DPU:
  - Enabled Quad-Pipe support, unlocking higher resolutions support
  - Added support for Glymur platform
  - Documented DPU on QCS8300 platform as supported
- DisplayPort:
  - Added support for Glymur platform
  - Added support lame remapping inside DP block
  - Documented DisplayPort controller on QCS8300 and SM6150/QCS615 as
    supported

tegra:
- NVJPG driver

panfrost:
- display JM contexts over debugfs
- export JM contexts to userspace
- improve error and job handling

panthor:
- support custom ASN_HASH for mt8196
- support mali-G1 GPU
- flush shmem write before mapping buffers uncached
- make timeout per-queue instead of per-job

mediatek:
- MT8195/88 HDMIv2/DDCv2 support

rockchip:
- dsi: add support for RK3368

amdxdna:
- enhance runtime PM
- last hardware error reading uapi
- support firmware debug output
- add resource and telemetry data uapi
- preemption support

imx:
- add driver for HDMI TX Parallel audio interface

ivpu:
- add support for user-managed preemption buffer
- add userptr support
- update JSM firware API to 3.33.0
- add better alloc/free warnings
- fix page fault in unbind all bos
- rework bind/unbind of imported buffers
- enable MCA ECC signalling
- split fw runtime and global memory buffers
- add fdinfo memory statistics

tidss:
- convert to drm logging
- logging cleanup

ast:
- refactor generation init paths
- add per chip generation detect_tx_chip
- set quirks for each chip model

atmel-hlcdc:
- set LCDC_ATTRE register in plane disable
- set correct values for plane scaler

solomon:
- use drm helper for get_modes and move_valid

sitronix:
- fix output position when clearing screens

qaic:
- support dma-buf exports
- support new firmware's READ_DATA implementation
- sahara AIC200 image table update
- add sysfs support
- add coredump support
- add uevents support
- PM support

sun4i:
- layer refactors to decouple plane from output
- improve DE33 support

vc4:
- switch to generic CEC helpers

komeda:
- use drm_ logging functions

vkms:
- configfs support for display configuration

vgem:
- fix fence timer deadlock

etnaviv:
- add HWDB entry for GC8000 Nano Ultra VIP r6205
drm-next for 6.19-rc1:

new driver:
- Arm Ethos-U65/U85 accel driver

core:
- support the drm color pipeline in vkms/amdgfx
- add support for drm colorop pipeline
- add COLOR PIPELINE plane property
- add DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE
- throttle dirty worker with vblank
- use drm_for_each_bridge_in_chain_scoped in drm's bridge code
- Ensure drm_client_modeset tests are enabled in UML
- add simulated vblank interrupt - use in drivers
- dumb buffer sizing helper
- move freeing of drm client memory to driver
- crtc sharpness strength property
- stop using system_wq in scheduler/drivers
- support emergency restore in drm-client

rust:
- make slice::as_flattened usable on all supported rustc
- add FromBytes::from_bytes_prefix() method
- remove redundant device ptr from Rust GEM object
- Change how AlwaysRefCounted is implemented for GEM objects

gpuvm:
- Add deferred vm_bo cleanup to GPUVM (for rust)

atomic:
- cleanup and improve state handling interfaces

buddy:
- optimize block management

dma-buf:
- heaps: Create heap per CMA reserved location
- improve userspace documentation

dp:
- add POST_LT_ADJ_REQ training sequence
- DPCD dSC quirk for synaptics panamera devices
- helpers to query branch DSC max throughput

ttm:
- Rename ttm_bo_put to ttm_bo_fini
- allow page protection flags on risc-v
- rework pipelined eviction fence handling

amdgpu:
- enable amdgpu by default for SI/CI dGPUs
- enable DC by default on SI
- refactor CIK/SI enablement
- add ABM KMS property
- Re-enable DM idle optimizations
- DC Analog encoders support
- Powerplay fixes for fiji/iceland
- Enable DC on bonaire by default
- HMM cleanup
- Add new RAS framework
- DML2.1 updates
- YCbCr420 fixes
- DC FP fixes
- DMUB fixes
- LTTPR fixes
- DTBCLK fixes
- DMU cursor offload handling
- Userq validation improvements
- Unify shutdown callback handling
- Suspend improvements
- Power limit code cleanup
- SR-IOV fixes
- AUX backlight fixes
- DCN 3.5 fixes
- HDMI compliance fixes
- DCN 4.0.1 cursor updates
- DCN interrupt fix
- DC KMS full update improvements
- Add additional HDCP traces
- DCN 3.2 fixes
- DP MST fixes
- Add support for new SR-IOV mailbox interface
- UQ reset support
- HDP flush rework
- VCE1 support

amdkfd:
- HMM cleanups
- Relax checks on save area overallocations
- Fix GPU mappings after prefetch

radeon:
- refactor CIK/SI enablement.

xe:
- Initial Xe3P support
- panic support on VRAM for display
- fix stolen size check
- Loosen used tracking restriction
- New SR-IOV debugfs structure and debugfs updates
- Hide the GPU madvise flag behind a VM_BIND flag
- Always expose VRAM provisioning data on discrete GPUs
- Allow VRAM mappings for userptr when used with SVM
- Allow pinning of p2p dma-buf
- Use per-tile debugfs where appropriate
- Add documentation for Execution Queues
- PF improvements
- VF migration recovery redesign work
- User / Kernel VRAM partitioning
- Update Tile-based messages
- Allow configfs to disable specific GT types
- VF provisioning and migration improvements
- use SVM range helpers in PT layer
- Initial CRI support
- access VF registers using dedicated MMIO view
- limit number of jobs per exec queue
- add sriov_admin sysfs tree
- more crescent island specific support
- debugfs residency counter
- SRIOV migration work
- runtime registers for GFX 35

i915:
- add initial Xe3p_LPD display version 35 support
- Enable LNL+ content adaptive sharpness filter
- Use optimized VRR guardband
- Enable Xe3p LT PHY
- enable FBC support for Xe3p_LPD display
- add display 30.02 firmware support
- refactor SKL+ watermark latency setup
- refactor fbdev handling
- call i915/xe runtime PM via function pointers
- refactor i915/xe stolen memory/display interfaces
- use display version instead of gfx version in display code
- extend i915_display_info with Type-C port details
- lots of display cleanups/refactorings
- set O_LARGEFILE in __create_shmem
- skuip guc communication warning on reset
- fix time conversions
- defeature DRRS on LNL+
- refactor intel_frontbuffer split between i915/xe/display
- convert inteL_rom interfaces to struct drm_device
- unify display register polling interfaces
- aovid lock inversion when pinning to GGTT on CHV/BXT+VTD

panel:
- Add KD116N3730A08/A12, chromebook mt8189
- JT101TM023, LQ079L1SX01,
- GLD070WX3-SL01 MIPI DSI
- Samsung LTL106AL0, Samsung LTL106AL01
- Raystar RFF500F-AWH-DNN
- Winstar WF70A8SYJHLNGA,
- Wanchanglong w552946aaa
- Samsung SOFEF00
- Lenovo X13s panel.
- ilitek-ili9881c : add rpi 5" support
- visionx-rm69299 - add backlight support
- edp - support AUI B116XAN02.0

bridge:
- improve ref counting
- ti-sn65dsi86 - add support for DP mode with HPD
- synopsis: support CEC, init timer with correct freq
- ASL CS5263 DP-to-HDMI bridge support

nova-core:
- introduce bitfield! macro
- introduce safe integer converters
- GSP inits to fully booted state on Ampere
- Use more future-proof register for GPU identification

nova-drm:
- select NOVA_CORE
- 64-bit only

nouveau:
- improve reclocking on tegra 186+
- add large page and compression support

msm:
- GPU:
  - Gen8 support: A840 (Kaanapali) and X2-85 (Glymur)
  - A612 support
- MDSS:
  - Added support for Glymur and QCS8300 platforms
- DPU:
  - Enabled Quad-Pipe support, unlocking higher resolutions support
  - Added support for Glymur platform
  - Documented DPU on QCS8300 platform as supported
- DisplayPort:
  - Added support for Glymur platform
  - Added support lame remapping inside DP block
  - Documented DisplayPort controller on QCS8300 and SM6150/QCS615 as
    supported

tegra:
- NVJPG driver

panfrost:
- display JM contexts over debugfs
- export JM contexts to userspace
- improve error and job handling

panthor:
- support custom ASN_HASH for mt8196
- support mali-G1 GPU
- flush shmem write before mapping buffers uncached
- make timeout per-queue instead of per-job

mediatek:
- MT8195/88 HDMIv2/DDCv2 support

rockchip:
- dsi: add support for RK3368

amdxdna:
- enhance runtime PM
- last hardware error reading uapi
- support firmware debug output
- add resource and telemetry data uapi
- preemption support

imx:
- add driver for HDMI TX Parallel audio interface

ivpu:
- add support for user-managed preemption buffer
- add userptr support
- update JSM firware API to 3.33.0
- add better alloc/free warnings
- fix page fault in unbind all bos
- rework bind/unbind of imported buffers
- enable MCA ECC signalling
- split fw runtime and global memory buffers
- add fdinfo memory statistics

tidss:
- convert to drm logging
- logging cleanup

ast:
- refactor generation init paths
- add per chip generation detect_tx_chip
- set quirks for each chip model

atmel-hlcdc:
- set LCDC_ATTRE register in plane disable
- set correct values for plane scaler

solomon:
- use drm helper for get_modes and move_valid

sitronix:
- fix output position when clearing screens

qaic:
- support dma-buf exports
- support new firmware's READ_DATA implementation
- sahara AIC200 image table update
- add sysfs support
- add coredump support
- add uevents support
- PM support

sun4i:
- layer refactors to decouple plane from output
- improve DE33 support

vc4:
- switch to generic CEC helpers

komeda:
- use drm_ logging functions

vkms:
- configfs support for display configuration

vgem:
- fix fence timer deadlock

etnaviv:
- add HWDB entry for GC8000 Nano Ultra VIP r6205

 
2 Dec 2025: ext4 changes for 6.19-rc1 [+ + +]
New features and improvements for the ext4 file system

* Optimize online defragmentation by using folios instead of individual
  buffer heads
* Improve error codes stored in the superblock when the journal aborts
* Minor cleanups and clarifications in ext4_map_blocks()
* Add documentation of the casefold and encrypt flags
* Add support for file systems with a blocksize greater than the pagesize
* Improve performance by enabling the caching the fact that an inode does
  not have a Posix ACL.

Various Bug Fixes

* Fix false positive compliants from smatch
* Fix error code which is returned by ext4fs_dirhash() when Siphash is
  used without the encryption key
* Fix races when writing to inline data files which could trigger a BUG
* Fix potential NULL dereference when there is an corrupt file system with
  an extended attribute value stored in a inode
* Fix false positive lockdep report when syzbot uses ext4 and ocfs2 together
* Fix false positive reported by DEPT by adjusting lock annotation
* Avoid a potential BUG_ON in jbd2 when a file system is massively corrupted
* Fix a WARN_ON when superblock is corrupted with a non-NULL terminated
  mount options field
* Add check if the userspace passes in a non-NULL terminated mount options
  field to EXT4_IOC_SET_TUNE_SB_PARAM
* Fix a potential journal checksum failure whena file system is copied while
  it is mounted read-only
* Fix a potential potential orphan file tracking error which only showed
  on 32-bit systems
* Fix assertion checks in mballoc (which have to be explicitly enbled by
  manually enabling AGGRESSIVE_CHECKS and recompiling)
* Avoid complaining about overly large orphan files created by mke2fs with
  with file systems with a 64k block size

2 Dec 2025: IPE update for 6.19 [+ + +]
Please merge this PR for the IPE (Integrity Policy Enforcement) update for 6.19.

This PR contains three commits. The primary change is the addition of
support for the AT_EXECVE_CHECK flag. This allows interpreters to
signal the kernel to perform IPE security checks on script files
before execution, extending IPE enforcement to indirectly executed
scripts.

These commits have been tested for several weeks in linux-next without
any issues.

Thanks,
Fan

--

ipe/stable-6.19 PR 20251202

 
3 Dec 2025: probes: Updates for v6.19 [+ + +]
Probes for v6.19

- fprobe: Performance enhancement of the fprobe using rhltable
  . fprobe: use rhltable for fprobe_ip_table. The fprobe IP table has
    been converted to use an rhltable for improved performance when
    dealing with a large number of probed functions.
  . Fix a suspicious RCU usage warning of the above change in the
    fprobe entry handler.
  . Remove an unused local variable of the above change.
  . Fix to initialize fprobe_ip_table in core_initcall().

- fprobe: Performance optimization of fprobe by ftrace
  . fprobe: Use ftrace instead of fgraph for entry only probes. This
    avoids the unneeded overhead of fgraph stack setup.
  . Also update fprobe selftest for entry-only probe.
  . fprobe: Use ftrace only if CONFIG_DYNAMIC_FTRACE_WITH_ARGS or
    WITH_REGS is defined.

- probes: Cleanup probe event subsystems.
  . uprobe/eprobe: Allocate traceprobe_parse_context per probe instead
    of each probe argument parsing. This reduce memory allocation/free
    of temporary working memory.
  . uprobes: Cleanup code using __free().
  . eprobes: Cleanup code using __free().
  . probes: Cleanup code using __free(trace_probe_log_clear) to clear
    error log automatically.
  . probes: Replace strcpy() with memcpy() in __trace_probe_log_err().




probes-v6.19

 
2 Dec 2025: kunit next update for Linux 6.19-rc1 [+ + +]
Hi Linus,


Makes filter parameters configurable via Kconfig.
Adds description of kunit.enable parameter documentation.

diff is attached.

thanks,
-- Shuah

linux_kselftest-kunit-6.19-rc1

Makes filter parameters configurable via Kconfig.
Adds description of kunit.enable parameter documentation.

2 Dec 2025: Networking for Linux 6.19 [+ + +]
Networking changes for 6.19.

Core & protocols
2 Dec 2025: ftrace: Updates for v6.19 [+ + +]

ftrace fixes for v6.19:

- Fix regression of pid filtering of function graph tracer

  When the function graph tracer allowed multiple instances of
  graph tracing using subops, the filtering by pid broke.

  The ftrace_ops->private that was used for pid filtering wasn't
  updated on creation.

  The wrong function entry callback was used when pid filtering was
  enabled when the function graph tracer started, which meant that
  the pid filtering wasn't happening.

- Remove no longer needed ftrace_trace_task()

  With PID filtering working via ftrace_pids_enabled() and fgraph_pid_func(),
  the coarse-grained ftrace_trace_task() check in graph_entry() is obsolete.

  It was only a fallback for uninitialized op->private (now fixed), and its
  removal ensures consistent PID filtering with standard function tracing.




ftrace-v6.19

2 Dec 2025: tracing: Updates for v6.19 [+ + +]

tracing updates for v6.19:

- Merge branch shared with kprobes on extending trace options

  The trace options were defined by a 32 bit variable. This limits the
  tracing instances to have a total of 32 different options. As that limit
  has been hit, and more options are being added, increase the option mask
  to a 64 bit number, doubling the number of options available.

  As this is required for the kprobe topic branches as well as the tracing
  topic branch, a separate branch was created and merged into both.

- Make trace_user_fault_read() available for the rest of tracing

  The function trace_user_fault_read() is used by trace_marker file read to
  allow reading user space to be done fast and without locking or
  allocations. Make this available so that the system call trace events can
  use it too.

- Have system call trace events read user space values

  Now that the system call trace events callbacks are called in a faultable
  context, take advantage of this and read the user space buffers for
  various system calls. For example, show the path name of the openat system
  call instead of just showing the pointer to that path name in user space.
  Also show the contents of the buffer of the write system call. Several
  system call trace events are updated to make tracing into a light weight
  strace tool for all applications in the system.

- Update perf system call tracing to do the same

- And a config and syscall_user_buf_size file to control the size of the buffer

  Limit the amount of data that can be read from user space. The default
  size is 63 bytes but that can be expanded to 165 bytes.

- Allow the persistent ring buffer to print system calls normally

  The persistent ring buffer prints trace events by their type and ignores
  the print_fmt. This is because the print_fmt may change from kernel to
  kernel. As the system call output is fixed by the system call ABI itself,
  there's no reason to limit that. This makes reading the system call events
  in the persistent ring buffer much nicer and easier to understand.

- Add options to show text offset to function profiler

  The function profiler that counts the number of times a function is hit
  currently lists all functions by its name and offset. But this becomes
  ambiguous when there are several functions with the same name. Add a
  tracing option that changes the output to be that of _text+offset
  instead. Now a user space tool can use this information to map the
  _text+offset to the unique function it is counting.

- Report bad dynamic event command

  If a bad command is passed to the dynamic_events file, report it properly
  in the error log.

- Clean up tracer options

  Clean up the tracer option code a bit, by removing some useless code and
  also using switch statements instead of a series of if statements.

- Have tracing options be instance specific

  Tracers can have their own options (function tracer, irqsoff tracer,
  function graph tracer, etc). But now that the same tracer can be enabled
  in multiple trace instances, their options are still global. The API is
  per instance, thus changing one affects other instances. This isn't even
  consistent, as the option take affect differently depending on when an
  tracer started in an instance.  Make the options for instances only affect
  the instance it is changed under.

- Optimize pid_list lock contention

  Whenever the pid_list is read, it uses a spin lock. This happens at every
  sched switch. Taking the lock at sched switch can be removed by instead
  using a seqlock counter.

- Clean up the trace trigger structures

  The trigger code uses two different structures to implement a single
  tigger. This was due to trying to reuse code for the two different types
  of triggers (always on trigger, and count limited trigger). But by adding
  a single field to one structure, the other structure could be absorbed
  into the first structure making he code easier to understand.

- Create a bulk garbage collector for trace triggers

  If user space has triggers for several hundreds of events and then removes
  them, it can take several seconds to complete. This is because each
  removal calls the slow tracepoint_synchronize_unregister() that can take
  hundreds of milliseconds to complete. Instead, create a helper thread that
  will do the clean up. When a trigger is removed, it will create the
  kthread if it isn't already created, and then add the trigger to a llist.
  The kthread will take the items off the llist, call
  tracepoint_synchronize_unregister(), and then remove the items it took
  off. It will then check if there's more items to free before sleeping.

  This makes user space removing all these triggers to finish in less than a
  second.

- Allow function tracing of some of the tracing infrastructure code

  Because the tracing code can cause recursion issues if it is traced by the
  function tracer the entire tracing directory disables function tracing.
  But not all of tracing causes issues if it is traced. Namely, the event
  tracing code. Add a config that enables some of the tracing code to be
  traced to help in debugging it. Note, when this is enabled, it does add
  noise to general function tracing, especially if events are enabled as
  well (which is a common case).

- Add boot-time backup instance for persistent buffer

  The persistent ring buffer is used mostly for kernel crash analysis in the
  field. One issue is that if there's a crash, the data in the persistent
  ring buffer must be read before tracing can begin using it. This slows
  down the boot process. Once tracing starts in the persistent ring buffer,
  the old data must be freed and the addresses no longer match and old
  events can't be in the buffer with new events.

  Create a way to create a backup buffer that copies the persistent ring
  buffer at boot up. Then after a crash, the always on tracer can begin
  immediately as well as the normal boot process while the crash analysis
  tooling uses the backup buffer. After the backup buffer is finished being
  read, it can be removed.

- Enable function graph args and return address options at the same time

  Currently the when reading of arguments in the function graph tracer is
  enabled, the option to record the parent function in the entry event can
  not be enabled. Update the code so that it can.

- Add new struct_offset() helper macro

  Add a new macro that takes a pointer to a structure and a name of one of
  its members and it will return the offset of that member. This allows the
  ring buffer code to simplify the following:

  From:  size = struct_size(entry, buf, cnt - sizeof(entry->id));
    To:  size = struct_offset(entry, id) + cnt;

  There should be other simplifications that this macro can help out with as
  well.




trace-v6.19

2 Dec 2025: arm64 updates for 6.19 [+ + +]
These are the arm64 updates for 6.19. The biggest part is the Arm MPAM
driver under drivers/resctrl/. There's a patch touching mm/ to handle
spurious faults for huge pmd (similar to the pte version). The
corresponding arm64 part allows us to avoid the TLB maintenance if a
(huge) page is reused after a write fault. There's EFI refactoring to
allow runtime services with preemption enabled and the rest is the usual
perf/PMU updates and several cleanups/typos.

The git conflicts are relatively simple, see the end of this email
(after diffstats) for my resolution. However, there's another diff
needed to avoid build failures after the merge due to the changes via
the tip tree, commit 8cea569ca785 ("sched/mmcid: Use proper data
structures"). Same resolution as in -next:

------------------8<------------------------
arm64 updates for 6.19:

Core features:

 - Basic Arm MPAM (Memory system resource Partitioning And Monitoring)
   driver under drivers/resctrl/ which makes use of the fs/rectrl/ API

Perf and PMU:

 - Avoid cycle counter on multi-threaded CPUs

 - Extend CSPMU device probing and add additional filtering support for
   NVIDIA implementations

 - Add support for the PMUs on the NoC S3 interconnect

 - Add additional compatible strings for new Cortex and C1 CPUs

 - Add support for data source filtering to the SPE driver

 - Add support for i.MX8QM and "DB" PMU in the imx PMU driver

Memory managemennt:

 - Avoid broadcast TLBI if page reused in write fault

 - Elide TLB invalidation if the old PTE was not valid

 - Drop redundant cpu_set_*_tcr_t0sz() macros

 - Propagate pgtable_alloc() errors outside of __create_pgd_mapping()

 - Propagate return value from __change_memory_common()

ACPI and EFI:

 - Call EFI runtime services without disabling preemption

 - Remove unused ACPI function

Miscellaneous:

 - ptrace support to disable streaming on SME-only systems

 - Improve sysreg generation to include a 'Prefix' descriptor

 - Replace __ASSEMBLY__ with __ASSEMBLER__

 - Align register dumps in the kselftest zt-test

 - Remove some no longer used macros/functions

 - Various spelling corrections

2 Dec 2025: kselftest next update for Linux 6.19-rc1 [+ + +]
Hi Linus,


Adds basic test for trace_marker_raw file to tracing selftest.
Fixes invalid array access in printf dma_map_benchmark selftest.
Adds tprobe enable/disable testcase to tracing selftest.
Updates fprobe selftest for ftrace based fprobe.

diff is attached.

thanks,
-- Shuah

linux_kselftest-next-6.19-rc1

Adds basic test for trace_marker_raw file to tracing selftest.
Fixes invalid array access in printf dma_map_benchmark selftest.
Adds tprobe enable/disable testcase to tracing selftest.
Updates fprobe selftest for ftrace based fprobe.

 
02 Dec 2025: integrity: subsystem updates for v6.19 [+ + +]
There are two bug fixes: defer credentials checking from the bprm_check_sec=
urity
hook to the bprm_creds_from_file security hook, properly ignore IMA policy =
rules
based on undefined SELinux labels.

And two IMA policy rule extensions: extend IMA to limit including file hash=
es in
the audit logs (dont_audit action), define a new filesystem subtype policy
option (fs_subtype).

And extend IMA to support commit b1ae6dc41eaa ("module: add in-kernel suppo=
rt
for decompressing") by deferring the IMA signature verification in
kernel_read_file() to after the kernel module is decompressed.

thanks,

Mimi

integrity-v6.19

 
2 Dec 2025: tracing tooling: Updates for v6.19 [+ + +]

rtla updaets for v6.19:

- Officially add Tomas Glozar as a maintainer to RTLA tool

- Add for_each_monitored_cpu() helper

  In multiple places, RTLA tools iterate over the list of CPUs running
  tracer threads.

  Use single helper instead of repeating the for/if combination.

- Remove unused variable option_index in argument parsing

  RTLA tools use getopt_long() for argument parsing. For its last
  argument, an unused variable "option_index" is passed.

  Remove the variable and pass NULL to getopt_long() to shorten
  the naturally long parsing functions, and make them more readable.

- Fix unassigned nr_cpus after code consolidation

  In recent code consolidation, timerlat tool cleanup, previously
  implemented separately for each tool, was moved to a common function
  timerlat_free().

  The cleanup relies on nr_cpus being set. This was not done in the new
  function, leaving the variable uninitialized.

  Initialize the variable properly, and remove silencing of compiler
  warning for uninitialized variables.

- Stop tracing on user latency in BPF mode

  Despite the name, rtla-timerlat's -T/--thread option sets timerlat's
  stop_tracing_total_us option, which also stops tracing on
  return-from-user latency, not only on thread latency.

  Implement the same behavior also in BPF sample collection stop tracing
  handler to avoid a discrepancy and restore correspondence of behavior
  with the equivalent option of cyclictest.

- Fix threshold actions always triggering

  A bug in threshold action logic caused the action to execute even
  if tracing did not stop because of threshold.

  Fix the logic to stop correctly.

- Fix few minor issues in tests

  Extend tests that were shown to need it to 5s, fix osnoise test
  calling timerlat by mistake, and use new, more reliable output
  checking in timerlat's "top stop at failed action" test.

- Do not print usage on argument parsing error

  RTLA prints the entire usage message on encountering errors in
  argument parsing, like a malformed CPU list.

  The usage message has gotten too long. Instead of printing it,
  use newly added fatal() helper function to simply exit with
  the error message, excluding the usage.

- Fix unintuitive -C/--cgroup interface

  "-C cgroup" and "--cgroup cgroup" are invalid syntax, despite that
  being a common way to specify an option with argument. Moreover,
  using them fails silently and no cgroup is set.

  Create new helper function to unify the handling of all such options
  and allow all of:

  -Xsomething
  -X=something
  -X something

  as well as the equivalent for the long option.

- Fix -a overriding -t argument filename

  Fix a bug where -a following -t custom_file.txt overrides the custom
  filename with the default timerlat_trace.txt.

- Stop tracing correctly on multiple events at once

  In some race scenarios, RTLA BPF sample collection might send multiple
  stop tracing events via the BPF ringbuffer at once.

  Compare the number of events for != 0 instead of == 1 to cover for
  this scenario and stop tracing properly.

Note: The patch "rtla: Fix -C/--cgroup interface" has a minor rename and
      context conflict with patches 96b546c241b1 ("Documentation/rtla:
      rename common_xxx.rst files to common_xxx.txt") and 198fcc7cb832
      ("Documentation/rtla: Mention default priority"), which were picked
      earlier by Jonathan Corbet's linux-docs tree.



trace-tools-v6.19

2 Dec 2025: gfs2 changes for 6.19 [+ + +]
please consider pulling the following gfs2 changes for 6.19.

Note that commit 8a157e0a0aa51 ("gfs2: Fix use of bio_chain") has only been
added three days ago.  It's a fairly obvious bug fix, and I'd rather like to
have it in sooner than later if you don't mind.

Thanks,
Andreas

gfs2 changes

- Major withdraw / error handling overhaul based on dlm's new
  DLM_RELEASE_RECOVER feature: this allows gfs to treat withdraws like
  node failures.  Make withdraws asynchronous.

- Fix a bug in commit e4a8b5481c59a that caused 'df' to remain out of
  sync.  ('df' is still allowed to go slightly out of sync for short
  periods of time.)

- Prevent recusive memory reclaim in gfs2_unstuff_dinode().

- Clean up SDF_JOURNAL_LIVE flag handling.

- Fix remote evict for read-only filesystems.

- Fix a misuse of bio_chain().

- Various other minor cleanups.

2 Dec 2025: hardening updates for v6.19-rc1 [+ + +]
random driver fixes are to correct some accidentally wrong types used in
allocations (that didn't affect the resulting size) that never got
picked up from the batch I sent a few months ago. The Makefile change is
to enable better GCC diagnostics for the value range tracking, so we can
get better visibility into where those values are coming from when we
get out-of-bounds warnings at compile time.

Thanks!

-Kees

hardening updates for v6.19-rc1

- string: Add missing kernel-doc return descriptions (Kriish Sharma)

- Update some mis-typed allocations

- Enable GCC diagnostic context for value-tracking warnings

2 Dec 2025: pstore update for v6.19-rc1 [+ + +]

Thanks!

-Kees

pstore update for v6.19-rc1

- pstore/ram: Update module parameters from platform data (Tzung-Bi Shih)

2 Dec 2025: core/core for v6.19-rc1 [+ + +]
please pull the latest core/core branch from:

2-03


Tree wide cleanup of the remaining users of in_irq() which got replaced
by in_hardirq() and marked deprecated in 2020.

Thanks,

tglx

 
02 Dec 2025: configfs for v6.19 [+ + +]
Here are the changes for configfs for v6.19.

This time it is two commits changing constness of the configfs vtable
pointers. We plan to follow up with changes at call sites down the road.


Best regards,
Andreas Hindborg

configfs changes for v6.19

 
2 Dec 2025: HID subsystem queue for 6.19 merge window [+ + +]
please pull from


to receive HID subsystem queue for 6.19 merge window, namely:

=====
- Proper mapping of HID_GD_Z to ABS_DISTANCE for stylus/pen types of 
  devices (Ping Cheng)
- Power management/hibernation improvements in intel-ish (Zhang Lixu)
- Improved support for several Logitech devices, e.g. G Pro X Superlight 2, 
  new iteration of Lighspeed receiver, G13, G510 (Nathan Rossi, Mavroudis 
  Chatzilazaridis, Leo L. Schwab, Hans de Goede)
- Support for UcLogic XP-PEN Artist 24 Pro (Joshua Goins)
- WinWing Orion2 throttle support improvement (Ivan Gorinov)
- other assorted small fixes and device ID additions
=====

Thanks.

2 Dec 2025: livepatching for 6.19 [+ + +]
please pull the latest printk changes from



- Support two paths where tracefs is typically mounted.

- Make old_sympos 0 and 1 equal. They both are valid when there is
  only one symbol with the given name.

2 Dec 2025: MMC updates for v6.19 [+ + +]
Here's the pull-request with updates for MMC for v6.19. Details about the
highlights are as usual found in the signed tag.


Kind regards
Ulf Hansson


MMC core:
 - Allow more host caps to be modified through debugfs
 - Skip to set the default 200mA SD current limit

MMC host:
 - Convert a few more DT bindings to the DT schema
 - dw_mmc: Add Shawn Lin as co-maintainer for the dw_mmc drivers
 - dw_mmc-rockchip: Add memory clock auto-gating support
 - dw_mmc-rockchip: Add support for the RK3506 variant
 - meson-mx-sdio: Ignore disabled "mmc-slot" child-nodes
 - meson-mx-sdio: Refactoring and general code improvements
 - renesas_sdhi: Enable bigger data ports where available
 - renesas_sdhi: Manage reset in probe and during system-wide suspend/resume
 - sdhci-brcmstb: Add support for the BCM72116 and BCM74371 variants
 - sdhci-brcmstb: Save/restore registers during system-wide suspend/resume
 - sdhci-msm: Add support for the sm8750 and the Kaanapali variants
 - sdhci-msm: Avoid early clock doubling during HS400 transition
 - sdhci-of-dwcmshc: Add command queue support for Rockchip SOCs
 - sdhci-of-dwcmshc: Add support for the Eswin EIC7700 variant

2 Dec 2025: gpio updates for v6.19-rc1 [+ + +]
Here are the GPIO updates for this merge window.

There's one new driver, lots of various updates to existing ones, some
refactoring support for new models and misc tweaks and fixes.

The biggest new feature in GPIO core is adding support for managed,
enable-counted sharing of GPIO pins, something that - until now - was
only hacked around with the GPIOD_FLAGS_BIT_NONEXCLUSIVE request flag
which basically allowed drivers to "fight it out" for the descriptor
and provided no synchronization. It was enabled on Qualcomm platforms
(and thus is enabled on arm64 defconfig) and I plan on removing
GPIOD_FLAGS_BIT_NONEXCLUSIVE once all drivers using it are switched to
the new mechanism.

The merges you'll see in the tree mostly concern the reset-gpio rework
and its driver core prerequisites as well as the resulting fallout in
linux-next and a subsequent slew of fixes to stabilize it and its
unexpected interaction with the new shared GPIO code.


Thanks,
Bartosz

gpio updates for v6.19-rc1

GPIO core:
- add proper support for shared GPIOs that's aiming to replace the
  current sharing mechanism (which provides no synchronization ot enable
  counting) and enable it for Qualcomm platforms
- improve the software node GPIO lookup by using the fwnode
  representation instead of the software node's name which was prone to
  bugs (GPIO controllers don't have to use the software node's name as
  their kernel label)
- remove the last user of legacy-of-mm-gpiochip.h and drop the header
- move closer to removing the legacy gpio_request_one() routine
- rename some symbols for consistency
- shrink GPIO printk() helpers by reusing existing code
- remove some redundant kernel messages
- use min() instead of min_t() in GPIO ACPI code
- use system_percpu_wq instead of system_wq in GPIO character device code

New drivers:
- add a driver for the QIXIS FPGA GPIO controller

Driver improvements:
- use modernized variants of power management macros across a wide array
  of drivers in order to avoid having to use the __maybe_unused attribute
- convert gpio-elkhartlake and reset-gpio to using the auxiliary bus
  instead of the platform bus as they are not really described in
  firmware
- use lock guards and update symbol prefixes in gpio-mmio
- support the bryx radio interface kit in gpio-mpsse + refactor the
  driver
- use software nodes for configuring the reset-gpio driver, including
  setting up the reference to the shared "reset" pin
- check and propagate the return value of gpiod_set_value() to user-space
  in gpio-virtuser (this was previously not possible as this function
  returned void)
- extend the gpio-regmap helper with more features (bypass cache for
  aliased inputs, force writes for aliased data registers, add a new
  configuration parameter)
- remove unneeded includes from gpio-aspeed and gpio-latch
- add support for Tegra410 to gpio-tegra186
- replace PCI-specific PM with generic device-level PM in gpio-bt8xx
- use dynamic GPIO range allocation in gpio-loongson-64bit
- improve handling of level-triggered interrupts in gpio-pca953x
- add suspend/resume support to gpio-fxl6408
- add support for more models to gpio-menz127
- optimize gpio-mvebu interrupt handling by avoiding unnecessary calls
  to mvebu_gpio_irq_handler()
- make locking more consistent in gpio-grgpio

Device-tree bindings:
- document new NXP and Microchip models

Documentation:
- add a comprehensive compatibility and feature list for gpio-pca953x,
  which is a great addition as it's probably the most commonly used GPIO
  expander driver
- kernel-doc tweaks

Late fixes:
- use BYTE_CTRL_MODE for 2K2000/3000 models in gpio-loongson

 
01 Dec 2025: sched_ext: Changes for v6.19 [+ + +]
sched_ext: Changes for v6.19

- Improve recovery from misbehaving BPF schedulers. When a scheduler puts many
  tasks with varying affinity restrictions on a shared DSQ, CPUs scanning
  through tasks they cannot run can overwhelm the system, causing lockups.
  Bypass mode now uses per-CPU DSQs with a load balancer to avoid this, and
  hooks into the hardlockup detector to attempt recovery. Add scx_cpu0 example
  scheduler to demonstrate this scenario.

- Add lockless peek operation for DSQs to reduce lock contention for schedulers
  that need to query queue state during load balancing.

- Allow scx_bpf_reenqueue_local() to be called from anywhere in preparation for
  deprecating cpu_acquire/release() callbacks in favor of generic BPF hooks.

- Prepare for hierarchical scheduler support: add scx_bpf_task_set_slice() and
  scx_bpf_task_set_dsq_vtime() kfuncs, make scx_bpf_dsq_insert*() return bool,
  and wrap kfunc args in structs for future aux__prog parameter.

- Implement cgroup_set_idle() callback to notify BPF schedulers when a cgroup's
  idle state changes.

- Fix migration tasks being incorrectly downgraded from stop_sched_class to
  rt_sched_class across sched_ext enable/disable. Applied late as the fix is
  low risk and the bug subtle but needs stable backporting.

- Various fixes and cleanups including cgroup exit ordering, SCX_KICK_WAIT
  reliability, and backward compatibility improvements.

 
2 Dec 2025: firewire updates for v6.19 [+ + +]
core function changes, and all users get affects from them. I would
appreciate receiving any test report from the users.

firewire updates for v6.19

This release includes two changes for core functions, which affects all
use cases of this subsystem.

 - Handle per-device interoperability quirks
   It is well known that some devices have quirks affecting
   interoperability. To identify such quirks at an early stages of
   device detection, the step for reading the configuration ROM contents
   has been changed. As a side effect, the entire detection process is
   now performed at the basic transaction speed (S100), without no trial
   to probe higher supported speeds.
   With this change, the following devices should now work with fewer
   issues:
   - TASCAM FW-1884, FW-1804, and FW-1082
   - MOTU Audio Express

 - Safer removals of host card
   There was a race condition between host card removal and handling of
   bus reset events in the workqueue. This appears to be a long standing
   issue (for a dozen years or so[1]), and recent changes to use more
   workqueues escalate it. To solve it, a new callback has been added to
   the 1394 OHCI PCI driver to unregister the interrupt sources and wait
   for workqueue completions when removing a card instance.

[1] https://sourceforge.net/p/linux1394/mailman/linux1394-devel/thread/20250629024836.GA16759%40workstation.local/#msg59200628

 
1 Dec 2025: x86/cpu for 6.19-rc1 [+ + +]
note here is Linear Address Space Separation (LASS). It represents the
first time I can think of that the upper=>kernel/lower=>user address
space convention is actually recognized by the hardware on x86. It
ensures that userspace can not even get the hardware to _start_ page
walks for the kernel address space. This, of course, is a really nice
generic side channel defense.

This is really only a down payment on LASS support. There are still
some details to work out in its interaction with EFI calls and
vsyscall emulation. For now, LASS is disabled if either of those
features is compiled in (which is almost always the case).

There's also one straggler commit in here which converts an
under-utilized AMD CPU feature leaf into a generic Linux-defined leaf
so more feature can be packed in there.

--

 * Enable Linear Address Space Separation (LASS)
 * Change X86_FEATURE leaf 17 from an AMD leaf to Linux-defined

 
01 Dec 2025: Documentation for 6.19 [+ + +]
This has been another busy cycle for documentation, with a lot of
build-system thrashing.  That work should slow down from here on out.

- The various scripts and tools for documentation were spread out in
  several directories; now they are (almost) all coalesced under
  tools/docs/.  The holdout is the kernel-doc script, which cannot be
  easily moved without some further thought.

- As the amount of Python code increases, we are accumulating modules that
  are imported by multiple programs.  These modules have been pulled
  together under tools/lib/python/ -- at least, for documentation-related
  programs.  There is other Python code in the tree that might eventually
  want to move toward this organization.

- The Perl kernel-doc.pl script has been removed.  It is no longer used by
  default, and nobody has missed it, least of all anybody who actually had
  to look at it.

- The docs build was controlled by a complex mess of makefilese that few
  dared to touch.  Mauro has moved that logic into a new program
  (tools/docs/sphinx-build-wrapper) that, with any luck at all, will be far
  easier to understand and maintain.

- The get_feat.pl program, used to access information under
  Documentation/features/, has been rewritten in Python, bringing an end to
  the use of Perl in the docs subsystem.

- The top-level README file has been reorganized into a more
  reader-friendly presentation.

- A lot of Chinese translation additions

- Typo fixes and documentation updates as usual

 
1 Dec 2025: x86/entry for 6.19-rc1 [+ + +]
trivial: fix a badly-named FRED data structure member.

--

 * Fix 64-bit identifier structure member name in fred_ss

1 Dec 2025: x86/misc for 6.19-rc1 [+ + +]
are some changes to ensure that symbols exported for KVM are used only
by KVM modules themselves, along with some related cleanups.

In true x86/misc fashion, the other patch is completely unrelated and
just enhances an existing pr_warn() to make it clear to users how they
have tainted their kernel when something is mucking with MSRs.

--

 * Make MSR-induced taint easier for users to track down
 * Restrict KVM-specific exports to KVM itself

1 Dec 2025: x86/sgx for 6.19-rc1 [+ + +]
is adding support for the new EUPDATESVN SGX ISA. Before this, folks
who updated microcode had to reboot before enclaves could attest to
the new microcode. The new functionality lets them do this without a
reboot.

The rest are some nice, but relatively mundane comment and kernel-doc
fixups.

--

 * Allow security version (SVN) updates so enclaves can attest
   to new microcode.
 * Fix kernel docs typos

1 Dec 2025: x86/mm for v6.19-rc1 [+ + +]
please pull the x86/mm lineup for v6.19-rc1.

Thx.

---

- Use the proper accessors when reading CR3 as part of the page level
  transitions (5-level to 4-level, the use case being kexec) so that
  only the physical address in CR3 is picked up and not flags which are
  above the physical mask shift

- Clean up and unify __phys_addr_symbol() definitions

 
01 Dec 2025: SPI updates for v6.19 [+ + +]
spi: Updates for v6.19

This release is almost entirely new drivers, with a couple of small
changes in generic code.  The biggest individual update is a rename of
the existing Microchip driver and the addition of a new driver for the
silicon SPI controller in their PolarFire SoCs.  The overlap between the
soft IP supported by the current driver and this new one is regrettably
all in the IP and not in the register interface offered to software.

 - Add a time offset parameter for offloads, allowing them to be defined
   in relation to each other.  This is useful for IIO type applcations
   where you trigger an operation then read the result after a delay.
 - Add a tracepoint for flash exec_ops, bringing the flash support more
   in line with the debuggability of vanilla SPI.
 - Support for Airoha EN7523, Arduino MCUs, Aspeed AST2700, Microchip
   PolarFire SPI controllers, NXP i.MX51 ECSPI target mode, Qualcomm
   IPQ5414 and IPQ5332, Renesas RZ/T2H, RZ/V2N and RZ/2NH and SpacemiT K1
   QuadSPI.

There's also a small set of ASoC cleanups that I mistakenly applied to
the SPI tree and then put more stuff on top of before it was brought to
my attention, sorry about that.

01 Dec 2025: regmap updates for v6.19 [+ + +]
regmap: Updates for v6.19

Another small update for regmap, we have one new feature plus a little
bit of cleanup:

 - Support for sparseness information in the flat cache, allowing users
   that really need the performance properties it provides to benefit
   from the interface and startup time improvements that sparsness provides
   without needing to go all the way to a more fancy data structure.
 - Cleanup work from Andy Shevchenko, refactoring the cache interface
   in preparation for some future stuff he's working on.

01 Dec 2025: regulator updates for v6.19 [+ + +]
regulator: Updates for v6.19

This is a relatively busy release for the regulator API, as well as a
good collection of new drivers we've got a little bit of core work and a
bunch of cleanup throughout the subsystem:

 - Support for propagating undervoltage events to child regulators.
 - Undo enables done on supplies when setting enabling regulators via
   constraints fails.
 - Pull in some gpiolib changes adding support for shared GPIOs to
   the gpiolib core, using them to replace the open coded variant of this
   that we've had in the regulator API for a long time.
 - Support for Fitipower FP9931 and JD9330, Mediatek MT6316, MT6363 and
   MT6373, NXP PF1550 and Qualcomm PMH01XX and PMCX0102

The PF1550 support was originally going to go via the MFD tree but
Krzysztof's cleanup work overlapped with it so I pulled in Lee's signed
tag with support for the device.

 
1 Dec 2025: hwmon updates for v6.19 [+ + +]


Thanks,
Guenter
------

hwmon updates for v6.19

* New drivers

  - Driver for Apple Silicon SMC

  - Driver for TSC1641 I2C power monitor

  - Driver for MPS MP9945

  - Driver for MAX17616

  - Driver for MP2925 and MP2929

* Added support for new devices to existing drivers

  - dell-smm: Add Dell G5 5505 to fan control whitelist

  - aspeed-g6-pwm-tach: Support for AST2700

  - asus-ec-sensors: Support for  ROG STRIX X470-I GAMING,
    ROG STRIX X870-F GAMING WIFI, ROG STRIX X870E-H GAMING WIFI7,
    and Pro WS TRX50-SAGE WIFI

  - k10temp: Support for AMD Steam Deck APU ID

  - pmbus/isl68137: Support for raa229141

  - aht10: Support for dht20

  - adt7410: Support for ADT7422

  - peci: Support for Intel Emerald Rapids

  - nct6775: Support for ASUS ROG STRIX X870E-H GAMING WIFI7

  - pmbus/max34440: Support for ADPM12200

  - ntc-thermistor: Support for Murata ncp18wm474

* Infrastructure updates

  - Utilize subsystem locking in various drivers

  - ltc4282, ltc2947: Use the new energy64 attribute

* Bug fixes

  - Various drivers: Fixes to avoid TOCTOU, mostly in macro functions
    evaluating parameters multiple times, as well as missing locks

  - max6697: Fix regmap leak on probe failure

  - sy7636a: Fix regulator_enable resource leak on error path

  - asus-ec-sensors: Correct Pro WS TRX50-SAGE WIFI entry

* Other changes and improvements

  - w83781d, lm78: Drop REALLY_SLOW_IO

  - Fix broken datasheet links in various drivers

* Various other minor fixes and improvements

 
01 Dec 2025: cgroup changes for v6.19 [+ + +]
cgroup: Changes for v6.19

- Defer task cgroup unlink until after the dying task's final context switch
  so that controllers see the cgroup properly populated until the task is
  truly gone.

- cpuset cleanups and simplifications. Enforce that domain isolated CPUs
  stay in root or isolated partitions and fail if isolated+nohz_full would
  leave no housekeeping CPU. Fix sched/deadline root domain handling during
  CPU hot-unplug and race for tasks in attaching cpusets.

- Misc fixes including memory reclaim protection documentation and selftest
  KTAP conformance.

 
1 Dec 2025: x86/bugs for v6.19-rc1 [+ + +]
please pull the x86/bugs lineup for v6.19-rc1.

Thx.

---

- Convert the tsx= cmdline parsing to use early_param()

- Cleanup forward declarations gunk in bugs.c

 
01 Dec 2025: workqueue changes for v6.19 [+ + +]
workqueue: Changes for v6.19

- Rescuer affinity management: Affinity now updated only when detached using
  wq_unbound_cpumask consistently. DISASSOCIATED workers also follow unbound
  cpumask changes to avoid breaking CPU isolation.

- Rescuer cleanups preparing for fetching work items one by one from pool list:
  Work assignment factored out, optimized to skip pwqs no longer needing
  rescue, and shutdown logic simplified.

- Unused assert_rcu_or_wq_mutex_or_pool_mutex() removed.

 
1 Dec 2025: pmdomain/cpuidle-psci updates for v6.19 [+ + +]
Here's the pull-request with pmdomain and cpuidle-psci updates for v6.19.
Details about the highlights are as usual found in the signed tag.


Kind regards
Ulf Hansson


pmdomain core:
 - Allow power-off for out-of-band wakeup-capable devices
 - Drop the redundant call to dev_pm_domain_detach() for the amba bus
 - Extend the genpd governor for CPUs to account for IPIs

pmdomain providers:
 - bcm: Add support for BCM2712
 - mediatek: Add support for MFlexGraphics power domains
 - mediatek: Add support for MT8196 power domains
 - qcom: Add RPMh power domain support for Kaanapali
 - rockchip: Add support for RV1126B

pmdomain consumers:
 - usb: dwc3: Enable out of band wakeup for i.MX95
 - usb: chipidea: Enable out of band wakeup for i.MX95

1 Dec 2025: Compute Express Link (CXL) changes for 6.19 [+ + +]

...to receive a collection of changes for CXL.

The additions of note are adding CXL region remove support for locked CXL decoders,
adding unit testing support for XOR address translation, and adding unit testing
support for extended linear cache.

These have all appeared in -next for more than a week with no reported issues.

---

cxl for v6.19

Misc:
- Remove incorrect page-allocator quirk section in documentation.
- Remove unused devm_cxl_port_enumerate_dports() function.
- Fix typo in cdat.c code comment.
- Replace use of system_wq with system_percpu_wq
- Add locked CXL decoder support for region removal.
- Return when generic target updated
- Rename region_res_match_cxl_range() to spa_maps_hpa()
- Clarify comment in spa_maps_hpa()

Enable unit testing for XOR address translation of SPA to DPA and vice versa.
- Refactor address translation funcs for testing in cxl_region.
- Make the XOR calculations available for testing.
- Add cxl_translate module for address translation testing in cxl_test.

Extended Linear Cache changes:
- Add extended linear cache size sysfs attribute.
- Adjust failure emission of extended linear cache detection in cxl_acpi.
- Added extended linear cache unit testing support in cxl_test

Preparation refactor patches for PRM translation support.
- Simplify cxl_rd_ops allocation and handling.
- Group xor arithmetric setup code in a single block.
- Remove local variable @inc in cxl_port_setup_targets()

1 Dec 2025: LKMM changes for v6.19 [+ + +]


lkmm: Update documentation

Changes
-------

* Sort the memory-barriers.txt file's wait_event* and wait_on_bit*
  list alphabetically.

1 Dec 2025: x86/sev for v6.19-rc1 [+ + +]
please pull the x86/sev lineup for v6.19-rc1.

Thx.

---

 - Largely cleanups along with a change to save XSS to the GHCB (Guest-Host
   Communication Block) in SEV-ES guests so that the hypervisor can determine
   the guest's XSAVES buffer size properly and thus support shadow stacks in
   AMD confidential guests

1 Dec 2025: printk for 6.19 [+ + +]
please pull the latest printk changes from



- Allow to create nbcon console drivers with an unsafe write_atomic()
  callback. It can be called only by the final nbcon_atomic_flush_unsafe().
  Otherwise, the driver would rely on the kthread.

  It is going to be used as the-best-effort approach for an experimental
  nbcon netconsole driver, see
  https://lore.kernel.org/r/20251121-nbcon-v1-2-503d17b2b4af@debian.org

  Note that a safe .write_atomic() callback is supposed to work in
  NMI context. But some networking drivers are not safe even in IRQ
  context, see
  https://lore.kernel.org/r/oc46gdpmmlly5o44obvmoatfqo5bhpgv7pabpvb6sjuqioymcg@gjsma3ghoz35

  In the ideal world, all networking drivers were fixed first and
  the atomic flush would be blocked only in NMI context. But it
  brings the question how reliable are networking drivers when
  the system is in a bad state. They might block flushing more
  reliable serial consoles which are more suitable for serious
  debugging anyway.

- Allow to use the last 4 bytes of the printk ring buffer.

- Prevent queuing IRQ work and block printk kthreads when
  consoles are suspended. Otherwise, they create non-necessary
  churn or even block the suspend.

- Release console_lock() between each record in the kthread used
  for legacy consoles on RT. It might significantly speed up
  the boot.

- Release nbcon context between each record in the atomic flush.
  It prevents stalls of the related printk kthread after it has
  lost the ownership in the middle of a record.

- Add support for NBCON consoles into KDB.

- Add %ptsP modifier for printing struct timespec64 and use it
  where possible.

- Misc code clean up.

1 Dec 2025: kbuild changes for v6.19 [+ + +]

Hi Linus,

please pull these update to Kbuild for v6.19.  This is my first pull
request, so 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.

Non-native kbuild changes are related to addition of -fms-extensions and
a conversion example; as well as for the userspace CC_CAN_LINK addition.

Thanks and kind regards,
Nicolas



Kbuild updates for v6.19

  - Enable -fms-extensions, allowing anonymous use of tagged struct or
    union in struct/union (tag kbuild-ms-extensions-6.19).  An exemplary
    conversion patch is added here, too (btrfs).

  - Introduce architecture-specific CC_CAN_LINK and flags for userprogs

  - Add new packaging target 'modules-cpio-pkg' for building a initramfs
    cpio w/ kmods

  - Handle included .c files in gen_compile_commands

  - Minor kbuild changes:
    - Use objtree for module signing key path, fixing oot kmod signing
    - Improve documentation of KBUILD_BUILD_TIMESTAMP
    - Reuse KBUILD_USERCFLAGS for UAPI, instead of defining twice
    - Rename scripts/Makefile.extrawarn to Makefile.warn
    - Drop obsolete types.h check from headers_check.pl
    - Remove outdated config leak ignore entries

Signed-off-by: Nicolas Schier <nsc@kernel.org>

1 Dec 2025: x86/cache for v6.19-rc1 [+ + +]
please pull the x86/cache lineup for v6.19-rc1.

Thx.

---

- Add support for AMD's Smart Data Cache Injection feature which allows
  for direct insertion of data from I/O devices into the L3 cache, thus
  bypassing DRAM and saving its bandwidth; the resctrl side of the feature
  allows the size of the L3 used for data injection to be controlled

- Add Intel Clearwater Forest to the list of CPUs which support Sub-NUMA
  clustering

- Other fixes and cleanups

1 Dec 2025: RAS for v6.19-rc1 [+ + +]
please pull the RAS lineup for v6.19-rc1.

Thx.

---

- The second part of the AMD MCA interrupts rework after the last-minute
  show-stopper from the last merge window was sorted out. After this,
  the AMD MCA deferred errors, thresholding and corrected errors
  interrupt handlers use common MCA code and are tightly integrated
  into the core MCA code, thereby getting rid of considerable
  duplication. All culminating into allowing CMCI error thresholding
  storms to be detected at AMD too, using the common infrastructure

- Add support for two new MCA bank bits on AMD Zen6 which denote whether
  the error address logged is a system physical address, which obviates
  the need for it to be translated before further error recovery can be
  done

1 Dec 2025: IOMMU Updates for Linux v6.19 [+ + +]
IOMMU Updates for Linux v6.19

Including:

- Introduction of the generic IO page-table framework with support for
  Intel and AMD IOMMU formats from Jason. This has good potential for
  unifying more IO page-table implementations and making future
  enhancements more easy. But this also needed quite some fixes during
  development. All known issues have been fixed, but my feeling is that
  there is a higher potential than usual that more might be needed.

- Intel VT-d updates:
  - Use right invalidation hint in qi_desc_iotlb().

  - Reduce the scope of INTEL_IOMMU_FLOPPY_WA.

- ARM-SMMU updates:
  - Qualcomm device-tree binding updates for Kaanapali and Glymur SoCs
    and a new clock for the TBU.

  - Fix error handling if level 1 CD table allocation fails.

  - Permit more than the architectural maximum number of SMRs for funky
    Qualcomm mis-implementations of SMMUv2.

- Mediatek driver:
  - MT8189 iommu support.

- Move ARM IO-pgtable selftests to kunit.

- Device leak fixes for a couple of drivers.

- Random smaller fixes and improvements.

1 Dec 2025: x86/microcode for v6.19-rc1 [+ + +]
please pull the x86/microcode lineup for v6.19-rc1.

There will be a merge conflict with your tree because we had to expedite
urgent fixes.

The resolution - at the end of this message - consists basically of three new
microcode revisions getting added to the Entrysign cutoff check.

Thx.

---

- Add microcode staging support on Intel: it moves the sole microcode
  blobs loading to a non-critical path so that microcode loading
  latencies are kept at minimum. The actual "directing" the hardware to
  load microcode is the only step which is done on the critical path.
  This scheme is also opportunistic as in: on a failure, the machinery
  falls back to normal loading

- Add the capability to the AMD side of the loader to select one of two
  per-family/model/stepping patches: one is pre-Entrysign and the other
  is post-Entrysign; with the goal to take care of machines which
  haven't updated their BIOS yet - something they should absolutely do
  as this is the only proper Entrysign fix

- Other small cleanups and fixlets

1 Dec 2025: EDAC updates for v6.19-rc1 [+ + +]
please pull the EDAC lineup for v6.19-rc1.

Thx.

---

- imh_edac: Add a new EDAC driver for Intel Diamond Rapids and
  future incarnations of this memory controllers architecture

- amd64_edac: Remove the legacy csrow sysfs interface which has been
  deprecated and unused (we assume) for at least a decade

- Add the capability to fallback to BIOS-provided address translation
  functionality (ACPI PRM) which can be used on systems unsupported by
  the current AMD address translation library

- The usual fixes, fixlets, cleanups and improvements all over the place

1 Dec 2025: RCU updates for v6.19 [+ + +]
RCU pull request for v6.19

SRCU
----

_ Properly handle SRCU readers within IRQ disabled sections in tiny SRCU

- Preparation to reimplement RCU Tasks Trace on top of SRCU fast:

    - Introduce API to expedite a grace period and test it through
      rcutorture.

    - Split srcu-fast in two flavours: SRCU-fast and SRCU-fast-updown.
      Both are still targeted toward faster readers (without full
      barriers on LOCK and UNLOCK) at the expense of heavier write side
      (using full RCU grace period ordering instead of simply full
      ordering) as compared to "traditional" non-fast SRCU. But those
      srcu-fast flavours are going to be optimized in two different
      ways:

         - SRCU-fast will become the reimplementation basis for
           RCU-TASK-TRACE for consolidation. Since RCU-TASK-TRACE must
           be NMI safe, SRCU-fast must be as well.

         - SRCU-fast-updown will be needed for uretprobes code in order
           to get rid of the read-side memory barriers while still
           allowing entering the reader at task level while exiting it
           in a timer handler. It is considered semaphore-like in that
           it can have different owners between LOCK and UNLOCK.
           However it is not NMI-safe.

      The actual optimizations are work in progress for the next cycle.
      Only the new interfaces are added for now, along with related
      torture and scalability test code.

- Create/document/debug/torture new proper initializers for RCU fast:
  DEFINE_SRCU_FAST() and init_srcu_struct_fast()

  This allows for using right away the proper ordering on the write
  side (either full ordering or full RCU grace period ordering) without
  waiting for the read side to tell which to use. Also this optimizes
  the read side altogether with moving flavour debug checks under debug
  config and with removing a costly RmW operation on their first call.

- Make some diagnostic functions tracing safe.

REFSCALE
-------

Add performance testing for common context synchronizations
(Preemption, IRQ, Softirq) and per-cpu increments. Those are
relevant comparisons against SRCU-fast read side APIs, especially
as they are planned to synchronize further tracing fast-path code.

MISCELLANOUS
------

- In order to prepare the layout for nohz_full work deferral to
  user exit, the context tracking state must shrink the counter
  of transitions to/from RCU not watching. The only possible hazard
  is to trigger wrap-around more easily, delaying a bit grace periods
  when that happens. This should be a rare event though. Yet add
  debugging and torture code to test that assumption.

- Fix memory leak on locktorture module

- Annotate accesses in rculist_nulls.h to prevent from KCSAN warnings.
  On recent discussions, we also concluded that all those WRITE_ONCE()
  and READ_ONCE() on list APIs deserve appropriate comments. Something
  to be expected for the next cycle.

- Provide a script to apply several configs to several commits with torture.

- Allow torture to reuse a build directory in order to save needless
  rebuild time.

- Various cleanups.

No known conflicts.

1 Dec 2025: erofs updates for 6.19-rc1 [+ + +]
Could you consider this pull request for 6.19-rc1?

There is still no outstanding feature for this cycle
since page cache sharing feature is still under review.

All commits have been in -next except for the obvious
license change one and no potential merge conflict is
observed.

Thanks,
Gao Xiang

Changes since last update:

 - Fix a WARNING caused by a recent FSDAX misdetection regression

 - Fix the filesystem stacking limit for file-backed mounts

 - Print more informative diagnostics on decompression errors

 - Switch the on-disk definition `erofs_fs.h` to the MIT license

 - Minor cleanups

1 Dec 2025: Core kernel bug handling infrastructure changes for v6.19 [+ + +]



 [ MERGE NOTE: this pull request depends on you having 
   pulled the objtool-core-2025-12-01 tree already. If 
   you haven't yet then please disregard this pull 
   request. ]

Core kernel bug handling infrastructure changes for v6.19:

  - Improve WARN(), which has vararg printf like arguments,
    to work with the x86 #UD based WARN-optimizing infrastructure
    by hiding the format in the bug_table and replacing this
    first argument with the address of the bug-table entry,
    while making the actual function that's called a UD1 instruction.
    (Peter Zijlstra)

  - Introduce the CONFIG_DEBUG_BUGVERBOSE_DETAILED Kconfig switch
    (Ingo Molnar, s390 support by Heiko Carstens)

Fixes and cleanups:

  - bugs/s390: Remove private WARN_ON() implementation (Heiko Carstens)

  - <asm/bugs.h>: Make i386 use GENERIC_BUG_RELATIVE_POINTERS
    (Peter Zijlstra)

 Thanks,

Ingo

1 Dec 2025: GNSS updates for 6.19-rc1 [+ + +]
GNSS updates for 6.19-rc1

Here are the GNSS updates for 6.19-rc1, including:

 - add support for claiming and deasserting the safeboot pin found on
   recent u-blox receivers
 - fix timepulse pin description in the devicetree binding

Included are also some related binding updates.

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

1 Dec 2025: x86/build change for v6.19 [+ + +]



A single fix for an ancient prototype in the math-emu code, by Arnd Bergmann.

 Thanks,

Ingo

1 Dec 2025: x86/apic changes for v6.19 [+ + +]



x86/apic changes for v6.19:

  - x86/apic: Fix the frequency in apic=verbose log output (Julian Stecklina)

  - Simplify mp_irqdomain_alloc() slightly (Christophe JAILLET)

 Thanks,

Ingo

1 Dec 2025: Scheduler changes for v6.19 [+ + +]



Scheduler changes for v6.19:

Scalability and load-balancing improvements:

  - Enable scheduler feature NEXT_BUDDY (Mel Gorman)

  - Reimplement NEXT_BUDDY to align with EEVDF goals (Mel Gorman)

  - Skip sched_balance_running cmpxchg when balance is not due (Tim Chen)

  - Implement generic code for architecture specific sched domain
    NUMA distances (Tim Chen)

  - Optimize the NUMA distances of the sched-domains builds of Intel
    Granite Rapids (GNR) and Clearwater Forest (CWF) platforms
    (Tim Chen)

  - Implement proportional newidle balance: a randomized algorithm
    that runs newidle balancing proportional to its success rate.
    (Peter Zijlstra)

Scheduler infrastructure changes:

  - Implement the 'sched_change' scoped_guard() pattern for
    the entire scheduler (Peter Zijlstra)

  - More broadly utilize the sched_change guard (Peter Zijlstra)

  - Add support to pick functions to take runqueue-flags (Joel Fernandes)

  - Provide and use set_need_resched_current() (Peter Zijlstra)

Fair scheduling enhancements:

  - Forfeit vruntime on yield (Fernand Sieber)
  - Only update stats for allowed CPUs when looking for dst group (Adam Li)

CPU-core scheduling enhancements:

  - Optimize core cookie matching check (Fernand Sieber)

Deadline scheduler fixes:

  - Only set free_cpus for online runqueues (Doug Berger)
  - Fix dl_server time accounting (Peter Zijlstra)
  - Fix dl_server stop condition (Peter Zijlstra)

Proxy scheduling fixes:

  - Yield the donor task (Fernand Sieber)

Fixes and cleanups:

  - Fix do_set_cpus_allowed() locking (Peter Zijlstra)
  - Fix migrate_disable_switch() locking (Peter Zijlstra)
  - Remove double update_rq_clock() in __set_cpus_allowed_ptr_locked() (Hao Jia)
  - Increase sched_tick_remote timeout (Phil Auld)
  - sched/deadline: Use cpumask_weight_and() in dl_bw_cpus() (Shrikanth Hegde)
  - sched/deadline: Clean up select_task_rq_dl() (Shrikanth Hegde)

 Thanks,

Ingo

1 Dec 2025: Performance events changes for v6.19 [+ + +]



Performance events changes for v6.19:

Callchain support:

 - Add support for deferred user-space stack unwinding for
   perf, enabled on x86. (Peter Zijlstra, Steven Rostedt)

 - unwind_user/x86: Enable frame pointer unwinding on x86
   (Josh Poimboeuf)

x86 PMU support and infrastructure:

 - x86/insn: Simplify for_each_insn_prefix() (Peter Zijlstra)

 - x86/insn,uprobes,alternative: Unify insn_is_nop()
   (Peter Zijlstra)

Intel PMU driver:

 - Large series to prepare for and implement architectural PEBS
   support for Intel platforms such as Clearwater Forest (CWF)
   and Panther Lake (PTL). (Dapeng Mi, Kan Liang)

 - Check dynamic constraints (Kan Liang)

 - Optimize PEBS extended config (Peter Zijlstra)

 - cstates: Remove PC3 support from LunarLake (Zhang Rui)

 - cstates: Add Pantherlake support (Zhang Rui)

 - cstates: Clearwater Forest support (Zide Chen)

AMD PMU driver:

 - x86/amd: Check event before enable to avoid GPF (George Kennedy)

Fixes and cleanups:

 - task_work: Fix NMI race condition (Peter Zijlstra)

 - perf/x86: Fix NULL event access and potential PEBS record loss
   (Dapeng Mi)

 - Misc other fixes and cleanups.
   (Dapeng Mi, Ingo Molnar, Peter Zijlstra)

 Thanks,

Ingo

1 Dec 2025: s390 updates for 6.19 merge window [+ + +]
please pull s390 updates for the 6.19 merge window.

Note that there will be two merge conflicts:

- The new s390 system call table format conflicts with the introduction of the
  new listns system call from the vfs namespace tree

- Removal of two memory hotplug states conflicts with the conversion of memory
  hotplug states from macros to enums from the mm tree.
  The merge conflict resolution can be found here:
  https://lore.kernel.org/all/20251103100750.4522060e@canb.auug.org.au/

Thanks,
Heiko

s390 updates for 6.19 merge window

- Provide a new interface for dynamic configuration and deconfiguration of
  hotplug memory, allowing with and without memmap_on_memory support. This
  makes the way memory hotplug is handled on s390 much more similar to
  other architectures

- Remove compat support. There shouldn't be any compat user space around
  anymore, therefore get rid of a lot of code which also doesn't need to be
  tested anymore

- Add stackprotector support. GCC 16 will get new compiler options, which
  allow to generate code required for kernel stackprotector support

- Merge pai_crypto and pai_ext PMU drivers into a new driver. This removes
  a lot of duplicated code. The new driver is also extendable and allows
  to support new PMUs

- Add driver override support for AP queues

- Rework and extend zcrypt and AP trace events to allow for tracing of
  crypto requests

- Support block sizes larger than 65535 bytes for CCW tape devices

- Since the rework of the virtual kernel address space the module area and
  the kernel image are within the same 4GB area. This eliminates the need
  of weak per cpu variables. Get rid of ARCH_MODULE_NEEDS_WEAK_PER_CPU

- Various other small improvements and fixes

1 Dec 2025: objtool changes for v6.19 [+ + +]



objtool updates for v6.19:

 - klp-build livepatch module generation (Josh Poimboeuf)

   Introduce new objtool features and a klp-build
   script to generate livepatch modules using a
   source .patch as input.

   This builds on concepts from the longstanding out-of-tree
   kpatch project which began in 2012 and has been used for
   many years to generate livepatch modules for production kernels.
   However, this is a complete rewrite which incorporates
   hard-earned lessons from 12+ years of maintaining kpatch.

   Key improvements compared to kpatch-build:

    - Integrated with objtool: Leverages objtool's existing control-flow
      graph analysis to help detect changed functions.

    - Works on vmlinux.o: Supports late-linked objects, making it
      compatible with LTO, IBT, and similar.

    - Simplified code base: ~3k fewer lines of code.

    - Upstream: No more out-of-tree #ifdef hacks, far less cruft.

    - Cleaner internals: Vastly simplified logic for symbol/section/reloc
      inclusion and special section extraction.

    - Robust __LINE__ macro handling: Avoids false positive binary diffs
      caused by the __LINE__ macro by introducing a fix-patch-lines script
      which injects #line directives into the source .patch to preserve
      the original line numbers at compile time.

 - Disassemble code with libopcodes instead of running objdump
   (Alexandre Chartre)

 - Disassemble support (-d option to objtool) by Alexandre Chartre,
   which supports the decoding of various Linux kernel code generation
   specials such as alternatives:

      17ef:  sched_balance_find_dst_group+0x62f                 mov    0x34(%r9),%edx
      17f3:  sched_balance_find_dst_group+0x633               | <alternative.17f3>             | X86_FEATURE_POPCNT
      17f3:  sched_balance_find_dst_group+0x633               | call   0x17f8 <__sw_hweight64> | popcnt %rdi,%rax
      17f8:  sched_balance_find_dst_group+0x638                 cmp    %eax,%edx

   ... jump table alternatives:

      1895:  sched_use_asym_prio+0x5                            test   $0x8,%ch
      1898:  sched_use_asym_prio+0x8                            je     0x18a9 <sched_use_asym_prio+0x19>
      189a:  sched_use_asym_prio+0xa                          | <jump_table.189a>                        | JUMP
      189a:  sched_use_asym_prio+0xa                          | jmp    0x18ae <sched_use_asym_prio+0x1e> | nop2
      189c:  sched_use_asym_prio+0xc                            mov    $0x1,%eax
      18a1:  sched_use_asym_prio+0x11                           and    $0x80,%ecx

   ... exception table alternatives:

    native_read_msr:
      5b80:  native_read_msr+0x0                                                     mov    %edi,%ecx
      5b82:  native_read_msr+0x2                                                   | <ex_table.5b82> | EXCEPTION
      5b82:  native_read_msr+0x2                                                   | rdmsr           | resume at 0x5b84 <native_read_msr+0x4>
      5b84:  native_read_msr+0x4                                                     shl    $0x20,%rdx

   .... x86 feature flag decoding (also see the X86_FEATURE_POPCNT
        example in sched_balance_find_dst_group() above):

      2faaf:  start_thread_common.constprop.0+0x1f                                    jne    0x2fba4 <start_thread_common.constprop.0+0x114>
      2fab5:  start_thread_common.constprop.0+0x25                                  | <alternative.2fab5>                  | X86_FEATURE_ALWAYS                                  | X86_BUG_NULL_SEG
      2fab5:  start_thread_common.constprop.0+0x25                                  | jmp    0x2faba <.altinstr_aux+0x2f4> | jmp    0x4b0 <start_thread_common.constprop.0+0x3f> | nop5
      2faba:  start_thread_common.constprop.0+0x2a                                    mov    $0x2b,%eax

   ... NOP sequence shortening:

      1048e2:  snapshot_write_finalize+0xc2                                            je     0x104917 <snapshot_write_finalize+0xf7>
      1048e4:  snapshot_write_finalize+0xc4                                            nop6
      1048ea:  snapshot_write_finalize+0xca                                            nop11
      1048f5:  snapshot_write_finalize+0xd5                                            nop11
      104900:  snapshot_write_finalize+0xe0                                            mov    %rax,%rcx
      104903:  snapshot_write_finalize+0xe3                                            mov    0x10(%rdx),%rax

   ... and much more.

 - Function validation tracing support (Alexandre Chartre)

 - Various -ffunction-sections fixes (Josh Poimboeuf)

 - Clang AutoFDO (Automated Feedback-Directed Optimizations) support (Josh Poimboeuf)

 - Misc fixes and cleanups (Borislav Petkov, Chen Ni,
   Dylan Hatch, Ingo Molnar, John Wang, Josh Poimboeuf,
   Pankaj Raghav, Peter Zijlstra, Thorsten Blum)

 Thanks,

Ingo

1 Dec 2025: Crypto Update for 6.19 [+ + +]
This update includes the following changes:

API:

- Rewrite memcpy_sglist from scratch.
- Add on-stack AEAD request allocation.
- Fix partial block processing in ahash.

Algorithms:

- Remove ansi_cprng.
- Remove tcrypt tests for poly1305.
- Fix EINPROGRESS processing in authenc.
- Fix double-free in zstd.

Drivers:

- Use drbg ctr helper when reseeding xilinx-trng.
- Add support for PCI device 0x115A to ccp.
- Add support of paes in caam.
- Add support for aes-xts in dthev2.

Others:

- Use likely in rhashtable lookup.
- Fix lockdep false-positive in padata by removing a helper.
1 Dec 2025: m68k updates for v6.19 [+ + +]
m68k updates for v6.19

  - Defconfig updates.

Thanks for pulling!

1 Dec 2025: media updates [+ + +]

a/v6.19-1

For:

- New Mali-C55 ISP Driver;
- New Rockchip VICAP (RKCIF) Driver;
- New RKVDEC HEVC Decoder;
- New Renesas RZV2H IVC Driver;
- New Sony IMX111 CMOS sensor driver;
- Removed STi C8SECTPFE Driver;
- Added a V4L2 ISP generic framework;
- Usual set of cleanup, fixes and driver improvements.

Thanks!
Mauro

---

[GIT PULL for v6.19] media updates

1 Dec 2025: pwm: Changes for v6.19-rc1 [+ + +]
Subject: [GIT PULL] pwm: Changes for v6.19-rc1
MIME-Version: 1.0

Hello Linus,

the following changes since commit f84fd5bec502447df145f31734793714690ce27f:

  pwm: adp5585: Correct mismatched pwm chip info (2025-11-14 11:55:56 +0100)

are available in the Git repository at:

wm/for-6.19-rc1

for you to fetch changes up to fae00ea9f00367771003ace78f29549dead58fc7:

  pwm: rzg2l-gpt: Allow checking period_tick cache value only if sibling ch=
annel is enabled (2025-11-27 09:58:07 +0100)

for the merge window leading to (I guess) 6.19-rc1.

pwm: Changes for v6.19-rc1

Additional to the usual mix of core cleanups, driver changes, minor
fixes and device tree updates the highlight this cycle is Rust support
for the core and a first Rust driver both provided by Michal Wilczynski.
Michal wrote about these changes on
https://mwilczynski.dev/posts/bringing-rust-to-the-pwm-subsystem/ which
is a nice read.


There is a merge conflict with the modules tree, commits=20

0b24f9740f26 rust: module: update the module macro with module parameter s=
upport
3809d7a89fe5 rust: module: use a reference in macros::module::module

currently in next. I think there is no pull request for these yet. The
conflict is resolved correctly in next, the resolution is straight
forward apart from moving a & in the last hunk about import_ns which is
a continuation of 3809d7a89fe5 for the changes added in commit
739ad9be61e5 ("rust: macros: Add support for 'imports_ns' to module!").
For reference here is my resolution:

1 Dec 2025: core/rseq for v6.19-rc1 [+ + +]
please pull the latest core/rseq branch from:

1-30


A large overhaul of the restartable sequences and CID management:

  The recent enablement of RSEQ in glibc resulted in regressions which are
  caused by the related overhead. It turned out that the decision to invoke
  the exit to user work was not really a decision. More or less each
  context switch caused that. There is a long list of small issues which
  sums up nicely and results in a 3-4% regression in I/O benchmarks.

  The other detail which caused issues due to extra work in context switch
  and task migration is the CID (memory context ID) management. It also
  requires to use a task work to consolidate the CID space, which is
  executed in the context of an arbitrary task and results in sporadic
  uncontrolled exit latencies.

  The rewrite addresses this by:

  - Removing deprecated and long unsupported functionality

  - Moving the related data into dedicated data structures which are
    optimized for fast path processing.

  - Caching values so actual decisions can be made

  - Replacing the current implementation with a optimized inlined variant.

  - Separating fast and slow path for architectures which use the generic
    entry code, so that only fault and error handling goes into the
    TIF_NOTIFY_RESUME handler.

  - Rewriting the CID management so that it becomes mostly invisible in the
    context switch path. That moves the work of switching modes into the
    fork/exit path, which is a reasonable tradeoff. That work is only
    required when a process creates more threads than the cpuset it is
    allowed to run on or when enough threads exit after that. An artificial
    thread pool benchmarks which triggers this did not degrade, it actually
    improved significantly.

    The main effect in migration heavy scenarios is that runqueue lock held
    time and therefore contention goes down significantly.

Note: This contains parts of the scoped uaccess series.

Thanks,

tglx

1 Dec 2025: timers/core for v6.19-rc1 [+ + +]
please pull the latest timers/core branch from:

-11-30



Update to the time/timers core:

  - Prevent a thundering herd problem when the timekeeper CPU is delayed
    and a large number of CPUs compete to acquire jiffies_lock to do the
    update. Limit it to one CPU with a separate "uncontended" atomic
    variable.

  - A set of improvements for the timer migration mechanism:

    - Support imbalanced NUMA trees correctly
   =20
    - Support dynamic exclusion of CPUs from the migrator duty to allow the
      cpuset/isolation mechanism to exclude them from handling timers of
      remote idle CPUs.

   - The usual small updates, cleanups and enhancements

Thanks,

tglx

1 Dec 2025: timers/clocksource for v6.19-rc1 [+ + +]
please pull the latest timers/clocksource branch from:

ce-2025-11-30

b/scm/linux/kernel/git/daniel.lezcano/linux into timers/clocksource


Updates for clocksource and clockevent drivers:

 - A new driver for the Realtel system timer

 - Prevent the unbinding of timers when the drivers do not support that.

 - Expand the timer counter readout for the SPRD driver to 64 bit to allow
   IOT devices suspend times of more than 36 hours, which is the current
   limit of the 32-bi readout

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

Thanks,

tglx

1 Dec 2025: irq/core for v6.19-rc1 [+ + +]
please pull the latest irq/core branch from:

-30

finity setting

Updates for the interrupt core and treewide cleanups:

  - Rework of the Per Processor Interrupt (PPI) management on ARM[64].

    PPI support was built under the assumption that the systems are
    homogenous so that the same CPU local device types are connected to
    them. That's unfortunately wishful thinking and created horrible
    workarounds.

    This rework provides affinity management for PPIs so that they can be
    individually configured in the firmware tables and mops up the related
    drivers all over the place.

  - Prevent CPUSET/isolation changes to arbitrarily affine interrupt
    threads to random CPUs, which ignores user or driver settings.

  - Plug a harmless race in the interrupt affinity proc interface, which
    allows to see a half updated mask

  - Adjust the priority of secondary interrupt threads on RT, so that the
    combination of primary and secondary thread emulates the hardware
    interrupt plus thread scenario. Having them at the same priority can
    cause starvation issues in some drivers.

Thanks,

tglx

1 Dec 2025: irq/drivers for v6.19-rc1 [+ + +]
please pull the latest irq/drivers branch from:

-11-30

7D SoCs

Boring updates for interrupt drivers:

  - Support for a couple of new ARM64 and RISCV SoC variants and their
    magic interrupt controllers which either can reuse existing code or
    require quirks due to a botched hardware implementation.

  - More section mismatch fixes.

  - The usual cleanups and fixes all over the place.

Thanks,

tglx

1 Dec 2025: irq/msi for v6.19-rc1 [+ + +]
please pull the latest irq/msi branch from:

30



Updates for [PCI] MSI related code:

 - Remove one variant of PCI/MSI management as all users have been
   converted to use per device domains. That reduces the variants to two:

   The modern and the real archaic legacy variant, which keeps the usual
   suspects in the museum category alive.

 - Rework the platform MSI device ID detection mechanism in the ARM GIC
   world to address resource leaks, duplicated code and other details. This
   requires a corresponding preparatory step in the PCI/iproc driver.

 - Trivial core code cleanups

=20
Thanks,

tglx

1 Dec 2025: core/uaccess for v6.19-rc1 [+ + +]
please pull the latest core/uaccess branch from:

5-11-30

begin when required

Scoped user mode access and related changes:

 - Implement the missing u64 user access function on ARM when
   CONFIG_CPU_SPECTRE=3Dn. This makes it possible to access a 64bit value in
   generic code with [unsafe_]get_user(). All other architectures and ARM
   variants provide the relevant accessors already.

 - Ensure that ASM GOTO jump label usage in the user mode access helpers
   always goes through a local C scope label indirection inside the
   helpers. This is required because compilers are not supporting that a
   ASM GOTO target leaves a auto cleanup scope. GCC silently fails to emit
   the cleanup invocation and CLANG fails the build.

   This provides generic wrapper macros and the conversion of affected
   architecture code to use them.

 - Scoped user mode access with auto cleanup

   Access to user mode memory can be required in hot code paths, but if it
   has to be done with user controlled pointers, the access is shielded
   with a speculation barrier, so that the CPU cannot speculate around the
   address range check. Those speculation barriers impact performance quite
   significantly. This can be avoided by "masking" the provided pointer so
   it is guaranteed to be in the valid user memory access range and
   otherwise to point to a guaranteed unpopulated address space. This has
   to be done without branches so it creates an address dependency for the
   access, which the CPU cannot speculate ahead.

   This results in repeating and error prone programming patterns:

         if (can_do_masked_user_access())
                    from =3D masked_user_read_access_begin((from));
            else if (!user_read_access_begin(from, sizeof(*from)))
                    return -EFAULT;
            unsafe_get_user(val, from, Efault);
            user_read_access_end();
            return 0;
      Efault:
            user_read_access_end();
            return -EFAULT;

    which can be replaced with scopes and automatic cleanup:

            scoped_user_read_access(from, Efault)
                    unsafe_get_user(val, from, Efault);
            return 0;
       Efault:
            return -EFAULT;


 - Convert code which implements the above pattern over to
   scope_user.*.access(). This also corrects a couple of imbalanced
   masked_*_begin() instances which are harmless on most architectures, but
   prevent PowerPC from implementing the masking optimization.

 - Add a missing speculation barrier in copy_from_user_iter()

Thanks,

tglx

1 Dec 2025: core/debugobjects for v6.19-rc1 [+ + +]
please pull the latest core/debugobjects branch from:

s-2025-11-30

EP

Two small updates for debugobjects:

    - Allow pool refill on RT enabled kernels before the scheduler is up
      and running to prevent pool exhaustion

    - Correct the lockdep override to prevent false positives.

Thanks,

tglx

1 Dec 2025: chrome-platform updates for v6.19 [+ + +]

Hi Linus,


Thanks,
Tzung-Bi
------

chrome-platform: Updates for v6.19

* Improvements

  - Support legacy probe behavior in cros_ec_lightbar and
    cros_ec_sensorhub.

* Fixes

  - Don't fall back to legacy probe behavior if it isn't a legacy device
    in cros_usbpd_notify.
  - Fix an UAF after unbinding driver in cros_ec_ishtp.

 
30 Nov 2025: hfs/hfsplus changes for 6.19-rc1 [+ + +]
This pull request contains several fixes of syzbot reported
issues, HFS/HFS+ fixes of xfstests failures, Kunit-based unit-tests
introduction, and code cleanup.

Dan Carpenter has fixed the potential use-after-free issue
in hfs_correct_next_unused_CNID() method. Tetsuo Handa has made
nice fix of syzbot reported issue related to incorrect
inode->i_mode management if volume has been corrupted somehow.
Yang Chenzhi has made really good fix of potential race
condition in __hfs_bnode_create() method for HFS+ file system.

Several patches fix the xfstests failures. Particularly, generic/070,
generic/073, and generic/101 test-cases can be finished successfully
for the case of HFS+ file system right now.

HFS and HFS+ drivers share multiple structures of on-disk layout
declarations. Some structures are used without any change. However,
we had two independent declarations of the same structures in
HFS and HFS+ drivers. The on-disk layout declarations have been moved
into include/linux/hfs_common.h with the goal to exclude the
declarations duplication and to keep the HFS/HFS+ on-disk layout
declarations in one place. Also, this patch prepares
the basis for creating a hfslib that can aggregate common
functionality without necessity to duplicate the same code
in HFS and HFS+ drivers.

HFS/HFS+ really need unit-tests because of multiple xfstests
failures. The first two patches introduce Kunit-based unit-tests
for the case string operations in HFS/HFS+ file system drivers.

hfs/hfsplus updates for v6.19

- hfs/hfsplus: move on-disk layout declarations into hfs_common.h
- hfsplus: fix volume corruption issue for generic/101
- hfsplus: introduce KUnit tests for HFS+ string operations
- hfs: introduce KUnit tests for HFS string operations
- hfsplus: fix volume corruption issue for generic/073
- hfsplus: Verify inode mode when loading from disk
- hfsplus: fix volume corruption issue for generic/070
- hfs/hfsplus: prevent getting negative values of offset/length
- hfsplus: fix missing hfs_bnode_get() in __hfs_bnode_create
- hfs: fix potential use after free in hfs_correct_next_unused_CNID()

 
1 Dec 2025: random number generator updates for 6.19-rc1 [+ + +]

- Dynamically allocate cpumasks off of the stack, potentially, if the kernel is
  configured for a lot of CPUs, to handle a -Wframe-larger-than case.

- The removal of next_pseudo_random32() after the last user was switched over
  to the prandom interface.

- The removal of get_random_u{8,16,32,64}_wait() functions, as there were no
  users of those at all.

- Some house keeping changes - a few grammar cleanups in the comments,
  system_unbound_wq was renamed to system_dfl_wq, and static_key_initialized no
  longer needs to be checked.

These have been sitting in my tree for a while and haven't surface any issues.

Thanks,
Jason

Random number generator updates for Linux 6.19-rc1.
1 Dec 2025: Rust for 6.19 [+ + +]
This is the next round of the Rust support.

The biggest one so far in terms of lines, but conceptually not so much.
The reason is that this is the PR that adds `syn` support -- I used a
merge commit for that patch series to keep the cover letter context.

No conflicts expected at this time. Nevertheless, I did a test merge.
When you merge other trees, you will have some. The resolutions in
linux-next should be fine.

All commits have been in linux-next for at least four rounds; most for
more than a week. The only C side change is the Rust-related kallsyms
one, which I had for an extra week in -next (in another branch).


Cheers,
Miguel

Rust changes for v6.19

Toolchain and infrastructure:

 - Add support for 'syn'.

     Syn is a parsing library for parsing a stream of Rust tokens into a
     syntax tree of Rust source code.

     Currently this library is geared toward use in Rust procedural
     macros, but contains some APIs that may be useful more generally.

   'syn' allows us to greatly simplify writing complex macros such as
   'pin-init' (Benno has already prepared the 'syn'-based version). We
   will use it in the 'macros' crate too.

   'syn' is the most downloaded Rust crate (according to crates.io), and
   it is also used by the Rust compiler itself. While the amount of code
   is substantial, there should not be many updates needed for these
   crates, and even if there are, they should not be too big, e.g. +7k
   -3k lines across the 3 crates in the last year.

   'syn' requires two smaller dependencies: 'quote' and 'proc-macro2'.
   I only modified their code to remove a third dependency
   ('unicode-ident') and to add the SPDX identifiers. The code can be
   easily verified to exactly match upstream with the provided scripts.

   They are all licensed under "Apache-2.0 OR MIT", like the other
   vendored 'alloc' crate we had for a while.

   Please see the merge commit with the cover letter for more context.

 - Allow 'unreachable_pub' and 'clippy::disallowed_names' for doctests.

   Examples (i.e. doctests) may want to do things like show public items
   and use names such as 'foo'.

   Nevertheless, we still try to keep examples as close to real code as
   possible (this is part of why running Clippy on doctests is important
   for us, e.g. for safety comments, which userspace Rust does not
   support yet but we are stricter).

'kernel' crate:

 - Replace our custom 'CStr' type with 'core::ffi::CStr'.

   Using the standard library type reduces our custom code footprint,
   and we retain needed custom functionality through an extension trait
   and a new 'fmt!' macro which replaces the previous 'core' import.

   This started in 6.17 and continued in 6.18, and we finally land the
   replacement now. This required quite some stamina from Tamir, who
   split the changes in steps to prepare for the flag day change here.

 - Replace 'kernel::c_str!' with C string literals.

   C string literals were added in Rust 1.77, which produce '&CStr's
   (the 'core' one), so now we can write:

       c"hi"

   instead of:

       c_str!("hi")

 - Add 'num' module for numerical features.

   It includes the 'Integer' trait, implemented for all primitive
   integer types.

   It also includes the 'Bounded' integer wrapping type: an integer
   value that requires only the 'N' less significant bits of the wrapped
   type to be encoded:

       // An unsigned 8-bit integer, of which only the 4 LSBs are used.
       let v = Bounded::<u8, 4>::new::<15>();
       assert_eq!(v.get(), 15);

   'Bounded' is useful to e.g. enforce guarantees when working with
   bitfields that have an arbitrary number of bits.

   Values can be constructed from simple non-constant expressions or,
   for more complex ones, validated at runtime.

   'Bounded' also comes with comparison and arithmetic operations (with
   both their backing type and other 'Bounded's with a compatible
   backing type), casts to change the backing type, extending/shrinking
   and infallible/fallible conversions from/to primitives as applicable.

 - 'rbtree' module: add immutable cursor ('Cursor').

   It enables to use just an immutable tree reference where appropriate.
   The existing fully-featured mutable cursor is renamed to 'CursorMut'.

kallsyms:

 - Fix wrong "big" kernel symbol type read from procfs.

'pin-init' crate:

 - A couple minor fixes (Benno asked me to pick these patches up for
   him this cycle).

Documentation:

 - Quick Start guide: add Debian 13 (Trixie).

   Debian Stable is now able to build Linux, since Debian 13 (released
   2025-08-09) packages Rust 1.85.0, which is recent enough.

   We are planning to propose that the minimum supported Rust version in
   Linux follows Debian Stable releases, with Debian 13 being the first
   one we upgrade to, i.e. Rust 1.85.

MAINTAINERS:

 - Add entry for the new 'num' module.

 - Remove Alex as Rust maintainer: he hasn't had the time to contribute
   for a few years now, so it is a no-op change in practice.

And a few other cleanups and improvements.

 
30 Nov 2025: slab updates for 6.19 [+ + +]
please pull the latest slab updates from:


Similarly to the VFS pull, part of the changes here are based on a merge of
the kbuild-ms-extensions-6.19 tag from the kbuild tree, so pulling kbuild
(or VFS) first would avoid pulling those via this PR.

Thanks,
Vlastimil


- mempool_alloc_bulk() support for upcoming users in the block layer that need
  to allocate multiple objects at once with the mempool's guaranteed progress
  semantics, which is not achievable with an allocation single objects in a
  loop. Along with refactoring and various improvements. (Christoph Hellwig)

- Preparations for the upcoming separation of struct slab from struct page,
  mostly by removing the struct folio layer, as the purpose of struct folio
  has shifted since it became used in slab code. (Matthew Wilcox)

- Modernisation of slab's boot param API usage, which removes some unexpected
  parsing corner cases. (Petr Tesarik)

- Refactoring of freelist_aba_t (now struct freelist_counters) and associated
  functions for double cmpxchg, enabled by -fms-extensions. (Vlastimil Babka)

- Cleanups and improvements related to sheaves caching layer, that were part
  of the full conversion to sheaves, which is planned for the next release.
  (Vlastimil Babka)

30 Nov 2025: nolibc changes for v6.19 [+ + +]
nolibc changes for v6.19

Highlights:

* Preparations to the use of nolibc in UML.
  * Cleanup of sparse warnings.
  * Library mode without _start().
  * More consistency when disabling errno.
* Unconditional installation of all architecture support files.
* Always 64-bit wide ino_t and off_t.
* Various cleanups and bug fixes.

 
29 Nov 2025: arm64 FPSIMD buffer on-stack for 6.19 [+ + +]
Note: this is more of a core arm64 change.  However, I was asked to take
this because most uses of kernel-mode FPSIMD are in crypto or CRC code.
There were also conflicts with lib/crypto/ changes this cycle, which I
resolved.  But as a result, this depends on the pull request "Crypto
library updates for 6.19".  So that one needs to be merged first.


In v6.8, the size of task_struct on arm64 increased by 528 bytes due
to the new 'kernel_fpsimd_state' field. This field was added to allow
kernel-mode FPSIMD code to be preempted.

Unfortunately, 528 bytes is kind of a lot for task_struct. This
regression in the task_struct size was noticed and reported.

Recover that space by making this state be allocated on the stack at
the beginning of each kernel-mode FPSIMD section.

To make it easier for all the users of kernel-mode FPSIMD to do that
correctly, introduce and use a 'scoped_ksimd' abstraction.

29 Nov 2025: 'at_least' array sizes for 6.19 [+ + +]
C supports lower bounds on the sizes of array parameters, using the
static keyword as follows: 'void f(int a[static 32]);'. This allows
the compiler to warn about a too-small array being passed.

As discussed, this reuse of the 'static' keyword, while standard, is a
bit obscure. Therefore, add an alias 'at_least' to compiler_types.h.

Then, add this 'at_least' annotation to the array parameters of
various crypto library functions.

29 Nov 2025: AES-GCM optimizations for 6.19 [+ + +]
More optimizations and cleanups for the x86_64 AES-GCM code:

- Add a VAES+AVX2 optimized implementation of AES-GCM. This is very
  helpful on CPUs that have VAES but not AVX512, such as AMD Zen 3.

- Make the VAES+AVX512 optimized implementation of AES-GCM handle
  large amounts of associated data efficiently.

- Remove the "avx10_256" implementation of AES-GCM. It's superseded by
  the VAES+AVX2 optimized implementation.

- Rename the "avx10_512" implementation to "avx512".

Overall, this fills in a gap where AES-GCM wasn't fully optimized on
some recent CPUs. It also drops code that won't be as useful as
initially expected due to AVX10/256 being dropped from the AVX10 spec.

29 Nov 2025: Crypto library tests for 6.19 [+ + +]
This is based on the "Crypto library updates for 6.19" pull request.


- Add KUnit test suites for SHA-3, BLAKE2b, and POLYVAL. These are the
  algorithms that have new crypto library interfaces this cycle.

- Remove the crypto_shash POLYVAL tests. They're no longer needed
  because POLYVAL support was removed from crypto_shash. Better
  POLYVAL test coverage is now provided via the KUnit test suite.

29 Nov 2025: Crypto library updates for 6.19 [+ + +]
This is the main crypto library pull request for 6.19. It includes:

- Add SHA-3 support to lib/crypto/, including support for both the
  hash functions and the extendable-output functions. Reimplement the
  existing SHA-3 crypto_shash support on top of the library.

  This is motivated mainly by the upcoming support for the ML-DSA
  signature algorithm, which needs the SHAKE128 and SHAKE256
  functions. But even on its own it's a useful cleanup.

  This also fixes the longstanding issue where the
  architecture-optimized SHA-3 code was disabled by default.

- Add BLAKE2b support to lib/crypto/, and reimplement the existing
  BLAKE2b crypto_shash support on top of the library.

  This is motivated mainly by btrfs, which supports BLAKE2b checksums.
  With this change, all btrfs checksum algorithms now have library
  APIs. btrfs is planned to start just using the library directly.

  This refactor also improves consistency between the BLAKE2b code and
  BLAKE2s code. And as usual, it also fixes the issue where the
  architecture-optimized BLAKE2b code was disabled by default.

- Add POLYVAL support to lib/crypto/, replacing the existing POLYVAL
  support in crypto_shash. Reimplement HCTR2 on top of the library.

  This simplifies the code and improves HCTR2 performance. As usual,
  it also makes the architecture-optimized code be enabled by default.
  The generic implementation of POLYVAL is greatly improved as well.

- Clean up the BLAKE2s code.

- Add FIPS self-tests for SHA-1, SHA-2, and SHA-3.

29 Nov 2025: Smack patches for 6.19 [+ + +]
Here is the Smack pull request for v6.19.

It fairly large as Smack pulls go. There are fixes for several
cases where labels are treated inconsistently when imported
from user space. The assignment of extended attributes has
been cleaned up. There are also some documentation improvements.

Patches for 6.19

 
28 Nov 2025: Thermal control updates for v6.19-rc1 [+ + +]
I am sending this in advance because I am not expecting to make any changes
to it before next week.


 thermal-6.19-rc1


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


 Linux 6.18-rc4

to receive thermal control updates for 6.19-rc1.

These add Nova Lake processor support to the Intel thermal drivers
and DPTF code, update thermal control documentation, simplify the ACPI
DPTF code related to thermal control, add QCS8300 compatible to the
tsens thermal DT bindings, add DT bindings for NXP i.MX91 thermal
module and add support for it to the imx91 thermal driver, update
a few other thermal drivers and fix a format string issue in a thermal
utility:

 - Add Nova Lake processor thermal device to the int340x
   processor_thermal driver, add DLVR support for Nova Lake to it,
   add Nova Lake support to the ACPI DPTF code, document thermal
   throttling on Intel platforms, and update workload type hint
   interface documentation (Srinivas Pandruvada)

 - Remove int340x thermal scan handler from the ACPI DPTF code
   because it turned out to be unnecessary (Slawomir Rosek)

 - Clean up the Intel int340x thermal driver (Kaushlendra Kumar)

 - Document the RZ/V2H TSU DT bindings (Ovidiu Panait)

 - Document the Kaanapali Temperature Sensor (Manaf Meethalavalappu
   Pallikunhi)

 - Document R-Car Gen4 and RZ/G2 support in driver comment (Marek Vasut)

 - Convert to DEFINE_SIMPLE_DEV_PM_OPS() in R-Car [Gen3] (Geert
   Uytterhoeven)

 - Fix format string bug in thermal-engine (Malaya Kumar Rout)

 - Make ipq5018 tsens standalone compatible (George Moussalem)

 - Add the QCS8300 compatible for QCom Tsens (Gaurav Kohli)

 - Add support for the NXP i.MX91 thermal module, including the DT
   bindings (Pengfei Li)

Thanks!



28 Nov 2025: ACPI support updates for v6.19-rc1 [+ + +]
I am sending this in advance because I am not expecting to make any changes
to it before next week.


 acpi-6.19-rc1




 Revert "ACPI: processor: Update cpuidle driver check in
__acpi_processor_start()"

to receive ACPI support updates for 6.19-rc1.

These add Microsoft fan extensions support to the ACPI fan driver,
fix a bug in ACPICA, update other ACPI drivers (processor, time and
alarm device), update ACPI power management code and ACPI device
properties management, and fix an ACPI utility:

 - Avoid walking the ACPI namespace in the AML interpreter if the
   starting node cannot be determined (Cryolitia PukNgae)

 - Use min() instead of min_t() in the ACPI device properties handling
   code to avoid discarding significant bits (David Laight)

 - Fix potential fwnode refcount leak in acpi_fwnode_graph_parse_endpoint()
   that may prevent the parent fwnode from being released (Haotian Zhang)

 - Rework acpi_graph_get_next_endpoint() to use ACPI functions only, remove
   unnecessary conditionals from it to make it easier to follow, and make
   acpi_get_next_subnode() static (Sakari Ailus)

 - Drop unused function acpi_get_lps0_constraint(), make some Low-Power
   S0 callback functions for suspend-to-idle static, and rearrange the
   code retrieving Low-Power S0 constraints so it only runs when the
   constraints are actually used (Rafael Wysocki)

 - Drop redundant locking from the ACPI battery driver (Rafael Wysocki)

 - Improve runtime PM in the ACPI time and alarm device (TAD) driver
   using guard macros and rearrange code related to runtime PM in
   acpi_tad_remove() (Rafael Wysocki)

 - Add support for Microsoft fan extensions to the ACPI fan driver along
   with notification support and work around a 64-bit firmware bug in
   that driver (Armin Wolf)

 - Use ACPI_FREE() to free ACPI buffer in the ACPI DPTF code (Kaushlendra
   Kumar)

 - Fix a memory leak and a resource leak in the ACPI pfrut utility (Malaya
   Kumar Rout)

 - Replace `core::mem::zeroed` with `pin_init::zeroed` in the ACPI Rust
   code (Siyuan Huang)

 - Update the ACPI code to use the new style of allocating workqueues
   and new global workqueues (Marco Crivellari)

 - Fix two spelling mistakes in the ACPI code (Chu Guangqing)

 - Fix ISAPNP to generate uevents to auto-load modules (Ren=C3=A9 Rebe)

 - Relocate the state flags initialization in the ACPI processor idle
   driver and drop redundant C-state count checks from it (Huisong Li)

 - Fix map_x2apic_id() in the ACPI processor core driver for amd-pstate
   on am4 (Ren=C3=A9 Rebe)

Thanks!



28 Nov 2025: Power management updates for v6.19-rc1 [+ + +]
I am sending this in advance because I am not expecting to make any changes
to it before next week.


 pm-6.19-rc1




 Linux 6.18-rc7

to receive power management updates for 6.19-rc1.

There are quite a few interesting things here, including new hardware
support, new features, some bug fixes and documentation updates.  In
addition, there are a usual bunch of minor fixes and cleanups all over.

In the new hardware support category, there are intel_pstate and
intel_rapl driver updates to support new processors, Panther Lake,
Wildcat Lake, Noval Lake, and Diamond Rapids in the OOB mode, OPP
and bandwidth allocation support in the tegra186 cpufreq driver,
and JH7110S SOC support in dt-platdev cpufreq.

The new features are the PM QoS CPU latency limit for suspend-to-idle,
the netlink support for the energy model management, support for
terminating system suspend via a wakeup event during the sync of
file systems, configurable number of hibernation compression threads,
the runtime PM auto-cleanup macros, and the "poweroff" PM event that
is expected to be used during system shutdown.

Bugs are mostly fixed in cpuidle governors, but there are also fixes
elsewhere, like in the amd-pstate cpufreq driver.

Documentation updates include, but are not limited to, a new doc on
debugging shutdown hangs, cross-referencing fixes and cleanups in the
intel_pstate documentation, and updates of comments in the core
hibernation code.

Specifics:

 - Introduce and document a QoS limit on CPU exit latency during wakeup
   from suspend-to-idle (Ulf Hansson)

 - Add support for building libcpupower statically (Zuo An)

 - Add support for sending netlink notifications to user space on energy
   model updates (Changwoo Mini, Peng Fan)

 - Minor improvements to the Rust OPP interface (Tamir Duberstein)

 - Fixes to scope-based pointers in the OPP library (Viresh Kumar)

 - Use residency threshold in polling state override decisions in the
   menu cpuidle governor (Aboorva Devarajan)

 - Add sanity check for exit latency and target residency in the cpufreq
   core (Rafael Wysocki)

 - Use this_cpu_ptr() where possible in the teo governor (Christian
   Loehle)

 - Rework the handling of tick wakeups in the teo cpuidle governor to
   increase the likelihood of stopping the scheduler tick in the cases
   when tick wakeups can be counted as non-timer ones (Rafael Wysocki)

 - Fix a reverse condition in the teo cpuidle governor and drop a
   misguided target residency check from it (Rafael Wysocki)

 - Clean up multiple minor defects in the teo cpuidle governor (Rafael
   Wysocki)

 - Update header inclusion to make it follow the Include What You Use
   principle (Andy Shevchenko)

 - Enable MSR-based RAPL PMU support in the intel_rapl power capping
   driver and arrange for using it on the Panther Lake and Wildcat Lake
   processors (Kuppuswamy Sathyanarayanan)

 - Add support for Nova Lake and Wildcat Lake processors to the
   intel_rapl power capping driver (Kaushlendra Kumar, Srinivas
   Pandruvada)

 - Add OPP and bandwidth support for Tegra186 (Aaron Kling)

 - Optimizations for parameter array handling in the amd-pstate cpufreq
   driver (Mario Limonciello)

 - Fix for mode changes with offline CPUs in the amd-pstate cpufreq
   driver (Gautham Shenoy)

 - Preserve freq_table_sorted across suspend/hibernate in the cpufreq
   core (Zihuan Zhang)

 - Adjust energy model rules for Intel hybrid platforms in the
   intel_pstate cpufreq driver and improve printing of debug messages
   in it (Rafael Wysocki)

 - Replace deprecated strcpy() in cpufreq_unregister_governor()
   (Thorsten Blum)

 - Fix duplicate hyperlink target errors in the intel_pstate cpufreq
   driver documentation and use :ref: directive for internal linking in
   it (Swaraj Gaikwad, Bagas Sanjaya)

 - Add Diamond Rapids OOB mode support to the intel_pstate cpufreq
   driver (Kuppuswamy Sathyanarayanan)

 - Use mutex guard for driver locking in the intel_pstate driver and
   eliminate some code duplication from it (Rafael Wysocki)

 - Replace udelay() with usleep_range() in ACPI cpufreq (Kaushlendra
   Kumar)

 - Minor improvements to various cpufreq drivers (Christian Marangi, Hal
   Feng, Jie Zhan, Marco Crivellari, Miaoqian Lin, and Shuhao Fu)

 - Replace snprintf() with scnprintf() in show_trace_dev_match()
   (Kaushlendra Kumar)

 - Fix memory allocation error handling in pm_vt_switch_required()
   (Malaya Kumar Rout)

 - Introduce CALL_PM_OP() macro and use it to simplify code in
   generic PM operations (Kaushlendra Kumar)

 - Add module param to backtrace all CPUs in the device power management
   watchdog (Sergey Senozhatsky)

 - Rework message printing in swsusp_save() (Rafael Wysocki)

 - Make it possible to change the number of hibernation compression
   threads (Xueqin Luo)

 - Clarify that only cgroup1 freezer uses PM freezer (Tejun Heo)

 - Add document on debugging shutdown hangs to PM documentation and
   correct a mistaken configuration option in it (Mario Limonciello)

 - Shut down wakeup source timer before removing the wakeup source from
   the list (Kaushlendra Kumar, Rafael Wysocki)

 - Introduce new PMSG_POWEROFF event for system shutdown handling with
   the help of PM device callbacks (Mario Limonciello)

 - Make pm_test delay interruptible by wakeup events (Riwen Lu)

 - Clean up kernel-doc comment style usage in the core hibernation
   code and remove unuseful comments from it (Sunday Adelodun, Rafael
   Wysocki)

 - Add support for handling wakeup events and aborting the suspend
   process while it is syncing file systems (Samuel Wu, Rafael Wysocki)

 - Add WQ_UNBOUND to pm_wq workqueue (Marco Crivellari)

 - Add runtime PM wrapper macros for ACQUIRE()/ACQUIRE_ERR() and use
   them in the PCI core and the ACPI TAD driver (Rafael Wysocki)

 - Improve runtime PM in the ACPI TAD driver (Rafael Wysocki)

 - Update pm_runtime_allow/forbid() documentation (Rafael Wysocki)

 - Fix typos in runtime.c comments (Malaya Kumar Rout)

 - Move governor.h from devfreq under include/linux/ and rename to
   devfreq-governor.h to allow devfreq governor definitions in out
   of drivers/devfreq/ (Dmitry Baryshkov)

 - Use min() to improve readability in tegra30-devfreq.c (Thorsten
   Blum)

 - Fix potential use-after-free issue of OPP handling in
   hisi_uncore_freq.c (Pengjie Zhang)

 - Fix typo in DFSO_DOWNDIFFERENTIAL macro name in
   governor_simpleondemand.c in devfreq (Riwen Lu)

Thanks!



28 Nov 2025: v6.19 [+ + +]
This is the batch of pull requests for the v6.19 merge window!

We have a couple of inter-dependencies between branches. Notably the
cred guard work and the directory locking work are a prerequisite for
the overlayfs work for this cycle.

We also have an external dependency on the kbuild tree's work to enable
-fms-extension. So pulling the vfs work before the kbuild work will
bring that in. Which is fine. I'm just making sure you're aware of it.

This cycle was quite busy with a lot of infrastructure work and cleanups.

There is the new listns() system call that allows userspace to iterate
through namespaces in the system. Currently there's no direct way to
enumerate namespaces - applications must scan /proc/<pid>/ns/ across all
processes, which is inefficient, incomplete (misses namespaces kept
alive only by file descriptors or bind mounts), and requires broad /proc
access. The new system call supports pagination, filtering by namespace
type, and filtering by owning user namespace.

To support listns() and future namespace work, we've introduced an
active reference count that tracks namespace visibility to userspace. A
namespace is visible when it's in use by a task, persisted through a VFS
object, or is the parent of child namespaces. This prevents resurrection
of namespaces that are pinned only for internal kernel reasons.

There's the credential guard infrastructure change for this cycle that
you triggered. :) We now have with_kernel_creds() and
scoped_with_kernel_creds() guards that allow using kernel credentials
without allocating and copying them. We also have scoped_with_creds()
for the common override_creds()/revert_creds() pattern, and prepare
credential guards for more complex cases. All of overlayfs has been
converted to use these guards.

The inode state accessor work from last cycle continues. We now hide
inode->i_state behind accessors entirely, making plain access fail to
compile. This allows asserting correct usage - locking, flag
manipulation, detecting when code clears already-missing flags or sets
flags when illegal.

Directory operations are getting centralized locking helpers as part of
NeilBrown's effort to eventually allow multiple concurrent operations in
a directory by locking target dentries rather than whole parent
directories.

We now also have recall-only directory delegations for knfsd.

The iomap work includes FUSE support for buffered reads using iomap,
enabling granular uptodate tracking with large folios. There's also zero
range folio batch support to handle dirty folios over unwritten
mappings, and DIO write completions can now run from interrupt context
again for pure overwrites, reducing context switches for
high-performance workloads.

The FD_ADD() and FD_PREPARE() primitives simplify the ubiquitous pattern
of get_unused_fd_flags() + create file + fd_install() that currently
requires cumbersome cleanup paths. The series removes roughly double the
code it adds by eliminating convoluted cleanup logic across many
subsystems. This work came late in the cycle but is quite nice - an
alternative pull request with only trivial filesystem conversions is
available if preferred. The KVM conversions were reverted as they prefer
to take those through their tree.

Note that I provided two pull requests for FD_{ADD,PREPARE}():

(1) [GIT PULL 16/17 for v6.19] vfs fd prepare
    Message-Id: <20251128-vfs-fd-prepare-v619-e23be0b7a0c5@brauner>
    contains everything I sent out and a few later fixes and with a
    revert of the kvm conversions. The kvm maintainers want to take it
    to their tree apparently.

(2) [GIT PULL 17/17 for v6.19] vfs fd prepare minimal
    Message-Id: <20251128-vfs-fd-prepare-minimal-v619-41df48e056e7@brauner>
    contains a condensed version with anything that's complex removed.

I think (1) is fine but I understand wanting to be a bit more
conservative so I also provided (2).

There's the usual collection of cleanups: writeback interface
simplification removing low-level filemap_* interfaces, path lookup
optimizations with cheaper MAY_EXEC handling, step_into()/walk_component()
inlining, and the start of splitting up the monolithic fs.h header into
focused headers for superblock code.

Smaller items include folio_next_pos() helper fixing a 32-bit ocfs2 bug,
minix filesystem syzbot fixes, autofs fix for futile mount triggers in
private mount namespaces, and coredump/pidfd improvements exposing the
coredump signal.

Thanks!
Christian
28 Nov 2025: LoongArch KVM changes for v6.19 [+ + +]
LoongArch KVM changes for v6.19

1. Get VM PMU capability from HW GCFG register.
2. Add AVEC basic support.
3. Use 64-bit register definition for EIOINTC.
4. Add KVM timer test cases for tools/selftests.

28 Nov 2025: Btrfs updates for 6.19 [+ + +]
Hi,

please pull the following branch with btrfs updates. Thanks.

Features:

- shutdown ioctl support (needs CONFIG_BTRFS_EXPERIMENTAL for now)
  - set filesystem state as being shut down (also named going down in
    other filesystems), where all active operations return EIO and this
    cannot be changed until unmount
  - pending operations are attempted to be finished but error messages
    may still show up depending on where exactly the shutdown happened

- scrub (and device replace) vs suspend/hibernate
  - a running scrub will prevent suspend, which can be annoying as
    suspend is an immediate request and scrub is not critical
  - filesystem freezing before suspend was not sufficient as the problem
    was in process freezing
  - behaviour change: on suspend scrub and device replace are cancelled,
    where scrub can record the last state and continue from there; the
    device replace has to be restarted from the beginning

- zone stats exported in sysfs, from the perspective of the filesystem
  this includes active, reclaimable, relocation etc zones

Performance:

- improvements when processing space reservation tickets by optimizing
  locking and shrinking critical sections, cumulative improvements in
  lockstat numbers show +15%

Notable fixes:

- use vmalloc fallback when allocating bios as high order allocations
  can happen with wide checksums (like sha256)

- scrub will always track the last position of progress so it's not
  starting from zero after an error

Core:

- under experimental config, checksum calculations are offloaded to
  process context, simplifies locking and allows to remove compression
  write worker kthread(s)
  - speed improvement in direct IO throughput with buffered IO fallback
    is +15% when not offloaded but this is more related to internal
    crypto subsystem improvements
  - this will be probably default in the future removing the sysfs
    tunable

- (experimental) block size > page size updates
  - support more operations when not using large folios (encoded
    read/write and send)
  - raid56

- more preparations for fscrypt support

Other:

- more conversions to auto-cleaned variables

- parameter cleanups and removals

- extended warning fixes

- improved printing of structured values like keys

- lots of other cleanups and refactoring

 
27 Nov 2025: thermal drivers update for v6.19-rc1 [+ + +]
Hi Rafael,

- Document the RZ/V2H TSU DT bindings (Ovidiu Panait)

- Document the Kaanapali Temperature Sensor (Manaf Meethalavalappu
   Pallikunhi)

- Document R-Car Gen4 and RZ/G2 support in driver comment (Marek
Vasut)

- Convert to DEFINE_SIMPLE_DEV_PM_OPS in the R-Car [Gen3] (Geert
   Uytterhoeven)

- Fix format string bug in thermal-engine (Malaya Kumar Rout)

- Make ipq5018 tsens standalone compatible (George Moussalem)

- Add the QCS8300 compatible for the QCom Tsens (Gaurav Kohli)

- Add the support for the NXP i.MX91 thermal module, including the DT
   bindings (Pengfei Li)

 
28 Nov 2025: devfreq next for 6.19 [+ + +]
Dear Rafael,

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

Best Regards,
Chanwoo Choi


Update devfreq next for v6.19

Detailed description for this pull request:
- Move governor.h under include/linux/ and rename to devfreq-governor.h
  in order to allow devfreq governor definitions in out of drivers/devfreq/.

- Fix potential use-after-free issue of OPP handling on hisi_uncore_freq.c

- Use min() to improve the readability on tegra30-devfreq.c

- Fix typo in DFSO_DOWNDIFFERENTIAL macro name on governor_simpleondemand.c
 
27 Nov 2025: USB serial updates for 6.19-rc1 [+ + +]
USB serial updates for 6.19-rc1

Here are the USB serial updates for 6.19-rc1:

 - fix belkin_sa and kobil_sct TIOCMBIS and TIOCMBIC ioctls
 - match on interface number for dual-port ftdi devices with reserved
   jtag port
 - do not log reserved ftdi jtag ports on probe
 - apply ftdi_sio NDI quirk remapping 19200 bps consistently
 - drop ftdi_sio NDI quirk module parameter
 - clean up ftdi_sio quirk implementations
 - add more modem device ids

Included are also various clean ups.

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

 
26 Nov 2025: Apple SoC driver changes for v6.19 [+ + +]
Hi,

-next for a few weeks as usual and details are in the signed tag.


Thanks,


Sven


Apple SoC driver updates for 6.18

Two small fixes:
- mailbox: Stop leaking a reference to the mbox platform device during
  lookup
- sart: drop device reference after lookup since it's no longer used
  afterwards

Signed-off-by: Sven Peter <sven@kernel.org>
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQS3vz815OHsEaWy0u9EEX0kKnUe6QUCaSdsTAAKCRBEEX0kKnUe
6Q3TAP9LzbLNHLFbDgCQXRRU5Qb5RxakNQ6o6eoyJP2I4C16SwEA0PChp6r/yH7I
US56W3mTG3vlJKag472fLyDmZITkFw0=
=9YPH
-----END PGP SIGNATURE-----

26 Nov 2025: SOC FSL for 6.19 [+ + +]
Hi Arnd,


Thanks
Christophe

FSL SOC Changes for 6.19
- A couple misc changes to fsl/qbman
- Update email address for Christophe Leroy in MAINTAINERS

26 Nov 2025: rv changes for v6.19 (for-next) batch 2 [+ + +]
Steve,

rv changes for v6.19 (for-next) batch 2

Summary of changes:

* Convert core RV code to use lock guards and __free helpers. This
  completely removes goto statements.

26 Nov 2025: timer drivers for v6.19-rc1 [+ + +]
Hi Thomas,

please consider pulling the following changes since commit 
dcb6fa37fd7bc9c3d2b066329b0d27dedf8becaa:

   Linux 6.18-rc3 (2025-10-26 15:59:49 -0700)

are available in the Git repository at:

  
ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/daniel.lezcano/linux 
tags/timers-v6.19-rc1

for you to fetch changes up to d1780dce9575072303b9c574614b72b5c8c5c44c:

   clocksource/drivers: Add Realtek system timer driver (2025-11-26 
11:25:15 +0100)

- Use 64-bits for timer compensation for IoT usage where the suspend
   time is much longer than what 32-bits can provide (Enlin Mu)

- Add delay support on sp804 for ARM32 platforms (Stephen Eta Zhou)

- Fix missing resource release on error in the probe path of in the
   ralink driver (Haotian Zhang)

- Fix double deregistration on probe failure in the NXP STM driver
   (Johan Hovold)

- Disable runtime PM for the Renesas SH CMT timer because it is
   incompatible with PREEMPT_RT=y (Niklas Söderlund)

- Fix section mismatches in the NXP STM driver (Johan Hovold)

- Preventing unbinding the NXP PIT, STM and MMIO ARM Arch timers as
   the code does not suppport bind/unbind (Johan Hovold)

- Use the clocksource instead of ticks on the RDA8810PL platform
   (Enlin Mu)

- Drop the unused module alias for the STM32-LP (Johan Hovold)

- Add Realtek system timer driver (Hao-Wen Ting)

 
25 Nov 2025: auxdisplay for 6.19-1 [+ + +]
First part of work done by Jean-François to enable new HW. The patches
were in Linux Next for a few weeks without any problem reported. Please,
pull for v6.19-rc1.

Thanks,

With Best Regards,
Andy Shevchenko

auxdisplay for v6.19-1

* Support linedisp attribute attachment to auxdisplay parent devices

 
24 Nov 2025: cpupower update for Linux 6.19-rc1 [+ + +]
Hi Rafael,


Adds support for building libcpupower statically when STATIC=true is
specified during build.

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.19-rc1

Adds support for building libcpupower statically when STATIC=true is
specified during build.

24 Nov 2025: interconnect changes for 6.19 [+ + +]
This is the pull request with interconnect changes for the v6.19-rc1 merge
window. As always, the summary is in the signed tag.

All patches have been in linux-next for a while. There are currently

Thanks,
Georgi


interconnect changes for 6.19

This pull request contains the interconnect changes for the 6.19-rc1
merge window. The core and driver changes are listed below.

Core changes:
- kbps_to_icc() macro optimization

Driver changes:
- Switch all Qualcomm RPMh interconnect drivers to use the dynamic
  node IDs and drop support for non-dynamic ID allocation
- Add new driver and BWMON support for the Kaanapali SoC
- Add QoS support for the SM6350 SoC
- Add QoS support for the SA8775p SoC
- Fix missing link from SNOC_PNOC to the USB 2 on MSM8996 SoC that
  includes also a dts change that has been acked by the maintainer
- Drop the QPIC interconnect and BCM nodes for the SDX75 SoC, as these
  should be handled by the rpmh-clk driver
- Other misc fixes

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

 
22 Nov 2025: memory: drivers for v6.19 - replacement pull (v2) [+ + +]
Hi,

This replaces previous pull request:
https://lore.kernel.org/r/20251110173624.3127-2-krzk@kernel.org

by dropping Tegra ICC changes, because Jon [2] reported regressions and we
could not solve them within reasonable time.

[2] https://lore.kernel.org/r/82c8dda8-6fcb-48f9-bdaa-f3d1431e41ae@nvidia.com/

Best regards,
Krzysztof


Memory controller drivers for v6.19

1. Tegra drivers: Several cleanups (dev_err_probe(), error messages).
2. Renesas RPC IF: Add system suspend support.

 
21 Nov 2025: RTLA updates for v6.19 [+ + +]
Hi Steven,

Please use this amended tag for the merge window in place of the old one. The
diff between rtla-v6.19-v2 and rtla-v6.19 is empty, it is just the tweak of the
commit messages and a note about a merge conflict.

Thanks,
Tomas

RTLA patches for v6.19

Fixes and minor cleanups for RTLA, targetting v6.19 via
linux-trace tools/for-next:

- Add for_each_monitored_cpu() helper

  In multiple places, RTLA tools iterate over the list of CPUs running
  tracer threads.

  Use single helper instead of repeating the for/if combination.

- Remove unused variable option_index in argument parsing

  RTLA tools use getopt_long() for argument parsing. For its last
  argument, an unused variable "option_index" is passed.

  Remove the variable and pass NULL to getopt_long() to shorten
  the naturally long parsing functions, and make them more readable.

- Fix unassigned nr_cpus after code consolidation

  In recent code consolidation, timerlat tool cleanup, previously
  implemented separately for each tool, was moved to a common function
  timerlat_free().

  The cleanup relies on nr_cpus being set. This was not done in the new
  function, leaving the variable uninitialized.

  Initialize the variable properly, and remove silencing of compiler
  warning for uninitialized variables.

- Stop tracing on user latency in BPF mode

  Despite the name, rtla-timerlat's -T/--thread option sets timerlat's
  stop_tracing_total_us option, which also stops tracing on
  return-from-user latency, not only on thread latency.

  Implement the same behavior also in BPF sample collection stop tracing
  handler to avoid a discrepancy and restore correspondence of behavior
  with the equivalent option of cyclictest.

- Fix threshold actions always triggering

  A bug in threshold action logic caused the action to execute even
  if tracing did not stop because of threshold.

  Fix the logic to stop correctly.

- Fix few minor issues in tests

  Extend tests that were shown to need it to 5s, fix osnoise test
  calling timerlat by mistake, and use new, more reliable output
  checking in timerlat's "top stop at failed action" test.

- Do not print usage on argument parsing error

  RTLA prints the entire usage message on encountering errors in
  argument parsing, like a malformed CPU list.

  The usage message has gotten too long. Instead of printing it,
  use newly added fatal() helper function to simply exit with
  the error message, excluding the usage.

- Fix unintuitive -C/--cgroup interface

  "-C cgroup" and "--cgroup cgroup" are invalid syntax, despite that
  being a common way to specify an option with argument. Moreover,
  using them fails silently and no cgroup is set.

  Create new helper function to unify the handling of all such options
  and allow all of:

  -Xsomething
  -X=something
  -X something

  as well as the equivalent for the long option.

- Fix -a overriding -t argument filename

  Fix a bug where -a following -t custom_file.txt overrides the custom
  filename with the default timerlat_trace.txt.

- Stop tracing correctly on multiple events at once

  In some race scenarios, RTLA BPF sample collection might send multiple
  stop tracing events via the BPF ringbuffer at once.

  Compare the number of events for != 0 instead of == 1 to cover for
  this scenario and stop tracing properly.

The tag was tested on both a non-RT-tuned and an RT-tuned machine, and
no issues were found besides known cases of the flakiness of tests for
stack dump and auto-analysis, which rely on correct order of events.

The patchset mostly consists of fixes originally targetting one of
the v6.18-rcs rather than linux-next and the v6.19 merge window; one
of them is even Cc: stable. The delay was caused by maintainership
handover of RTLA.

CONFLICTS: The patch "rtla: Fix -C/--cgroup interface" has a minor
rename and context conflict with patches 96b546c241b1
("Documentation/rtla: rename common_xxx.rst files to common_xxx.txt")
and 198fcc7cb832 ("Documentation/rtla: Mention default priority"),
which were picked earlier by Jonathan Corbet's linux-docs tree.

v2:
- Fix Fixes: tags containing 11 characters instead of 12 for commit
"rtla/tests: Fix osnoise test calling timerlat" and commit
"rtla/tests: Extend action tests to 5s".

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

 
20 Nov 2025: RTLA updates for v6.19 [+ + +]
Steven,

information.

Thanks,
Tomas

RTLA patches for v6.19

Fixes and minor cleanups for RTLA, targetting v6.19 via
linux-trace tools/for-next:

- Add for_each_monitored_cpu() helper

  In multiple places, RTLA tools iterate over the list of CPUs running
  tracer threads.

  Use single helper instead of repeating the for/if combination.

- Remove unused variable option_index in argument parsing

  RTLA tools use getopt_long() for argument parsing. For its last
  argument, an unused variable "option_index" is passed.

  Remove the variable and pass NULL to getopt_long() to shorten
  the naturally long parsing functions, and make them more readable.

- Fix unassigned nr_cpus after code consolidation

  In recent code consolidation, timerlat tool cleanup, previously
  implemented separately for each tool, was moved to a common function
  timerlat_free().

  The cleanup relies on nr_cpus being set. This was not done in the new
  function, leaving the variable uninitialized.

  Initialize the variable properly, and remove silencing of compiler
  warning for uninitialized variables.

- Stop tracing on user latency in BPF mode

  Despite the name, rtla-timerlat's -T/--thread option sets timerlat's
  stop_tracing_total_us option, which also stops tracing on
  return-from-user latency, not only on thread latency.

  Implement the same behavior also in BPF sample collection stop tracing
  handler to avoid a discrepancy and restore correspondence of behavior
  with the equivalent option of cyclictest.

- Fix threshold actions always triggering

  A bug in threshold action logic caused the action to execute even
  if tracing did not stop because of threshold.

  Fix the logic to stop correctly.

- Fix few minor issues in tests

  Extend tests that were shown to need it to 5s, fix osnoise test
  calling timerlat by mistake, and use new, more reliable output
  checking in timerlat's "top stop at failed action" test.

- Do not print usage on argument parsing error

  RTLA prints the entire usage message on encountering errors in
  argument parsing, like a malformed CPU list.

  The usage message has gotten too long. Instead of printing it,
  use newly added fatal() helper function to simply exit with
  the error message, excluding the usage.

- Fix unintuitive -C/--cgroup interface

  "-C cgroup" and "--cgroup cgroup" are invalid syntax, despite that
  being a common way to specify an option with argument. Moreover,
  using them fails silently and no cgroup is set.

  Create new helper function to unify the handling of all such options
  and allow all of:

  -Xsomething
  -X=something
  -X something

  as well as the equivalent for the long option.

- Fix -a overriding -t argument filename

  Fix a bug where -a following -t custom_file.txt overrides the custom
  filename with the default timerlat_trace.txt.

- Stop tracing correctly on multiple events at once

  In some race scenarios, RTLA BPF sample collection might send multiple
  stop tracing events via the BPF ringbuffer at once.

  Compare the number of events for != 0 instead of == 1 to cover for
  this scenario and stop tracing properly.

The tag was tested on both a non-RT-tuned and an RT-tuned machine, and
no issues were found besides known cases of the flakiness of tests for
stack dump and auto-analysis, which rely on correct order of events.

The patchset mostly consists of fixes originally targetting one of
the v6.18-rcs rather than linux-next and the v6.19 merge window; one
of them is even Cc: stable. The delay was caused by maintainership
handover of RTLA.

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

 
19 Nov 2025: [PULL REQUEST] Intel IOMMU updates for v6.19 [+ + +]
Hi Joerg,

 
17 Nov 2025: arm64: dts: ti: K3 updates for v6.19 [+ + +]
 protected-headers="v1"
From: Vignesh Raghavendra <vigneshr@ti.com>
To: arm-soc <arm@kernel.org>, SoC <soc@kernel.org>
Cc: Nishanth Menon <nm@ti.com>, Tero Kristo <kristo@kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-arm-kernel@lists.infradead.org"
 <linux-arm-kernel@lists.infradead.org>, soc@lists.linux.dev
Message-ID: <a07364c1-5a4c-474f-be21-96f38bfe9130@ti.com>
Subject: [GIT PULL] arm64: dts: ti: K3 updates for v6.19

--------------mxb51hmjg1uoDvUuS2fG0T0t

Hi,

TI K3 device tree updates for v6.19

Generic fixes and cleanups:
* Multiple SoCs: Disable CPSW in SoC files and
  enable them in board files for better board-level control
* Replace rgmii-rxid with rgmii-id for CPSW ports across multiple boards

New Boards/SoM:
* AM62L SoC and basic support for EVM
* Toradex Aquila AM69 board support
* Kontron SMARC-sAM67 module and ADS2 carrier board support

Platform wide:
* Define possible system states amd wakeup-source (AM62/AM62A/AM62P)

SoC/EVM specific changes:
AM62:
* Add RNG node
* Add OLDI support

AM62P:
* Move audio_refclk to common main dtsi (k3-am62p-j722s-common-main)
* Fix memory ranges for GPU

AM62D2:
* Enable PMIC support on EVM
* Misc fixes

AM64:
* Add DMA support for TSCADC on EVM

AM69:
* Add Aquila board support with Clover variant

J722S:
* Fix audio refclk source in main dtsi
* Explicitly use PLL1_HSDIV6 audio refclk for EVM

J784S4/J742S2:
* Add bootph-all tag to support PCIe boot

Variscite VAR-SOM-AM62P:
* Add support for ADS7846 touchscreen
* Add support for WM8904 audio codec

17 Nov 2025: w1: drivers for v6.19 [+ + +]
Hi Greg,

Few cleanups for 1-wire.

Best regards,
Krzysztof


1-Wire bus drivers for v6.19

Just a bunch of cleanups for few 1-Wire drivers: use sysfs_emit() in
sysfs show, avoid strcpy() and strcat(), and drop unneeded
pm_runtime_mark_last_busy() because core runtime PM handles it.

17 Nov 2025: Immutable branch between the GPIO, ASoC and regulator trees for v6.19-rc1 [+ + +]
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Hi Mark!

a prerequisite to applying patches 8-10 for v6.19-rc1 from the series
improving support for shared GPIOs[1].

Please note that there's a small conflict between v6.18-rc1 and my
gpio/for-next branch where gpio_chip_hwgpio() has been renamed to
gpiod_hwgpio().

In linux-next it can be fixed like this:

Immutable branch between the GPIO, ASoC and regulator trees for v6.19-rc1

Add better support for GPIOs shared by multiple consumers.

 
14 Nov 2025: clk: imx: Updates for v6.19 [+ + +]
i.MX clocks changes for 6.19

- Add delay to the PCC enable/disable in i.MX7ULP composite, needed by
  some specific peripherals.
- Simplify the i.MX8MP auxiomix by using devm_auxiliary_device_create()
- Add the i.MX8ULP SIM LPAV platform specific clock provider.

 
13 Nov 2025: [PATCH 1/4] Rust atomics & locking changes for v6.19 [+ + +]
Hi Peter & Ingo,

simple and small for this cycle ;-)

Rust atomic changes for v6.19:

- Replace Rust native atomics with LKMM atomics in debugfs

Locking changes for v6.19:

- Redo __mutex_init() to allow compiler removing unused parameters
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmkWw9wACgkQSXnow7UH
+rjD+gf9Eri5Au1hyYD/UPmBBZWMgWRx32RMbJ261he1YEa1gTbHqitlHu0++vmf
8+B1VGU7ts6c9vyAR/7yAAuIjfnnunxcF7NnjsguGSywWG3uQpd75o2C+TiELwfz
aJvkNTNUcX6IA7I2j4tdGh3likG+4viSb2LxQBRUkJ557LySRv+/XcBrpjWW6lit
pIohp3UUVGApTjwP/UiBETUqZz9bnwYHhQvPaCwCUt93GiNrAQC8rmQIMFQj8RhN
g28RsLXxN06ozGLsjfNFHVRTDRc8KsLgWsuQwWPwMY6CUE9AiyqX4B6IZ9ymtGNt
ENbskYAiXLDqmShB7ASmjL4CST8LNQ==
=8JA2
-----END PGP SIGNATURE-----

13 Nov 2025: RISC-V SpacemiT Devicetrees for v6.19 [+ + +]
Hi Arnd,


Yixun Lan

RISC-V SpacemiT DT changes for 6.19

- Add Uart and I2C nodes
- Add P1 PMIC nodes
- Add MusePi Pro board support
- Add OrangePi R2S board support
- Enable eeprom for BPI-F3
- Enable QSPI on BPI-F3
- Enable Ethernet and PDMA on OrangePi RV2

 
11 Nov 2025: rv changes for v6.19 (for-next) [+ + +]
Steve,

Summary of changes:

* Adapt the ftracetest script to be run from a different folder, this
  uses the already existing OPT_TEST_DIR but extends it further to run
  independent tests, then add an --rv flag to allow using the script for
  testing RV (mostly) independently on ftrace.
* Add basic RV selftests in selftests/verification to validate things
  like available/enabled monitors and reactors. This could have caught
  the bug introducing kernel panic solved above. Tests use ftracetest.
* Convert react() function in reactor to use va_list directly and use a
  central helper to handle the variadic arguments. Clean up macros and
  mark functions as static.
* Add lockdep annotations to reactors to have lockdep complain if they
  are called from improper context. Useful to develop new reactors. This
  highlights a warning in the panic reactor that is related to the
  printk subsystem and not to RV.

 
10 Nov 2025: pinctrl: samsung: drivers for v6.19 [+ + +]
Samsung pinctrl drivers changes for v6.19

Add pin controller support for Samsung Exynos8890 and Axis ARTPEC-9
SoCs.  The latter is a newer design of Artpec SoCs made/designed by
Samsung, thus it shares most of the core blocks with Samsung Exynos,
including the pinctrl.

10 Nov 2025: memory: drivers for v6.19 [+ + +]
Memory controller drivers for v6.19

1. Tegra drivers:
 - Several cleanups (dev_err_probe(), error messages).
 - Tegra186, Tegra194 and Tegra210: Add interconnect scaling.

2. Renesas RPC IF: Add system suspend support.

10 Nov 2025: clk: samsung: drivers for v6.19 [+ + +]
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Samsung SoC clock drivers changes for 6.19

1. ExynosAutov920: add support for additional clock controllers (M2M and
   MFC).

2. Few more cleanups and new bindings.

 
6 Nov 2025: PECI changes for v6.19-rc1 [+ + +]
SGkgR3JlZyENCg0KUGxlYXNlIHB1bGwgUEVDSSB1cGRhdGUgZm9yIExpbnV4IHY2LjE5Lg0KDQpU
aGFua3MNCi1Jd29uYQ0KDQpUaGUgZm9sbG93aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IGRjYjZm
YTM3ZmQ3YmM5YzNkMmIwNjYzMjliMGQyN2RlZGY4YmVjYWE6DQoNCiAgTGludXggNi4xOC1yYzMg
KDIwMjUtMTAtMjYgMTU6NTk6NDkgLTA3MDApDQoNCmFyZSBhdmFpbGFibGUgaW4gdGhlIEdpdCBy
ZXBvc2l0b3J5IGF0Og0KDQogIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2Vy
bmVsL2dpdC9pd2kvbGludXguZ2l0IHRhZ3MvcGVjaS1uZXh0LTYuMTktcmMxDQoNCmZvciB5b3Ug
dG8gZmV0Y2ggY2hhbmdlcyB1cCB0byAzMTEyYjU4OWQzYTk5YTUyNDY3YTAzNGRiNmFiZDM1ZmVl
NWM3YzdjOg0KDQogIHBlY2k6IGNvbnRyb2xsZXI6IHBlY2ktYXNwZWVkOiBjb252ZXJ0IGZyb20g
cm91bmRfcmF0ZSgpIHRvIGRldGVybWluZV9yYXRlKCkgKDIwMjUtMTEtMDYgMTQ6NTE6MzcgKzAx
MDApDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0NClVwZGF0ZSBwZWNpLW5leHQgZm9yIHY2LjE5LXJjMQ0KDQpBIHNtYWxs
IGNoYW5nZSBpbiBwZWNpLWFzcGVlZCBjb252ZXJ0aW5nIHRoZSBkcml2ZXIgYXdheSBmcm9tIGRl
cHJlY2F0ZWQNCnJvdW5kX3JhdGUoKSwgYWxsb3dpbmcgaXQgdG8gZXZlbnR1YWxseSBiZSByZW1v
dmVkIGZyb20gY2xrIHN1YnN5c3RlbS4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KQnJpYW4gTWFzbmV5ICgxKToNCiAg
ICAgIHBlY2k6IGNvbnRyb2xsZXI6IHBlY2ktYXNwZWVkOiBjb252ZXJ0IGZyb20gcm91bmRfcmF0
ZSgpIHRvIGRldGVybWluZV9yYXRlKCkNCg0KIGRyaXZlcnMvcGVjaS9jb250cm9sbGVyL3BlY2kt
YXNwZWVkLmMgfCAxMiArKysrKysrLS0tLS0NCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25z
KCspLCA1IGRlbGV0aW9ucygtKQ0K
 
31 Oct 2025: aspeed: First batch of devicetree changes for 6.19 [+ + +]
First batch of ASPEED Arm devicetree changes for 6.19

Significant changes:

- The IBM Power11 FSI DTSIs have been rearranged to accommodate new systems

New platforms:

- IBM Balcones

  The Balcones system is similar to Bonnell but with a POWER11 processor.
  Like POWER10, the POWER11 is a dual-chip module, so a dual chip FSI
  tree is needed.

- Meta Yosemite5

  The Yosemite5 platform provides monitoring of voltages, power,
  temperatures, and other critical parameters across the motherboard,
  CXL board, E1.S expansion board, and NIC components.

Updated platforms:

- clemente (Meta): LEDs, shunt resistor configuration
- santabarbara (Meta): AMD APML, EEPROMs, LEDs, GPIO line names, MCTP for N=
ICs

There are a scattering of one-off changes and devicetree cleanups for other
platforms as well.

 
23 Oct 2025: PXA1908 DT changes for 6.19 [+ + +]
Hi SoC maintainers,

Here's the first batch of PXA1908 DT changes for 6.19.

Regards,
Duje

 
19 Oct 2025: RISC-V Tenstorrent Devicetree for v6.19 [+ + +]
Hi Arnd,

support for Blackhole. It adds the appropriate entries in MAINTAINERS.
The changes all come from a single series [1] posted by myself. Joel
Stanley has reviewed and tested all the patches. Rob acked or reviewed
all the bindings patches. W=1 dtbs_check and dt_binding_check produce
no warnings.

[1] https://lore.kernel.org/linux-riscv/20251013-tt-bh-dts-v3-0-9f058d4bbbda@oss.tenstorrent.com/

Thanks,
Drew

Tenstorrent device tree for v6.19

Add Tenstorrent as a vendor and enable support for the Blackhole SoC
in Blackhole P100 and P150 PCIe cards. The SoC contains four RISC-V
CPU tiles consisting of 4x SiFive X280 cores.

There is a virtual UART implemented in OpenSBI firmware that allows a
console program on the PCIe host to communicate through shared memory
with Linux running on the Blackhole card.

Link: https://github.com/tenstorrent/tt-bh-linux
Link: https://github.com/tenstorrent/opensbi/
Signed-off-by: Drew Fustini <fustini@kernel.org>