Latest Linux kernel releases

  24.03 6.14 (merge, pull)
  22.03 6.13.8, 6.12.20, 6.6.84
  13.03 6.1.131, 5.15.179, 5.10.235, 5.4.291

Significant pull requests for mainline kernel

 
28 Mar 2025: drm for 6.15-rc1 [+ + +]
This is the main drm pull request for 6.15. Bit late, but my wife was
away getting a PhD and kids took over my writing summaries time, and
fd.o was offline last week which slowed me down a small bit.

I've done a test merge against your tree from a couple of days ago,
there were a couple of conflicts then (xe and i915) and I know there
is a conflict with the driver core tree in rust area.

links to all the ones I've seen:
https://lore.kernel.org/dri-devel/[email protected]/
https://lore.kernel.org/dri-devel/[email protected]/
https://lore.kernel.org/dri-devel/Z9qnl2bxFZ-Q5Al4@pollux/
https://lore.kernel.org/dri-devel/[email protected]/

I think that should be enough info to solve the rust conflict, which
might be the first one you've seen, if you see it.

Outside of drm there are some rust patches from Danilo who maintains
that area in here, and some pieces for drm header check tests.

The major things in here are a new driver supporting the touchbar
displays on M1/M2, the nova-core stub driver which is just the vehicle
for adding rust abstractions and start developing a real driver inside
of. xe adds support for SVM with a non-driver specific SVM core
abstraction that will hopefully be useful for other drivers, along
with support for shrinking for TTM devices. I'm sure xe and AMD
support new devices, but the pipeline depth on these things is hard to
know what they end up being in the marketplace!

Let me know if there are any problems on your side of if there are
some other merge issues I didn't see here.

Thanks,
Dave.

drm-next-2025-03-28:
drm for 6.15-rc1

uapi:
- add mediatek tiled fourcc
- add support for notifying userspace on device wedged

new driver:
- appletbdrm: support for Apple Touchbar displays on m1/m2
- nova-core: skeleton rust driver to develop nova inside of

firmware:
- add some rust firmware pieces

rust:
- add 'LocalModule' type alias

component:
- add helper to query bound status

fbdev:
- fbtft: remove access to page->index

media:
- cec: tda998x: import driver from drm

dma-buf:
- add fast path for single fence merging

tests:
- fix lockdep warnings

atomic:
- allow full modeset on connector changes
- clarify semantics of allow_modeset and drm_atomic_helper_check
- async-flip: support on arbitary planes
- writeback: fix UAF
- Document atomic-state history

format-helper:
- support ARGB8888 to ARGB4444 conversions

buddy:
- fix multi-root cleanup

ci:
- update IGT

dp:
- support extended wake timeout
- mst: fix RAD to string conversion
- increase DPCD eDP control CAP size to 5 bytes
- add DPCD eDP v1.5 definition
- add helpers for LTTPR transparent mode

panic:
- encode QR code according to Fido 2.2

scheduler:
- add parameter struct for init
- improve job peek/pop operations
- optimise drm_sched_job struct layout

ttm:
- refactor pool allocation
- add helpers for TTM shrinker

panel-orientation:
- add a bunch of new quirks

panel:
- convert panels to multi-style functions
- edp: Add support for B140UAN04.4, BOE NV140FHM-NZ, CSW MNB601LS1-3,
  LG LP079QX1-SP0V, MNE007QS3-7, STA 116QHD024002, Starry 116KHD024006,
  Lenovo T14s Gen6 Snapdragon
- himax-hx83102: Add support for CSOT PNA957QT1-1, Kingdisplay
  kd110n11-51ie, Starry 2082109qfh040022-50e
- visionox-r66451: use multi-style MIPI-DSI functions
- raydium-rm67200: Add driver for Raydium RM67200
- simple: Add support for BOE AV123Z7M-N17, BOE AV123Z7M-N17
- sony-td4353-jdi: Use MIPI-DSI multi-func interface
- summit: Add driver for Apple Summit display panel
- visionox-rm692e5: Add driver for Visionox RM692E5

bridge:
- pass full atomic state to various callbacks
- adv7511: Report correct capabilities
- it6505: Fix HDCP V compare
- snd65dsi86: fix device IDs
- nwl-dsi: set bridge type
- ti-sn65si83: add error recovery and set bridge type
- synopsys: add HDMI audio support

xe:
- support device-wedged event
- add mmap support for PCI memory barrier
- perf pmu integration and expose per-engien activity
- add EU stall sampling support
- GPU SVM and Xe SVM implementation
- use TTM shrinker
- add survivability mode to allow the driver to do
  firmware updates in critical failure states
- PXP HWDRM support for MTL and LNL
- expose package/vram temps over hwmon
- enable DP tunneling
- drop mmio_ext abstraction
- Reject BO evcition if BO is bound to current VM
- Xe suballocator improvements
- re-use display vmas when possible
- add GuC Buffer Cache abstraction
- PCI ID update for Panther Lake and Battlemage
- Enable SRIOV for Panther Lake
- Refactor VRAM manager location

i915:
- enable extends wake timeout
- support device-wedged event
- Enable DP 128b/132b SST DSC
- FBC dirty rectangle support for display version 30+
- convert i915/xe to drm client setup
- Compute HDMI PLLS for rates not in fixed tables
- Allow DSB usage when PSR is enabled on LNL+
- Enable panel replay without full modeset
- Enable async flips with compressed buffers on ICL+
- support luminance based brightness via DPCD for eDP
- enable VRR enable/disable without full modeset
- allow GuC SLPC default strategies on MTL+ for performance
- lots of display refactoring in move to struct intel_display

amdgpu:
- add device wedged event
- support async page flips on overlay planes
- enable broadcast RGB drm property
- add info ioctl for virt mode
- OEM i2c support for RGB lights
- GC 11.5.2 + 11.5.3 support
- SDMA 6.1.3 support
- NBIO 7.9.1 + 7.11.2 support
- MMHUB 1.8.1 + 3.3.2 support
- DCN 3.6.0 support
- Add dynamic workload profile switching for GC 10-12
- support larger VBIOS sizes
- Mark gttsize parameters as deprecated
- Initial JPEG queue resset support

amdkfd:
- add KFD per process flags for setting precision
- sync pasid values between KGD and KFD
- improve GTT/VRAM handling for APUs
- fix user queue validation on GC7/8
- SDMA queue reset support

raedeon:
- rs400 hyperz fix

i2c:
- td998x: drop platform_data, split driver into media and bridge

ast:
- transmitter chip detection refactoring
- vbios display mode refactoring
- astdp: fix connection status and filter unsupported modes
- cursor handling refactoring

imagination:
- check job dependencies with sched helper

ivpu:
- improve command queue handling
- use workqueue for IRQ handling
- add support HW fault injection
- locking fixes

mgag200:
- add support for G200eH5

msm:
- dpu: add concurrent writeback support for DPU 10.x+
- use LTTPR helpers
- GPU:
  - Fix obscure GMU suspend failure
  - Expose syncobj timeline support
  - Extend GPU devcoredump with pagetable info
  - a623 support
  - Fix a6xx gen1/gen2 indexed-register blocks in gpu snapshot / devcoredum=
p
- Display:
  - Add cpu-cfg interconnect paths on SM8560 and SM8650
  - Introduce KMS OMMU fault handler, causing devcoredump snapshot
  - Fixed error pointer dereference in msm_kms_init_aspace()
- DPU:
  - Fix mode_changing handling
  - Add writeback support on SM6150 (QCS615)
  - Fix DSC programming in 1:1:1 topology
  - Reworked hardware resource allocation, moving it to the CRTC code
  - Enabled support for Concurrent WriteBack (CWB) on SM8650
  - Enabled CDM blocks on all relevant platforms
  - Reworked debugfs interface for BW/clocks debugging
  - Clear perf params before calculating bw
  - Support YUV formats on writeback
  - Fixed double inclusion
  - Fixed writeback in YUV formats when using cloned output, Dropped
    wb2_formats_rgb
  - Corrected dpu_crtc_check_mode_changed and struct dpu_encoder_virt
    kerneldocs
  - Fixed uninitialized variable in dpu_crtc_kickoff_clone_mode()
- DSI:
  - DSC-related fixes
  - Rework clock programming
- DSI PHY:
  - Fix 7nm (and lower) PHY programming
  - Add proper DT schema definitions for DSI PHY clocks
- HDMI:
  - Rework the driver, enabling the use of the HDMI Connector framework
- Bindings:
  - Added eDP PHY on SA8775P

nouveau:
- move drm_slave_encoder interface into driver
- nvkm: refactor GSP RPC
- use LTTPR helpers

mediatek:
- HDMI fixup and refinement
- add MT8188 dsc compatible
- MT8365 SoC support

panthor:
- Expose sizes of intenral BOs via fdinfo
- Fix race between reset and suspend
- Improve locking

qaic:
- Add support for AIC200

renesas:
- Fix limits in DT bindings

rockchip:
- support rk3562-mali
- rk3576: Add HDMI support
- vop2: Add new display modes on RK3588 HDMI0 up to 4K
- Don't change HDMI reference clock rate
- Fix DT bindings
- analogix_dp: add eDP support
- fix shutodnw

solomon:
- Set SPI device table to silence warnings
- Fix pixel and scanline encoding

v3d:
- handle clock

vc4:
- Use drm_exec
- Use dma-resv for wait-BO ioctl
- Remove seqno infrastructure

virtgpu:
- Support partial mappings of GEM objects
- Reserve VGA resources during initialization
- Fix UAF in virtgpu_dma_buf_free_obj()
- Add panic support

vkms:
- Switch to a managed modesetting pipeline
- Add support for ARGB8888
- fix UAf

xlnx:
- Set correct DMA segment size
- use mutex guards
- Fix error handling
- Fix docs
drm for 6.15-rc1

uapi:
- add mediatek tiled fourcc
- add support for notifying userspace on device wedged

new driver:
- appletbdrm: support for Apple Touchbar displays on m1/m2
- nova-core: skeleton rust driver to develop nova inside off

firmware:
- add some rust firmware pieces

rust:
- add 'LocalModule' type alias

component:
- add helper to query bound status

fbdev:
- fbtft: remove access to page->index

media:
- cec: tda998x: import driver from drm

dma-buf:
- add fast path for single fence merging

tests:
- fix lockdep warnings

atomic:
- allow full modeset on connector changes
- clarify semantics of allow_modeset and drm_atomic_helper_check
- async-flip: support on arbitary planes
- writeback: fix UAF
- Document atomic-state history

format-helper:
- support ARGB8888 to ARGB4444 conversions

buddy:
- fix multi-root cleanup

ci:
- update IGT

dp:
- support extended wake timeout
- mst: fix RAD to string conversion
- increase DPCD eDP control CAP size to 5 bytes
- add DPCD eDP v1.5 definition
- add helpers for LTTPR transparent mode

panic:
- encode QR code according to Fido 2.2

scheduler:
- add parameter struct for init
- improve job peek/pop operations
- optimise drm_sched_job struct layout

ttm:
- refactor pool allocation
- add helpers for TTM shrinker

panel-orientation:
- add a bunch of new quirks

panel:
- convert panels to multi-style functions
- edp: Add support for B140UAN04.4, BOE NV140FHM-NZ, CSW MNB601LS1-3,
  LG LP079QX1-SP0V, MNE007QS3-7, STA 116QHD024002, Starry 116KHD024006,
  Lenovo T14s Gen6 Snapdragon
- himax-hx83102: Add support for CSOT PNA957QT1-1, Kingdisplay
  kd110n11-51ie, Starry 2082109qfh040022-50e
- visionox-r66451: use multi-style MIPI-DSI functions
- raydium-rm67200: Add driver for Raydium RM67200
- simple: Add support for BOE AV123Z7M-N17, BOE AV123Z7M-N17
- sony-td4353-jdi: Use MIPI-DSI multi-func interface
- summit: Add driver for Apple Summit display panel
- visionox-rm692e5: Add driver for Visionox RM692E5

bridge:
- pass full atomic state to various callbacks
- adv7511: Report correct capabilities
- it6505: Fix HDCP V compare
- snd65dsi86: fix device IDs
- nwl-dsi: set bridge type
- ti-sn65si83: add error recovery and set bridge type
- synopsys: add HDMI audio support

xe:
- support device-wedged event
- add mmap support for PCI memory barrier
- perf pmu integration and expose per-engien activity
- add EU stall sampling support
- GPU SVM and Xe SVM implementation
- use TTM shrinker
- add survivability mode to allow the driver to do
  firmware updates in critical failure states
- PXP HWDRM support for MTL and LNL
- expose package/vram temps over hwmon
- enable DP tunneling
- drop mmio_ext abstraction
- Reject BO evcition if BO is bound to current VM
- Xe suballocator improvements
- re-use display vmas when possible
- add GuC Buffer Cache abstraction
- PCI ID update for Panther Lake and Battlemage
- Enable SRIOV for Panther Lake
- Refactor VRAM manager location

i915:
- enable extends wake timeout
- support device-wedged event
- Enable DP 128b/132b SST DSC
- FBC dirty rectangle support for display version 30+
- convert i915/xe to drm client setup
- Compute HDMI PLLS for rates not in fixed tables
- Allow DSB usage when PSR is enabled on LNL+
- Enable panel replay without full modeset
- Enable async flips with compressed buffers on ICL+
- support luminance based brightness via DPCD for eDP
- enable VRR enable/disable without full modeset
- allow GuC SLPC default strategies on MTL+ for performance
- lots of display refactoring in move to struct intel_display

amdgpu:
- add device wedged event
- support async page flips on overlay planes
- enable broadcast RGB drm property
- add info ioctl for virt mode
- OEM i2c support for RGB lights
- GC 11.5.2 + 11.5.3 support
- SDMA 6.1.3 support
- NBIO 7.9.1 + 7.11.2 support
- MMHUB 1.8.1 + 3.3.2 support
- DCN 3.6.0 support
- Add dynamic workload profile switching for GC 10-12
- support larger VBIOS sizes
- Mark gttsize parameters as deprecated
- Initial JPEG queue resset support

amdkfd:
- add KFD per process flags for setting precision
- sync pasid values between KGD and KFD
- improve GTT/VRAM handling for APUs
- fix user queue validation on GC7/8
- SDMA queue reset support

raedeon:
- rs400 hyperz fix

i2c:
- td998x: drop platform_data, split driver into media and bridge

ast:
- transmitter chip detection refactoring
- vbios display mode refactoring
- astdp: fix connection status and filter unsupported modes
- cursor handling refactoring

imagination:
- check job dependencies with sched helper

ivpu:
- improve command queue handling
- use workqueue for IRQ handling
- add support HW fault injection
- locking fixes

mgag200:
- add support for G200eH5

msm:
- dpu: add concurrent writeback support for DPU 10.x+
- use LTTPR helpers
- GPU:
  - Fix obscure GMU suspend failure
  - Expose syncobj timeline support
  - Extend GPU devcoredump with pagetable info
  - a623 support
  - Fix a6xx gen1/gen2 indexed-register blocks in gpu snapshot / devcoredum=
p
- Display:
  - Add cpu-cfg interconnect paths on SM8560 and SM8650
  - Introduce KMS OMMU fault handler, causing devcoredump snapshot
  - Fixed error pointer dereference in msm_kms_init_aspace()
- DPU:
  - Fix mode_changing handling
  - Add writeback support on SM6150 (QCS615)
  - Fix DSC programming in 1:1:1 topology
  - Reworked hardware resource allocation, moving it to the CRTC code
  - Enabled support for Concurrent WriteBack (CWB) on SM8650
  - Enabled CDM blocks on all relevant platforms
  - Reworked debugfs interface for BW/clocks debugging
  - Clear perf params before calculating bw
  - Support YUV formats on writeback
  - Fixed double inclusion
  - Fixed writeback in YUV formats when using cloned output, Dropped
    wb2_formats_rgb
  - Corrected dpu_crtc_check_mode_changed and struct dpu_encoder_virt
    kerneldocs
  - Fixed uninitialized variable in dpu_crtc_kickoff_clone_mode()
- DSI:
  - DSC-related fixes
  - Rework clock programming
- DSI PHY:
  - Fix 7nm (and lower) PHY programming
  - Add proper DT schema definitions for DSI PHY clocks
- HDMI:
  - Rework the driver, enabling the use of the HDMI Connector framework
- Bindings:
  - Added eDP PHY on SA8775P

nouveau:
- move drm_slave_encoder interface into driver
- nvkm: refactor GSP RPC
- use LTTPR helpers

mediatek:
- HDMI fixup and refinement
- add MT8188 dsc compatible
- MT8365 SoC support

panthor:
- Expose sizes of intenral BOs via fdinfo
- Fix race between reset and suspend
- Improve locking

qaic:
- Add support for AIC200

renesas:
- Fix limits in DT bindings

rockchip:
- support rk3562-mali
- rk3576: Add HDMI support
- vop2: Add new display modes on RK3588 HDMI0 up to 4K
- Don't change HDMI reference clock rate
- Fix DT bindings
- analogix_dp: add eDP support
- fix shutodnw

solomon:
- Set SPI device table to silence warnings
- Fix pixel and scanline encoding

v3d:
- handle clock

vc4:
- Use drm_exec
- Use dma-resv for wait-BO ioctl
- Remove seqno infrastructure

virtgpu:
- Support partial mappings of GEM objects
- Reserve VGA resources during initialization
- Fix UAF in virtgpu_dma_buf_free_obj()
- Add panic support

vkms:
- Switch to a managed modesetting pipeline
- Add support for ARGB8888
- fix UAf

xlnx:
- Set correct DMA segment size
- use mutex guards
- Fix error handling
- Fix docs

 
27 Mar 2025: regmap updates for v6.15 [+ + +]
regmap: Updates for v6.15

Only a couple of small patches this release, one refactoring struct
regmap to pack it more efficiently and another which makes our way of
setting all bits consistent in the regmap-irq code.

27 Mar 2025: ring-buffer: Updates for v6.15 [+ + +]

ring-buffer updates for v6.15

- Allow persistent ring buffer to be memory mapped

  The user space memory mapping used virt_to_page() to get the page from
  the virtual address of the ring buffer. This worked because the ring
  buffer was created via alloc_page() and friends. The persistent ring
  buffer is created from reserved memory at boot up and created via vmap().
  The page can not be retrieved by virt_to_page() for vmap() memory, but
  it can be from vmalloc_to_page(). Use that for the persistent memory
  and this allows it to be memory mapped by user space.

- Restructure the persistent memory to have a "scratch" area

  Instead of hard coding the KASLR offset in the persistent memory
  by the ring buffer, push that work up to the callers of the persistent
  memory as they are the ones that need this information. The offsets
  and such is not important to the ring buffer logic and it should
  not be part of that.

  A scratch pad is now created when the caller allocates a ring buffer
  from persistent memory by stating how much memory it needs to save.

- Allow where modules are loaded to be saved in the new scratch pad

  Save the addresses of modules when they are loaded into the persistent
  memory scratch pad.

- A new module_for_each_mod() helper function was created

  With the acknowledgment of the module maintainers a new module helper
  function was created to iterate over all the currently loaded modules.
  This has a callback to be called for each module. This is needed for
  when tracing is started in the persistent buffer and the currently loaded
  modules need to be saved in the scratch area.

- Expose the last boot information where the kernel and modules were loaded

  The last_boot_info file is updated to print out the addresses of where
  the kernel "_text" location was loaded from a previous boot, as well
  as where the modules are loaded. If the buffer is recording the current
  boot, it only prints "# Current" so that it does not expose the KASLR
  offset of the currently running kernel.

- Allow the persistent ring buffer to be released (freed)

  To have this in production environments, where the kernel command line can
  not be changed easily, the ring buffer needs to be freed when it is not
  going to be used. The memory for the buffer will always be allocated at
  boot up, but if the system isn't going to enable tracing, the memory needs
  to be freed. Allow it to be freed and added back to the kernel memory
  pool.

- Allow stack traces to print the function names in the persistent buffer

  Now that the modules are saved in the persistent ring buffer, if the same
  modules are loaded, the printing of the function names will examine the
  saved modules. If the module is found in the scratch area and is also
  loaded, then it will do the offset shift and use kallsyms to display the
  function name. If the address is not found, it simply displays the address
  from the previous boot in hex.




trace-ringbuffer-v6.15

27 Mar 2025: Devicetree updates for v6.15 [+ + +]
your tree in of_private.h (actually from fixes from me for 6.14 which I 
never merged into this cycle's branch).

Rob


Devicetree for v6.15:

DT core:
- Fix ref counting errors in interrupt parsing code

- Allow "nonposted-mmio" property per device and on non-Apple h/w

- Use typed accessors in platform driver code

- Fix mismatch between DT MAX_PHANDLE_ARGS and NR_FWNODE_REFERENCE_ARGS
  and increase the maximum number args

- Rework of_resolve_phandles() to use __free() cleanup and fix ref count
  error

- Use of_prop_cmp() in a few more places

- Improve make_fit.py script error handling

DT bindings:
- Update DT property ordering rules for properties within groups (i.e.
  common suffix)

- Update DT submitting-patches doc to cover sending .dts patches and
  SoC maintainer rules on being warning free against linux-next

- Add ti,tps53681, ti,tps53681, Maxim max15301, max15303, and
  max20751 to trivial devices

- Add Renesas RZ/V2H(P) and Allwinner H616 support to Arm Mali Bifrost
  GPU. Add Samsung exynos7870 support to Arm Mail Midgard.

- Rework qcom,ebi2 and samsung,exynos4210-sram memory controller
  bindings to split child node properties. Fix the LAN9115 binding to
  use the child node schema so all properties are documented.

- Convert nxp,lpc3220-mic and Altera ECC manager bindings to schema

- Fix some issues with LVDS display panels causing validation warnings

- Drop some obsolete parts of Xilinx bindings

27 Mar 2025: fbdev updates for v6.15-rc1 [+ + +]
please pull some updates regarding fbdev for 6.15-rc1:

The fbcon packed pixel drawing routines have been refactored to bring the
implementations for system and I/O memory in sync.  The other patches add some
parameter checks, static attribute groups for sysfs entries and console fixes.

Thanks,
Helge

fbdev fixes and updates for 6.15-rc1:

This includes a major refactoring of the fbcon packed pixel drawing routines,
contributed by Zsolt Kajtar.  The original version duplicated more or less the
same algorithms for both system and i/o memory.  The new implementation is more
robust, both implementations are now feature complete (e.g. pixel order
reversing now supported by both), behaves the same way as it uses the identical
code for both variants and adds support for foreign endian framebuffers.

The other fixes and cleanups are:
- dummycon: only build module if there are users and fix rows/cols (Arnd Bergmann)
- mdacon: rework dependency list (Arnd Bergmann)
- lcdcfb, fsl-diu-fb, fbcon: Fix registering and removing of sysfs (Shixiong Ou)
- sm501fb: Add some geometry checks (Danila Chernetsov)
- omapfb: Remove unused code, add value checks (Leonid Arapov)
- au1100fb: Clean up variable assignment (Markus Elfring)
- pxafb: use devm_kmemdup*()  (Raag Jadav)

27 Mar 2025: ktest: Update for v6.15 [+ + +]

ktest update for v6.15:

- Fix failure of directory of log file not existing

  If a LOG_FILE option is set for ktest to log its messages, and the
  directory path does not exist. Then ktest fails. Have ktest attempt
  to create the directory where the log file exists and if that succeeds
  continue on testing.




ktest-v6.15

27 Mar 2025: tracing/tools: Updates for 6.15 [+ + +]
Costa Shulyupin <[email protected]>, John Kacur <[email protected]>, Tomas Glozar <[email protected]>


tracing tooling updates for 6.15:

- Allow RTLA to collect data via BPF

  The current implementation of rtla uses libtracefs and libtraceevent to
  pull sample events generated by the timerlat tracer from the trace
  buffer. rtla then processes the sample by updating the histogram and
  summary (current, maximum, minimum, and sum values) as well as checks
  if tracing has been stopped due to threshold overflow.

  In use cases where a large number of samples is being generated, that
  is, with measurements running on many CPUs and with a low interval,
  this sample processing design causes a significant CPU load on the rtla
  side. Furthermore, with >100 CPUs and 100us interval, rtla was reported
  as not being able to keep up with the samples and dropping most of them,
  leading to it being unusable.

  Change the way the timerlat trace processes samples by attaching
  a BPF program to the trace event using the BPF skeleton feature of bpftool.
  Unlike the current implementation, the BPF implementation does not check
  whether tracing is stopped (in BPF mode, tracing is always off to improve
  performance), but waits for a write to a BPF ringbuffer instead. This allows
  rtla to exit immediately when a threshold is violated, without waiting
  for the next iteration of the while loop.

  If the requirements for the BPF implementation are not met, either at
  build time or at run time, the current implementation is used as
  fallback. Which implementation is being used can be seen when running
  rtla timerlat with "-D" option. rtla can be forced to run in non-BPF
  mode by setting the RTLA_NO_BPF option to 1, for debugging purposes.

- Fix LD_FLAGS from being dropped in build

- Refactor code to remove duplication of save_trace_to_file

- Always set options and do not rely on default settings

  Do not rely on the default kernel settings of the tracers when
  starting. They could have been changed by the user which gives
  inconsistent results. Always set the options that rtla expects.

- Add creation of ctags and TAGS for traversing code




trace-tools-v6.15

27 Mar 2025: ext4 updates for v6.15-rc1 [+ + +]
Ext4 bug fixes and cleanups, including:

  * hardening against maliciously fuzzed file systems
  * backwards compatibility for the brief period when we attempted to
     ignore zero-width characters
  * avoid potentially BUG'ing if there is a file system corruption found
    during the file system unmount
  * fix free space reporting by statfs when project quotas are enabled
    and the free space is less than the remaining project quota

Also improve performance when replaying a journal with a very large
number of revoke records (applicable for Lustre volumes).

27 Mar 2025: tracing: Updates for v6.15 [+ + +]

tracing updates for v6.15:

- Add option traceoff_after_boot

  In order to debug kernel boot, it sometimes is helpful to enable tracing
  via the kernel command line. Unfortunately, by the time the login prompt
  appears, the trace is overwritten by the init process and other user space
  start up applications. Adding a "traceoff_after_boot" will disable tracing
  when the kernel passes control to init which will allow developers to be
  able to see the traces that occurred during boot.

- Clean up the mmflags macros that display the GFP flags in trace events

  The macros to print the GFP flags for trace events had a bit of
  duplication. The code was restructured to remove duplication and in the
  process it also adds some flags that were missed before.

- Removed some dead code and scripts/draw_functrace.py

  draw_functrace.py hasn't worked in years and as nobody complained
  about it, remove it.

- Constify struct event_trigger_ops

  The event_trigger_ops is just a structure that has function pointers that
  are assigned when the variables are created. These variables should all be
  constants.

- Other minor clean ups and fixes




trace-v6.15

27 Mar 2025: latency tracing: Updates for 6.15 [+ + +]

Latency tracing changes for v6.15:

- Add some trace events to osnoise and timerlat sample generation

  This adds more information to the osnoise and timerlat tracers as well as
  allows BPF programs to be attached to these locations to extract even more
  data.

- Fix to DECLARE_TRACE_CONDITION() macro

  It wasn't used but now will be and it happened to be broken causing the
  build to fail.

- Add scheduler specification monitors to runtime verifier (RV)

  This is a continuation of Daniel Bristot's work.

  RV allows monitors to run and react concurrently. Running the cumulative
  model is equivalent to running single components using the same
  reactors, with the advantage that it's easier to point out which
  specification failed in case of error.

  This update introduces nested monitors to RV, in short, the sysfs
  monitor folder will contain a monitor named sched, which is nothing but
  an empty container for other monitors. Controlling the sched monitor
  (enable, disable, set reactors) controls all nested monitors.

  The following scheduling monitors are added:

  * sco: scheduling context operations
      Monitor to ensure sched_set_state happens only in thread context
  * tss: task switch while scheduling
      Monitor to ensure sched_switch happens only in scheduling context
  * snroc: set non runnable on its own context
      Monitor to ensure set_state happens only in the respective task's context
  * scpd: schedule called with preemption disabled
      Monitor to ensure schedule is called with preemption disabled
  * snep: schedule does not enable preempt
      Monitor to ensure schedule does not enable preempt
  * sncid: schedule not called with interrupt disabled
      Monitor to ensure schedule is not called with interrupt disabled




trace-latency-v6.15-2

27 Mar 2025: Introduce try_alloc_pages for 6.15 [+ + +]

The pull includes work from Sebastian, Vlastimil and myself
with a lot of help from Michal and Shakeel.
This is a first step towards making kmalloc reentrant to get rid
of slab wrappers: bpf_mem_alloc, kretprobe's objpool, etc.
These patches make page allocator safe from any context.

Vlastimil kicked off this effort at LSFMM 2024:
https://lwn.net/Articles/974138/
and we continued at LSFMM 2025:
https://lore.kernel.org/all/CAADnVQKfkGxudNUkcPJgwe3nTZ=xohnRshx9kLZBTmR_E1DFEg@mail.gmail.com/

Why:
SLAB wrappers bind memory to a particular subsystem
making it unavailable to the rest of the kernel.
Some BPF maps in production consume Gbytes of preallocated
memory. Top 5 in Meta: 1.5G, 1.2G, 1.1G, 300M, 200M.
Once we have kmalloc that works in any context BPF map
preallocation won't be necessary.

How:
Synchronous kmalloc/page alloc stack has multiple
stages going from fast to slow:
cmpxchg16 -> slab_alloc -> new_slab -> alloc_pages ->
rmqueue_pcplist -> __rmqueue.
rmqueue_pcplist was already relying on trylock.
This set changes rmqueue_bulk/rmqueue_buddy to attempt
a trylock and return ENOMEM if alloc_flags & ALLOC_TRYLOCK.
Then it wraps this functionality into try_alloc_pages() helper.
We make sure that the logic is sane in PREEMPT_RT.
End result: try_alloc_pages()/free_pages_nolock() are
safe to call from any context.
try_kmalloc() for any context with similar trylock
approach will follow. It will use try_alloc_pages()
when slab needs a new page.
Though such try_kmalloc/page_alloc() is an opportunistic
allocator, this design ensures that the probability of
successful allocation of small objects (up to one
page in size) is high.

Even before we have try_kmalloc(), we already use
try_alloc_pages() in BPF arena implementation and it's
going to be used more extensively in BPF.

Once the set was applied to bpf-next we ran into two
two small conflicts with MM tree as reported by Stephen:
https://lore.kernel.org/bpf/[email protected]/
https://lore.kernel.org/bpf/[email protected]/

So Andrew suggested to keep thing as-is instead of moving
patchset between the trees before merge window:
https://lore.kernel.org/all/[email protected]/

Note "locking/local_lock: Introduce localtry_lock_t" patch is
later used in Vlastimil's sheaves and in Shakeel's changes.

Signed-off-by: Alexei Starovoitov <[email protected]>
27 Mar 2025: BPF resilient spin_lock for 6.15 [+ + +]
Please merge this pull request after main BPF changes.

This patch set introduces Resilient Queued Spin Lock (or rqspinlock with
res_spin_lock() and res_spin_unlock() APIs).

This is a qspinlock variant which recovers the kernel from a stalled
state when the lock acquisition path cannot make forward progress. This
can occur when a lock acquisition attempt enters a deadlock situation
(e.g. AA, or ABBA), or more generally, when the owner of the lock (which
we’re trying to acquire) isn’t making forward progress.
Deadlock detection is the main mechanism used to provide instant recovery,
with the timeout mechanism acting as a final line of defense. Detection is
triggered immediately when beginning the waiting loop of a lock slow path.

Additionally, BPF programs attached to different parts of the kernel
can introduce new control flow into the kernel, which increases the
likelihood of deadlocks in code not written to handle reentrancy. There
have been multiple syzbot reports surfacing deadlocks in internal kernel
code due to the diverse ways in which BPF programs can be attached to
different parts of the kernel.  By switching the BPF subsystem’s lock
usage to rqspinlock, all of these issues are mitigated at runtime.

This spin lock implementation allows BPF maps to become safer and remove
mechanisms that have fallen short in assuring safety when nesting
programs in arbitrary ways in the same context or across different
contexts.

We run benchmarks that stress locking scalability and perform comparison
against the baseline (qspinlock). For the rqspinlock case, we replace
the default qspinlock with it in the kernel, such that all spin locks in
the kernel use the rqspinlock slow path. As such, benchmarks that stress
kernel spin locks end up exercising rqspinlock.

More details in the merge commit cover letter.

In this patchset we convert BPF hashtab, LPM, and percpu_freelist
to res_spin_lock:
27 Mar 2025: probes: Updates for v6.15 [+ + +]
Probes updates for v6.15:

- probe-events: Add comments about entry data storing code to clarify
  where and how the entry data is stored for function return events.

- probe-events: Log error for exceeding the number of arguments to help
  user to identify error reason via tracefs/error_log file.

- selftests/ftrace: Improve the ftracetest to add followngs.
  . Expand the tprobe event test to check if it can correctly find
    the wrong format tracepoint name.
  . Add new syntax error test to check whether error_log correctly
    indicates a wrong character in the tracepoint name.
  . Add a new dynamic events argument limitation test case which checks
    max number of probe arguments.




probes-v6.15

27 Mar 2025: m68knommu changes for v6.15 [+ + +]

A couple of simple changes for v6.15. One removes unnecessary includes
of linux/fb.h, and the other improves hardening by replacing use of
strncpy() with strscpy().

Regards
Greg





m68knommu: updates and fixes for v6.15

Fixes include:
. remove unused include of linux/fb.h
. use strscpy() instead of strncpy()

27 Mar 2025: livepatching for 6.15 [+ + +]
please pull the latest changes for the kernel livepatching from



- Add a selftest for tracing of a livepatched function.
- Skip a selftest when kprobes are not using ftrace
- Some documentation clean up.

27 Mar 2025: printk for 6.15 [+ + +]
please pull the latest printk changes from



- New option "printk.debug_non_panic_cpus" allows to store printk
  messages from non-panic CPUs during panic. It might be useful
  when panic() fails. It is disabled by default because it increases
  the chance to see the messages printed before panic() and on
  the panic-CPU.

- New build option "CONFIG_NULL_TTY_DEFAULT_CONSOLE" allows to build
  kernel without the virtual terminal support which prefers ttynull
  over serial console.

- Do not unblank suspended consoles.

- Some code clean up.

27 Mar 2025: asm-generic changes for 6.15 [+ + +]
asm-generic changes for 6.15

This is mainly set of cleanups of asm-generic/io.h, resolving problems
with inconsistent semantics of ioread64/iowrite64 that were causing
runtime and build issues.

The "GENERIC_IOMAP" version that switches between inb()/outb() and
readb()/writeb() style accessors is now only used on architectures that
have PC-style ISA devices that are not memory mapped (x86, uml, m68k-q40
and powerpc-powernv), while alpha and parisc use a more complicated
variant and everything else just maps the ioread interfaces to plan MMIO
(readb/writeb etc).

In addition there are two small changes from Raag Jadav to simplify
the asm-generic/io.h indirect inclusions and from Jann Horn to fix
a corner case with read_word_at_a_time.

[this is the same content as yesterday, but with the regression
 fix from Jann added on top of his original patch]

 
26 Mar 2025: kunit next update for Linux 6.15-rc1 [+ + +]
Hi Linus,


kunit tool:
- Changes to kunit tool to use qboot on QEMU x86_64, and build GDB scripts.
- Fixes kunit tool bug in parsing test plan.
- Adds test to kunit tool to check parsing late test plan.

kunit:
- Clarifies kunit_skip() argument name.
- Adds Kunit check for the longest symbol length.
- Changes qemu_configs for sparc to use Zilog console.

Conflicts in lib/Makefile

between commit:

   b341f6fd45ab ("blackhole_dev: convert self-test to KUnit")

from the net-next tree and commit:

   c104c16073b7 ("Kunit to check the longest symbol length")

The commit c104c16073b7 conflicts with the mainline now with
62f3802332ed ("vdso: add generic time data storage") from kspp
is now in the mainline.

Stephen has the fixes for these two conflicts in next.
(Thank you Stephen)

diff is attached.

thanks,
-- Shuah

linux_kselftest-kunit-6.15-rc1

kunit tool:
- Changes to kunit tool to use qboot on QEMU x86_64, and build GDB scripts.
- Fixes kunit tool bug in parsing test plan.
- Adds test to kunit tool to check parsing late test plan.

kunit:
- Clarifies kunit_skip() argument name.
- Adds Kunit check for the longest symbol length.
- Changes qemu_configs for sparc to use Zilog console.

26 Mar 2025: Kselftest next update for Linux 6.15-rc1 [+ + +]
Hi Linus,


Fixes bugs and cleans up code in tracing, ftrace, and user_events tests.
Adds missing executables to ftrace gitignore.

diff is attached.

thanks,
-- Shuah

linux_kselftest-next-6.15-rc1

Fixes bugs and cleans up code in tracing, ftrace, and user_events tests.
Adds missing executables to ftrace gitignore.

26 Mar 2025: timers/clocksource for v6.15-rc1 [+ + +]
please pull the latest timers/clocksource branch from:

ce-2025-03-26

people/daniel.lezcano/linux into timers/clocksource


Updates for clocksource/event drivers:

  - Add support for suspend/resume in the STM32 LP-Timer driver with a
    follow up fix, which uses the proper method to setup the timer as a
    optional wakeup source instead of trying to force it as mandatory
    wakeup source.

  - The usual device tree updates to enable new SoC models in existing
    drivers.

  - Trivial spelling, style and indentation fixes

Thanks,

tglx

26 Mar 2025: asm-generic changes for 6.15 [+ + +]
asm-generic changes for 6.15

This is mainly set of cleanups of asm-generic/io.h, resolving problems
with inconsistent semantics of ioread64/iowrite64 that were causing
runtime and build issues.

The "GENERIC_IOMAP" version that switches between inb()/outb() and
readb()/writeb() style accessors is now only used on architectures that
have PC-style ISA devices that are not memory mapped (x86, uml, m68k-q40
and powerpc-powernv), while alpha and parisc use a more complicated
variant and everything else just maps the ioread interfaces to plan MMIO
(readb/writeb etc).

In addition there are two small changes from Raag Jadav to simplify
the asm-generic/io.h indirect inclusions and from Jann Horn to fix
a corner case with read_word_at_a_time.

26 Mar 2025: SoC updates for 6.15 [+ + +]
These are the majority of the SoC tree updates for 6.15, with a
handful of patches still waiting for a build regression fix.

There are a total of 658 non-merges patches from 165 developers,
the most active ones being:

     29 Nick Chan
     24 Sudeep Holla
     19 Krzysztof Kozlowski
     19 AngeloGioacchino Del Regno
     19 Alexander Stein
     17 Quentin Schulz
     16 Michal Simek
     15 Frank Li
     14 Ryan Wanner
     14 Rob Herring (Arm)
     14 Ahmad Fatoum
     12 Oleksij Rempel
     12 Ivaylo Ivanov
     10 Tudor Ambarus
     10 Markus Niebel
     10 Jimmy Hon

The overall dirstat that this time the largest updates are for
Apple's T2 BMC based machines, as well as boards with rockchip
and mediatek socs:

   0.1% Documentation/devicetree/bindings/arm/marvell/
   0.7% Documentation/devicetree/bindings/arm/
   0.1% Documentation/devicetree/bindings/clock/
   0.1% Documentation/devicetree/bindings/firmware/
   0.2% Documentation/devicetree/bindings/soc/samsung/
   0.1% Documentation/devicetree/bindings/soc/
   0.1% Documentation/devicetree/bindings/sound/
   0.2% Documentation/devicetree/bindings/
   0.5% arch/arm/boot/dts/allwinner/
   0.1% arch/arm/boot/dts/amlogic/
   0.1% arch/arm/boot/dts/intel/ixp/
   0.7% arch/arm/boot/dts/microchip/
   0.2% arch/arm/boot/dts/nvidia/
   2.0% arch/arm/boot/dts/nxp/imx/
   0.7% arch/arm/boot/dts/nxp/mxs/
   0.1% arch/arm/boot/dts/renesas/
   3.8% arch/arm/boot/dts/st/
   0.8% arch/arm/boot/dts/xilinx/
   0.1% arch/arm/boot/dts/
   0.3% arch/arm/mach-at91/
   0.1% arch/arm/mach-shmobile/
   0.2% arch/arm64/boot/dts/airoha/
   0.3% arch/arm64/boot/dts/allwinner/
   0.2% arch/arm64/boot/dts/amd/
   0.6% arch/arm64/boot/dts/amlogic/
  22.0% arch/arm64/boot/dts/apple/
   1.2% arch/arm64/boot/dts/arm/
   1.4% arch/arm64/boot/dts/exynos/google/
   3.2% arch/arm64/boot/dts/exynos/
   8.2% arch/arm64/boot/dts/freescale/
   0.4% arch/arm64/boot/dts/marvell/
   8.0% arch/arm64/boot/dts/mediatek/
   0.2% arch/arm64/boot/dts/nvidia/
   3.0% arch/arm64/boot/dts/renesas/
  14.6% arch/arm64/boot/dts/rockchip/
   4.5% arch/arm64/boot/dts/st/
   1.1% arch/arm64/boot/dts/ti/
   2.4% arch/arm64/boot/dts/xilinx/
   0.1% arch/arm64/boot/dts/
   0.2% arch/riscv/boot/dts/
   1.4% drivers/firmware/arm_ffa/
   0.2% drivers/firmware/arm_scmi/
   2.6% drivers/firmware/samsung/
   0.2% drivers/firmware/smccc/
   0.1% drivers/irqchip/
   0.1% drivers/memory/
   0.2% drivers/reset/
   0.4% drivers/soc/apple/
   5.1% drivers/soc/mediatek/
   0.2% drivers/soc/qcom/
   1.0% drivers/soc/renesas/
   0.3% drivers/soc/samsung/
   0.1% drivers/
   1.2% include/dt-bindings/clock/
   0.6% include/dt-bindings/reset/
   0.1% include/linux/firmware/samsung/
   0.2% include/linux/

New SoC support this time is for variations of chips
from ST, Apple, Mediatek, and Microchip and AMD, as well
as the Morello chip from Arm.

      Arnd
26 Mar 2025: Networking for v6.15 [+ + +]
A bit late this time, due to badly timed vacations and unmovable
"work work". You will see at least 3 conflicts pulling this:

fs/eventpoll.c
 https://lore.kernel.org/all/[email protected]/

net/core/dev.c
 https://lore.kernel.org/all/[email protected]/

lib/Makefile
 https://lore.kernel.org/all/[email protected]/
(note the file move)

Networking changes for 6.15.

Core & protocols
26 Mar 2025: latency tracing: Updates for 6.15 [+ + +]

Latency tracing changes for v6.15:

- Add some trace events to osnoise and timerlat sample generation

  This adds more information to the osnoise and timerlat tracers as well as
  allows BPF programs to be attached to these locations to extract even more
  data.

- Fix to DECLARE_TRACE_CONDITION() macro

  It wasn't used but now will be and it happened to be broken causing the
  build to fail.

- Add scheduler specification monitors to runtime verifier (RV)

  This is a continuation of Daniel Bristot's work.

  RV allows monitors to run and react concurrently. Running the cumulative
  model is equivalent to running single components using the same
  reactors, with the advantage that it's easier to point out which
  specification failed in case of error.

  This update introduces nested monitors to RV, in short, the sysfs
  monitor folder will contain a monitor named sched, which is nothing but
  an empty container for other monitors. Controlling the sched monitor
  (enable, disable, set reactors) controls all nested monitors.

  The following scheduling monitors are added:

  * sco: scheduling context operations
      Monitor to ensure sched_set_state happens only in thread context
  * tss: task switch while scheduling
      Monitor to ensure sched_switch happens only in scheduling context
  * snroc: set non runnable on its own context
      Monitor to ensure set_state happens only in the respective task's context
  * scpd: schedule called with preemption disabled
      Monitor to ensure schedule is called with preemption disabled
  * snep: schedule does not enable preempt
      Monitor to ensure schedule does not enable preempt
  * sncid: schedule not called with interrupt disabled
      Monitor to ensure schedule is not called with interrupt disabled




trace-latency-v6.15

26 Mar 2025: IOMMU Updates for Linux v6.15 [+ + +]
IOMMU Updates for Linux v6.15

Including:

- Core: IOMMUFD dependencies from Jason:
  - Change the iommufd fault handle into an always present hwpt handle in
    the domain
  - Give iommufd its own SW_MSI implementation along with some IRQ layer
    rework
  - Improvements to the handle attach API

- Core: Fixes for probe-issues from Robin

- Intel VT-d changes:
  - Checking for SVA support in domain allocation and attach paths
  - Move PCI ATS and PRI configuration into probe paths
  - Fix a pentential hang on reboot -f
  - Miscellaneous cleanups

- AMD-Vi changes:
  - Support for up to 2k IRQs per PCI device function
  - Set of smaller fixes

- ARM-SMMU changes:
  - SMMUv2 devicetree binding updates for Qualcomm implementations
    (QCS8300 GPU and MSM8937)
  - Clean up SMMUv2 runtime PM implementation to help with wider rework of
    pm_runtime_put_autosuspend()

- Rockchip driver changes:
  - Driver adjustments for recent DT probing changes

- S390 IOMMU changes:
  - Support for IOMMU passthrough

- Apple Dart changes:
  - Driver adjustments to meet ISP device requirements
  - Null-ptr deref fix
  - Disable subpage protection for DART 1

26 Mar 2025: platform-drivers-x86 for v6.15-1 [+ + +]
Here is the main PDx86 PR for v6.15.

Highlights:

 - alienware-wmi: Refactor and split WMAX/legacy drivers

 - dell-ddv:

    - Correct +0.1 offset in temperature

    - Use the power supply extension mechanism for battery temperatures

 - intel/pmc:

    - Refactor init to mostly use a common init function

    - Add support for Arrow Lake U/H

    - Add support for Panther Lake

 - intel/sst:

    - Improve multi die handling

    - Prefix header search path with sysroot (fixes cross-compiling)

 - lenovo-wmi-hotkey-utilities: Support for mic & audio mute LEDs

 - samsung-galaxybook: Add driver for Samsung Galaxy Book series

 - wmi:

    - Rework WCxx/WExx ACPI method handling

    - Enable data block collection when the data block is set

 - platform/arm:

    - Add Huawei Matebook E Go EC driver

 - platform/mellanox:

    - Relocate to drivers/platform/mellanox/

    - mlxbf-bootctl: RTC battery status sysfs support

 - Miscellaneous cleanups / refactoring / improvements

Regards, i.


platform-drivers-x86 for v6.15-1

Highlights:

 - alienware-wmi: Refactor and split WMAX/legacy drivers

 - dell-ddv:

    - Correct +0.1 offset in temperature

    - Use the power supply extension mechanism for battery temperatures

 - intel/pmc:

    - Refactor init to mostly use a common init function

    - Add support for Arrow Lake U/H

    - Add support for Panther Lake

 - intel/sst:

    - Improve multi die handling

    - Prefix header search path with sysroot (fixes cross-compiling)

 - lenovo-wmi-hotkey-utilities: Support for mic & audio mute LEDs

 - samsung-galaxybook: Add driver for Samsung Galaxy Book series

 - wmi:

    - Rework WCxx/WExx ACPI method handling

    - Enable data block collection when the data block is set

 - platform/arm:

    - Add Huawei Matebook E Go EC driver

 - platform/mellanox:

    - Relocate to drivers/platform/mellanox/

    - mlxbf-bootctl: RTC battery status sysfs support

 - Miscellaneous cleanups / refactoring / improvements

The following is an automated shortlog grouped by driver:

alienware-wmi:
 -  Add a state container for LED control feature
 -  Add a state container for thermal control methods
 -  Add alienware-wmi.h
 -  Add WMI Drivers
 -  Refactor hdmi, amplifier, deepslp methods
 -  Refactor LED control methods
 -  Refactor thermal control methods
 -  Rename alienware-wmi.c
 -  Split DMI table
 -  Split the alienware-wmi driver
 -  Update alienware-wmi config entries
 -  Update header and module information

amd/pmc:
 -  fix leak in probe()
 -  Move macros and structures to the PMC header file
 -  Notify user when platform does not support s0ix transition
 -  Remove unnecessary line breaks
 -  Use managed APIs for mutex

amd/pmf:
 -  convert timeouts to secs_to_jiffies()

amd:
 -  Use *-y instead of *-objs in Makefiles

arm64:
 -  add Huawei Matebook E Go EC driver

arm64: dts: qcom: gaokun3:
 -  Add Embedded Controller node

compal-laptop:
 -  Do not include <linux/fb.h>

dell-ddv:
 -  Fix temperature calculation
 -  Use devm_battery_hook_register
 -  Use the power supply extension mechanism

dell: dell-wmi-sysman:
 -  Use *-y instead of *-objs in Makefile

dell:
 -  Modify Makefile alignment
 -  Use *-y instead of *-objs in Makefile

dell-uart-backlight:
 -  Make dell_uart_bl_serdev_driver static

dt-bindings: platform:
 -  Add Huawei Matebook E Go EC

hp-bioscfg:
 -  Replace deprecated strncpy() with strscpy()
 -  Use wmi_instance_count()

hp:
 -  Use *-y instead of *-objs in Makefile

hwmon:
 -  (hp-wmi-sensors) Use the WMI bus API when accessing sensors

ideapad-laptop:
 -  use dev_groups to register attribute groups

int3472:
 -  Call "func" "con_id" instead

intel/pmc:
 -  Add Arrow Lake U/H support to intel_pmc_core driver
 -  Add Panther Lake support to intel_pmc_core
 -  Create generic_core_init() for all platforms
 -  Make tgl_core_generic_init() static
 -  Move arch specific action to init function
 -  Remove duplicate enum
 -  Remove simple init functions
 -  Remove unnecessary declarations in header
 -  Remove unneeded extern keyword in header

intel:
 -  Use *-y instead of *-objs in Makefile

irqdomain: platform/x86:
 -  Switch to irq_domain_create_linear()

lenovo-wmi-hotkey-utilities.c:
 -  Support for mic and audio mute LEDs

lenovo-yoga-tab2-pro-1380-fastcharger:
 -  Make symbol static

MAINTAINERS:
 -  Add documentation reference for Mellanox platform
 -  Update ALIENWARE WMI DRIVER entry

mellanox:
 -  Relocate mlx-platform driver

mlxbf-bootctl:
 -  Support sysfs entries for RTC battery status

mlx-platform:
 -  Change register name
 -  Cosmetic changes

samsung-galaxybook:
 -  Add samsung-galaxybook driver
 -  Fix block_recording not supported logic

sonypi:
 -  Use str_on_off() helper in sonypi_display_info()

think-lmi:
 -  Use ACPI object when extracting strings
 -  Use WMI bus API when accessing BIOS settings

thinkpad_acpi:
 -  check the return value of devm_mutex_init()
 -  convert timeouts to secs_to_jiffies()
 -  Do not include <linux/fb.h>
 -  Move HWMON initialization to tpacpi_hwmon_pdriver's probe
 -  Move subdriver initialization to tpacpi_pdriver's probe.

tools/power/x86/intel-speed-select:
 -  Die ID for IO dies
 -  Fix the condition to check multi die system
 -  Prefix header search path with sysroot
 -  Prevent increasing MAX_DIE_PER_PACKAGE
 -  v1.22 release

wmi:
 -  Call WCxx methods when setting data blocks
 -  Rework WCxx/WExx ACPI method handling
 -  Update documentation regarding the GUID-based API
 -  Use devres to disable the WMI device

x86-android-tablets:
 -  Add select POWER_SUPPLY to Kconfig

Merges:
 -  Merge branch 'fixes' into for-next
 -  Merge branch 'intel-sst' of https://github.com/spandruvada/linux-kernel into review-ilpo-next

26 Mar 2025: HID for 6.15 [+ + +]
please pull from

nus-2025032601

to receive HID subsystem queue for 6.15 merge window.

Highlights:

=3D=3D=3D=3D=3D
- PlayStation 5 controllers support (Alex Henrie)
- big revamp and modernization of the aged hid-pidff force feedback driver=
=20
  (Tomasz Paku=B3a)
- conversion of hid-lg-g15 to standard multicolor LED API (Kate Hsuan)
- improvement of behavior of Human Presence Sensor (HPD) in amd_sfh=20
  driver (Mario Limonciello)
- other assorted fixes, code cleanups and device ID additions
=3D=3D=3D=3D=3D

26 Mar 2025: sound updates for 6.15-rc1 [+ + +]
please pull sound updates for v6.15-rc1 from:


The topmost commit is 3a949fc08103c0ce3a1d0ef30459c7b3acc6a214


sound updates for 6.15-rc1

We've received lots of commits at this time, as a result of various
cleanup and refactoring works as well as a few new drivers and the
generic SoundWire support.  Most of changes are device-specific,
little about the core changes.  Some highlights below:

Core:
* A couple of (rather minor) race fixes in ALSA sequencer code
* A regression fix in ALSA timer code that may lead to a deadlock

ASoC:
* A large series of code conversion to use modern terminology for the
  clocking configuration
* Conversions of PM ops with the modern macros in all ASoC drivers
* Clarification of the control operations
* Prepartory work for more generic SoundWire SCDA controls
* Support for AMD ACP 7.x, AWINC WM88166, Everest ES8388, Intel AVS
  PEAKVOL and GAIN DSP modules Mediatek MT8188 DMIC, NXP i.MX95,
  nVidia Tegra interconnects, Rockchip RK3588 S/PDIF, Texas
  Instruments SN012776 and TAS5770L, and Wolfson WM8904 DMICs

Others:
* Conversions of PM ops with the modern macros in the rest drivers
* USB-audio quirks and fixes for Presonus Studio, DJM-A9, CME
* HD-audio quirks and fixes ASUS, HP, Lenovo, and others

Note that the PR contains some changes from the tip tree for AMD code,
and it might give some merge conflict due to the rebase afterwards.


26 Mar 2025: thermal drivers for v6.15-rc1 [+ + +]
Hi Rafael,

please consider the following changes since commit 
c3b659b74541f4564f9f5a39f65e625c47e77e21:

+0100)

are available in the Git repository at:

  
ssh://[email protected]/pub/scm/linux/kernel/git/thermal/linux.git 
tags/thermal-v6.15-rc1

for you to fetch changes up to 1b4ef46fd6660712afcfdd841eadd928193e850f:

   thermal/drivers/qcom-spmi-temp-alarm: Drop unused driver data 
(2025-03-25 20:52:04 +0100)

- Used dev_err_probe() helpers to simplify the init code in the Qoriq
   driver (Frank Li)

- Powered down the Qoriq's TMU at suspend time (Alice Guo)

- Added ipq5332, ipq5424 compatible for the QCom's tsens driver and
   TSENS enable / calibration support for V2 (Praveenkumar I)

- Added missing rk3328 mapping entry (Trevor Woerner)

- Removed duplicate struct declaration in the thermal core header
   (Xueqin Luo)

- Disabled the monitoring mode during suspend for the LVTS Mediatek
   driver to prevent temperature acquisition glitches (Nícolas
   F. R. A. Prado)

- Disabled Stage 3 thermal threshold on the LVTS Mediatek driver
   because it disables the suspend ability and does have an not
   interrupt handler (Nícolas F. R. A. Prado)

- Fixed low temperature offset interrupt on the LVTS Mediatek driver
   to prevent multiple interrupts when the system is at its normal
   functionning temperature (Nícolas F. R. A. Prado)

- Enable the interrupts on the LVTS Mediatek driver only on used
   sensors (Nícolas F. R. A. Prado)

- Added the BCM74110 compatible DT binding and the corresponding code
   to support the chip with a different process (Florian Fainelli)

- Corrected indentation and style in DTS example (Krzysztof Kozlowski)

- Unified hexadecimal annotatation in the rcar_gen3 driver (Niklas
   Söderlund)

- Factored out the code logic to read the fuse on the on Gen3 and Gen4
   drivers (Niklas Söderlund)

- Dropped unused driver data on the QCom's spmi temperature alarm
   driver (Johan Hovold)

26 Mar 2025: zstd changes for v6.15-rc1 [+ + +]
This pull request updates Zstandard to the latest upstream release v1.5.7. The
two major motivations for updating Zstandard are to keep the code up to date,
and to expose API's needed by Intel for the QAT compression accelerator. Detailed
changelog and testing information are in the commit message.

This change conflicts with 1400c87e. It should be merged to keep the change to
(__GNUC__ >= 11) to work around a gcc segfault which is still present after the
update to zstd-v1.5.7. I've tested that the merge builds & runs successfully
on x86-64 with gcc-9 and gcc-14. I've left the conflict as-is to avoid back merges.

This pull request has been baking in linux-next since March 18th. This is on the
short side because the commit was only completed on the 13th. If this is acceptable,
I would still like to merge the zstd update, so we don't have to wait for another
cycle. The updated Zstandard has been tested in btrfs and squashfs on x86-64,
and tested in kernel & initramfs decompression on x86-64, i386, and aarch64.

Thanks,
Nick Terrell

Link: https://lore.kernel.org/lkml/SN6PR02MB415723FBCD79365E8D72CA5FD4D82@SN6PR02MB4157.namprd02.prod.outlook.com/
Link: https://lore.kernel.org/lkml/[email protected]/

--
Update zstd to the latest upstream release v1.5.7. Imported cleanly from the
upstream tag v1.5.7-kernel, which is signed by upstream's signing key
EF8FE99528B52FFD.

Link: https://github.com/facebook/zstd/releases/tag/v1.5.7
Link: https://github.com/facebook/zstd/releases/tag/v1.5.7-kernel
Link: https://keyserver.ubuntu.com/pks/lookup?search=EF8FE99528B52FFD&fingerprint=on&op=index

Signed-off-by: Nick Terrell <[email protected]>

 
25 Mar 2025: ftrace: Updates for 6.15 [+ + +]

ftrace changes for v6.15:

- Record function parameters for function and function graph tracers

  An option has been added to function tracer (func-args) and the function
  graph tracer (funcgraph-args) that when set, the tracers will record the
  registers that hold the arguments into each function event. On reading of
  the trace, it will use BTF to print those arguments. Most archs support up
  to 6 arguments (depending on the complexity of the arguments) and those
  are printed. If a function has more arguments then what was recorded, the
  output will end with " ... )".

    Example of function graph tracer:

    6)              | dummy_xmit [dummy](skb = 0x8887c100, dev = 0x872ca000) {
    6)              |   consume_skb(skb = 0x8887c100) {
    6)              |     skb_release_head_state(skb = 0x8887c100) {
    6)  0.178 us    |       sock_wfree(skb = 0x8887c100)
    6)  0.627 us    |     }

- The rest of the changes are minor clean ups and fixes




ftrace-v6.15

25 Mar 2025: tracing: scripts/sorttable: Updates for v6.15 [+ + +]


tracing and sorttable updates for 6.15:

- Implement arm64 build time sorting of the mcount location table

  When gcc is used to build arm64, the mcount_loc section is all zeros in
  the vmlinux elf file. The addresses are stored in the Elf_Rela location.
  To sort at build time, an array is allocated and the addresses are added
  to it via the content of the mcount_loc section as well as he Elf_Rela
  data. After sorting, the information is put back into the Elf_Rela which
  now has the section sorted.

- Make sorting of mcount location table for arm64 work with clang as well

  When clang is used, the mcount_loc section contains the addresses, unlike
  the gcc build. An array is still created and the sorting works for both
  methods.

- Remove weak functions from the mcount_loc section

  Have the sorttable code pass in the data of functions defined via nm -S
  which shows the functions as well as their sizes. Using this information
  the sorttable code can determine if a function in the mcount_loc section
  was weak and overridden. If the function is not found, it is set to be
  zero. On boot, when the mcount_loc section is read and the ftrace table is
  created, if the address in the mcount_loc is not in the kernel core text
  then it is removed and not added to the ftrace_filter_functions (the
  functions that can be attached by ftrace callbacks).

- Update and fix the reporting of how much data is used for ftrace functions

  On boot, a report of how many pages were used by the ftrace table as well
  as how they were grouped (the table holds a list of sections that are
  groups of pages that were able to be allocated). The removing of the weak
  functions required the accounting to be updated.




trace-sorttable-v6.15

25 Mar 2025: sysctl changes for v6.15-rc1 [+ + +]
Summary

* Move vm_table members out of kernel/sysctl.c

  All vm_table array members have moved to their respective subsystems leading
  to the removal of vm_table from kernel/sysctl.c. This increases modularity by
  placing the ctl_tables closer to where they are actually used and at the same
  time reducing the chances of merge conflicts in kernel/sysctl.c.

* ctl_table range fixes

  Replace the proc_handler function that checks variable ranges in
  coredump_sysctls and vdso_table with the one that actually uses the extra{1,2}
  pointers as min/max values. This tightens the range of the values that users
  can pass into the kernel effectively preventing {under,over}flows.

* Misc fixes

  Correct grammar errors and typos in test messages. Update sysctl files in
  MAINTAINERS. Constified and removed array size in declaration for
  alignment_tbl

* Testing

  - These have all been in linux-next for at least 1 month
  - They have gone through 0-day
  - Ran all these through sysctl selftests in x86_64

25 Mar 2025: x86/cache for v6.15 [+ + +]
please pull the x86/cache lineup for v6.15.

Thx.

---

- First part of the MPAM work: split the architectural part of resctrl from the
  filesystem part so that ARM's MPAM varian of resource control can be added
  later while sharing the user interface with x86 (James Morse)

25 Mar 2025: Smack patches for 6.15 [+ + +]
Here is the Smack pull request for v6.15.

This is a larger set of patches than usual. It consists of
a set of build clean-ups, a rework of error handling in setting
up CIPSO label specification and a bug fix in network labeling.
All have been tested and in next for some time.

Smack patches for v6.15

25 Mar 2025: x86/bugs for v6.15 [+ + +]
please pull the x86 spec mitigations updates for v6.15.

Thx.

---

- Some preparatory work to convert the mitigations machinery to mitigating
  attack vectors instead of single vulnerabilities

- Untangle and remove a now unneeded X86_FEATURE_USE_IBPB flag

- Add support for a Zen5-specific SRSO mitigation

- Cleanups and minor improvements

25 Mar 2025: auxdisplay for 6.15-1 [+ + +]
I would say it's an average size PR for this small subsystem. Patches were in
the Linux Next for a while (more than a couple of weeks) without reported issues.
It also includes a merge of an immutable tag from GPIO that is used in one of
the cleanups here. Please, pull for v6.15-rc1.

Thanks,

With Best Regards,
Andy Shevchenko

auxdisplay for v6.15-1

* Refactor a couple of APIs to reduce amount of calls to memory allocator
* Miscellaneous small fixes and improvements

The following is an automated git shortlog grouped by driver:

charlcd:
 -  Partially revert "Move hwidth and bwidth to struct hd44780_common"

gpiolib:
 -  add gpiod_multi_set_value_cansleep()

hd44780:
 -  Rename hd to hdc in hd44780_common_alloc()
 -  Call charlcd_alloc() from hd44780_common_alloc()
 -  Make use of hd44780_common_free()
 -  Introduce hd44780_common_free()
 -  Fix an API misuse in hd44780.c

lcd2s:
 -  Allocate memory for custom data in charlcd_alloc()

MAX6959 should select BITREVERSE:
 - MAX6959 should select BITREVERSE

panel:
 -  Make use of hd44780_common_free()
 -  Fix an API misuse in panel.c

seg-led-gpio:
 -  use gpiod_multi_set_value_cansleep

25 Mar 2025: ras/core for v6.15 [+ + +]
please pull a single RAS cleanup for v6.15.

Thx.

---

- A cleanup to the MCE notification machinery

25 Mar 2025: EDAC updates for v6.15 [+ + +]
please pull the EDAC lineup for v6.15.

Thx.

---

- Add infrastructure support to EDAC in order to be able to register memory
  scrubbing RAS functionality with the kernel and expose sysfs nodes to
  control such scrubbing functionality. The main use case is CXL devices which
  provide different scrubbers for their built-in memories so that tools like
  rasdaemon can configure and control memory scrubbing and other, more
  advanced RAS functionality. (Shiju Jose and Jonathan Cameron)

- Add support to ie31200_edac for client SoCs like Raptor Lake-S which have
  multiple memory controllers and out-of-band ECC capability. (Qiuxu Zhuo)

- The usual round of cleanups, simplifications and fixlets

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

A few additional notes:
*) I have merged an immutable tag/branch from Mark Brown's regulator tree.
*) I made a few typos in some of the merge-commit-headers, sorry!


Kind regards
Ulf Hansson


pmdomain core:
 - Add dev_pm_genpd_rpm_always_on() to support more fine-grained PM

pmdomain providers:
 - arm: Remove redundant state verification for the SCMI PM domain
 - bcm: Add system-wakeup support for bcm2835 via GENPD_FLAG_ACTIVE_WAKEUP
 - rockchip: Add support for regulators
 - rockchip: Use SMC call to properly inform firmware
 - sunxi: Add V853 ppu support
 - thead: Add support for RISC-V TH1520 power-domains

firmware:
 - Add support for the AON firmware protocol for RISC-V THEAD

cpuidle-psci:
 - Update section in MAINTAINERS for cpuidle-psci
 - Add trace support for PSCI domain-idlestates

25 Mar 2025: gpio updates for v6.15-rc1 [+ + +]
From: Bartosz Golaszewski <[email protected]>


Here's the big pull request from the GPIO tree for this merge window.

There are no new drivers this time but several changes to the core GPIO
framework and various driver updates.

This release cycle, we're starting a relatively straightforward but tedious
rework of the GPIO consumer API: for historical reasons, the gpiod_set_value()
variants would return void. Not only that but the GPIO provider interface does
not even allow drivers to return a value to GPIO core. This is because initial
GPIO controllers would be MMIO based and could not fail. We've had I2C, SPI
and USB controllers for years too but no way of indicating failures to callers.

This PR changes the consumer interface, adds new provider callbacks and starts
converting the drivers under drivers/gpio/ to using them. Once this gets
upstream, we'll keep on converting GPIO drivers that live elsewhere and once
there are no more users of the old callbacks, we'll remove them and rename the
new ones to the previous name. I imagine the last step would happen in one
sweeping change like what you did for the remove_new() -> remove() renaming.

We've also addressed an issue where invalid return values from GPIO drivers
would get propagated to user-space by adding some GPIO-core-level sanitization.
Again: not a complex change but way overdue.

Other than that: lots of driver and core refactoring, DT-bindings changes and
some other minor changes like coding style fixes or header reordering.

All changes (except for the TODO updates which I picked up yesterday) have
spent at least a week in linux-next (most way more than that) with regressions
nicely ironed out for most part.

Bartosz

gpio updates for v6.15-rc1

GPIO core:
- add sanitization of return values of GPIO provider callbacks so that invalid
  ones don't get propagated to user-space
- add new variants of the line setter callbacks for GPIO providers that return
  an integer and allow to indicate driver errors to the GPIO core
- change the interface of all gpiod_set_value() variants to return an integer
  thus becoming able to indicate failures in the underlying layer to callers
- drop unneeded ERR_CAST in gpiolib-acpi
- use for_each_if() where applicable
- provide gpiod_multi_set_value_cansleep() as a new, simpler interface to
  gpiod_set_array_value_cansleep() and use it across several drivers treewide
- reduce the number of atomic reads of the descriptor flags in gpiolib debugfs
  code
- simplify for_each_hwgpio_in_range() and for_each_requested_gpio_in_range()
- add support for three-cell GPIO specifiers in GPIO OF code
- don't build HTE (hardware timestamp engine) GPIO code with the HTE subsystem
  disabled in Kconfig
- unduplicate calls to gpiod_direction_input_nonotify()
- rework the handling of the valid_mask property of GPIO chips: don't allow
  drivers to set it as it should only be handled by GPIO core and start
  actually enforcing it in GPIO core for *all* drivers, not only the ones
  implementing a custom request() callback
- get the `ngpios` property from the fwnode of the GPIO chip, not its device in
  order to handle multi-bank GPIO chips

Driver improvements:
- convert a part of the GPIO drivers under drivers/gpio/ to using the new value
  setter callbacks
- convert several drivers to using automatic lock guards from cleanup.h
- allow building gpio-bt8xx with COMPILE_TEST=y
- refactor gpio-74x164 (use devres, cleanup helpers, __counted_by() and bits.h
  macros)
- refactor gpio-latch (use generic device properties, lock guards and some
  local variables for better readability)
- refactor gpio-xilinx (improve the usage of the bitmap API)
- support multiple virtual GPIO controller instances in gpio-virtio
- allow gpio-regmap to use the standard `ngpios` property from GPIOLIB
- factor out the common code for synchronous probing of virtual GPIO devices
  into its own library
- use str_enable_disable(), str_high_low() and other string helpers where
  applicable
- extend the gpio-mmio abstraction layer to allow calling into the pinctrl
  back-end when setting direction
- convert gpio-vf610 to using the gpio-mmio library
- use more devres in gpio-adnp
- add support for reset-gpios in gpio-pcf857x
- add support for more models to gpio-loongson-64bit

DT bindings:
- add new compatibles to gpio-vf610 and gpio-loongson
- add missing gpio-ranges property to gpio-mvebu
- add reset-gpios to nxp,pcf8575
- enable gpio-hog parsing in ast2400-gpio

Misc:
- coding style improvements
- kerneldoc fixes
- includes reordering
- updates to the TODO list

25 Mar 2025: MMC and MEMSTICK updates for v6.15 [+ + +]
Here's the pull-request with updates for MMC and MEMSTICK for v6.15. Details
about the highlights are as usual found in the signed tag.


Kind regards
Ulf Hansson


MMC host:
 - atmel-mci: Convert DT bindings to json schema
 - dw_mmc: Add support for the Exynos7870 variant
 - dw_mmc-rockchip: Add support for the RK3562/3528 variants
 - omap: Fix potential memory leak in the probe error path
 - renesas_sdhi: Add support for RZ/G3E variants
 - sdhci: Disable SD card clock before changing parameters
 - sdhci-esdhc-imx: Add support for the i.MX94 variant
 - sdhci-of-dwcmshc: Add support for the RK3562/RK3528 variants
 - sdhci-omap: Disable aggressive PM for eMMC/SD-cards
 - sdhci-pci-core: Wait for VDD to settle on card power off
 - sdhci-pxav3: Fix busy-signalling by using MMC_CAP_NEED_RSP_BUSY
 - sunxi-mmc: Add support for the A523 variant

MEMSTICK:
 - rtsx_usb_ms: Fix potential use-after-free during remove

25 Mar 2025: chrome-platform updates for v6.15 [+ + +]

Hi Linus,


Thanks,
Tzung-Bi
------

chrome-platform: Updates for v6.15

* New

  - Support ACPI match for Framework systems.
  - Expose new sysfs for:
    - PD mux status for each EC-managed Type-C port.
    - EC feature of AP mode entry.
    - Setting USB mode of EC Type-C.

 
24 Mar 2025: hwmon updates for v6.15 [+ + +]


Thanks,
Guenter
------

hwmon updates for v6.15

- New drivers

  * Driver for HTU31

  * Congatec Board Controller monitoring driver

  * Driver for TI INA233 Current and Power Monitor

- Support for additional chips or boards in existing drivers

  * pmbus/ltc2978: Add support for LT717x and LTM4673

  * asus-ec-sensors: Add PRIME X670E-PRO WIFI

  * k10temp: Add support for cyan skillfish

  * nct6683: Add customer ID for AMD BC-250

  * lm90: Add support for NCT7716, NCT7717 and NCT7718

- Other notable improvements in existing drivers

  * emc2305: Add devicetree support, and use
    devm_thermal_of_cooling_device_register

  * acpi_power_meter: Convert to with_info API

  * dell-smm: Increase the number of fans

  * pmbus/core: Optimize debugfs support and use i2c_client debugfs
    directory

   * hwmon core: Fix the missing of 'average' word in
     hwmon_power_attr_templates

   * Various drivers: Use per-client debugfs entry provided by I2C
     subsystem

24 Mar 2025: IPE update for 6.15 [+ + +]
Please merge this PR for the IPE update for 6.15.

This PR contains only one commit from Randy Dunlap, which fixes
kernel-doc warnings in the IPE subsystem.
This commit has been tested for several weeks in linux-next without any issues.

Thanks,
Fan

--

ipe/stable-6.15 PR 20250324

24 Mar 2025: bcachefs for 6.15, v2... [+ + +]
bcachefs updates for 6.15

On disk format is now soft frozen: no more required/automatic are
anticipated before taking off the experimental label.

Major changes/features since 6.14:

- Scrub

- Blocksize greater than page size support

- A number of "rebalance spinning and doing no work" issues have been
  fixed; we now check if the write allocation will succeed in
  bch2_data_update_init(), before kicking off the read.

  There's still more work to do in this area. Later we may want to add
  another bitset btree, like rebalance_work, to track "extents that
  rebalance was requested to move but couldn't", e.g. due to destination
  target having insufficient online devices.

- We can now support scaling well into the petabyte range: latest
  bcachefs-tools will pick an appropriate bucket size at format time to
  ensure fsck can run in available memory (e.g. a server with 256GB of
  ram and 100PB of storage would want 16MB buckets).

On disk format changes:

- 1.21: cached backpointers (scalability improvement)

  Cached replicas now get backpointers, which means we no longer rely on
  incrementing bucket generation numbers to invalidate cached data: this
  lets us get rid of the bucket generation number garbage collection,
  which had to periodically rescan all extents to recompute bucket
  oldest_gen.

  Bucket generation numbers are now only used as a consistency check,
  but they're quite useful for that.

- 1.22: stripe backpointers

  Stripes now have backpointers: erasure coded stripes have their own
  checksums, separate from the checksums for the extents they contain
  (and stripe checksums also cover the parity blocks). This is required
  for implementing scrub for stripes.

- 1.23: stripe lru (scalability improvement)

  Persistent lru for stripes, ordered by "number of empty blocks". This
  is used by the stripe creation path, which depending on free space
  may create a new stripe out of a partially empty existing stripe
  instead of starting a brand new stripe.

  This replaces an in-memory heap, and means we no longer have to read
  in the stripes btree at startup.

- 1.24: casefolding

  Case insensitive directory support, courtesy of Valve.

  This is an incompatible feature, to enable mount with
    -o version_upgrade=incompatible

- 1.25: extent_flags

  Another incompatible feature requiring explicit opt-in to enable.

  This adds a flags entry to extents, and a flag bit that marks extents
  as poisoned.

  A poisoned extent is an extent that was unreadable due to checksum
  errors. We can't move such extents without giving them a new checksum,
  and we may have to move them (for e.g. copygc or device evacuate).
  We also don't want to delete them: in the future we'll have an API
  that lets userspace ignore checksum errors and attempt to deal with
  simple bitrot itself. Marking them as poisoned lets us continue to
  return the correct error to userspace on normal read calls.

Other changes/features:

- BCH_IOCTL_QUERY_COUNTERS: this is used by the new 'bcachefs fs top'
  command, which shows a live view of all internal filesystem counters.

- Improved journal pipelining: we can now have 16 journal writes in
  flight concurrently, up from 4. We're logging significantly more to
  the journal than we used to with all the recent disk accounting
  changes and additions, so some users should see a performance
  increase on some workloads.

- BCH_MEMBER_STATE_failed: previously, we would do no IO at all to
  devices marked as failed. Now we will attempt to read from them, but
  only if we have no better options.

- New option, write_error_timeout: devices will be kicked out of the
  filesystem if all writes have been failing for x number of seconds.

  We now also kick devices out when notified by blk_holder_ops that
  they've gone offline.

- Device option handling improvements: the discard option should now be
  working as expected (additionally, in -tools, all device options that
  can be set at format time can now be set at device add time, i.e.
  data_allowed, state).

- We now try harder to read data after a checksum error: we'll do
  additional retries if necessary to a device after after it gave us
  data with a checksum error.

- More self healing work: the full inode <-> dirent consistency checks
  that are currently run by fsck are now also run every time we do a
  lookup, meaning we'll be able to correct errors at runtime. Runtime
  self healing will be flipped on after the new changes have seen more
  testing, currently they're just checking for consistency.

- KMSAN fixes: our KMSAN builds should be nearly clean now, which will
  put a massive dent in the syzbot dashboard.

24 Mar 2025: m68k updates for v6.15 [+ + +]
m68k updates for v6.15

  - Miscellaneous fixes and improvements,
  - Defconfig updates.

Thanks for pulling!

24 Mar 2025: Hyper-V patches for 6.15 [+ + +]

hyperv-next for 6.15
 - Add support for running as the root partition in Hyper-V (Microsoft
   Hypervisor) by exposing /dev/mshv (Nuno and various people)
 - Add support for CPU offlining in Hyper-V (Hamza Mahfooz)
 - Misc fixes and cleanups (Roman Kisel, Tianyu Lan, Wei Liu, Michael Kelley,
   Thorsten Blum)
24 Mar 2025: bitmap changes for v6.15-rc1 [+ + +]
in -next with no issues.

Regarding rust bindings, LKP is now running my branch with CONFIG_RUST
and bitmap tests enabled. Thanks to Miguel for that.

Thanks,
Yury

bitmap changes for 6.15

This includes:
 - cpumask_next_wrap() rework from me;
 - GENMASK() simplification from I Hsin;
 - rust bindings for cpumasks from Viresh and me;
 - scattered cleanups from Andy, Tamir, Vincent, Ignacio and Joel.

24 Mar 2025: pwm: Changes for 6.15-rc1 [+ + +]
Subject: [GIT PULL] pwm: Changes for 6.15-rc1
MIME-Version: 1.0

Hello Linus,

warn: No match for commit 6df320abbb40654085d7258de33d78481e93ac8d found at=
 uklko
warn: Are you sure you pushed 'pwm/for-6.15-rc1' there?
pwm: Changes for v6.15-rc1

Here comes the usual mix of cleanups, new dt-bindings for existing
drivers and nexus nodes; and a new driver for the pwm subsystem.

Patches were contributed by Andy Shevchenko, Chen Wang, Chukun Pan,
Frank Li, Herve Codina, Kever Yang, and Nam Cao.
Patch feedback was provided by Andy Shevchenko, Conor Dooley, Daniel
Mack, Duje Mihanovi=C4=87, Heiko Stuebner, Herve Codina, Krzysztof Kozlowsk=
i,
Neil Armstrong, Rob Herring, and Zack Rusin.
Thanks to all of them.

24 Mar 2025: dlm updates for 6.15 [+ + +]


This set includes:
- two fixes to the recent rcu lookup optimizations
- a change allowing TCP to be configured with the first of
  multiple IP address

Thanks,
Dave


24 Mar 2025: f2fs update for 6.15-rc1 [+ + +]
Could you please consider this pull request?

Thanks,

f2fs-for-6.15-rc1

In this round, there are three major updates: 1) folio conversion, 2) refactor
for mount API conversion, 3) some performance improvement such as direct IO,
checkpoint speed, and IO priority hints. For stability, there are patches
which add more sanity checks and fixes some major issues like i_size in
atomic write operations and write pointer recovery in zoned devices.

Enhancement:
 - huge folio converion work by Matthew Wilcox
 - clean up for mount API conversion by Eric Sandeen
 - improve direct IO speed in the overwrite case
 - add some sanity check on node consistency
 - set highest IO priority for checkpoint thread
 - keep POSIX_FADV_NOREUSE ranges and add sysfs entry to reclaim pages
 - add ioctl to get IO priority hint
 - add carve_out sysfs node for fsstat

Bug fix:
 - disable nat_bits during umount to avoid potential nat entry corruption
 - fix missing i_size update on atomic writes
 - fix missing discard for active segments
 - fix running out of free segments
 - fix out-of-bounds access in f2fs_truncate_inode_blocks()
 - call f2fs_recover_quota_end() correctly
 - fix potential deadloop in prepare_compress_overwrite()
 - fix the missing write pointer correction for zoned device
 - fix to avoid panic once fallocation fails for pinfile
 - don't retry IO for corrupted data scenario

There are many other clean up patches and minor bug fixes as usual.

24 Mar 2025: Btrfs updates for 6.15 [+ + +]
Hi,

please pull the following btrfs updates, thanks.

User visible changes:

- fall back to buffered write if direct io is done on a file that requires
  checksums
  - this avoids a problem with checksum mismatch errors, observed e.g. on
    virtual images when writes to pages under writeback cause the checksum
    mismatch reports
  - this may lead to some performance degradation but currently the
    recommended setup for VM images is to use the NOCOW file attribute that
    also disables checksums

- fast/realtime zstd levels -15 to -1
  - supported by mount options (compress=zstd:-5) and defrag ioctl
  - improved speed, reduced compression ratio, check the commit for sample
    measurements

- defrag ioctl extended to accept negative compression levels

- subpage mode
  - remove warning when subpage mode is used, the feature is now reasonably
    complete and tested
  - in debug mode allow to create 2K b-tree nodes to allow testing subpage on
    x86_64 with 4K pages too

Performance improvements:

- in send, better file path caching improves runtime (on sample load by -30%)

- on s390x with hardware zlib support prepare the input buffer in a better way
  to get the best results from the acceleration

- minor speed improvement in encoded read, avoid memory allocation in
  synchronous mode

Core:

- enable stable writes on inodes, replacing manually waiting for writeback
  and allowing to skip that on inodes without checksums

- add last checks and warnings for out-of-band dirty writes to pages,
  requiring a fixup ("fixup worker"), this should not be necessary since 5.8
  where get_user_page() and pin_user_pages*() prevent this
  - long history behind that, we'll be happy to remove the whole infrastructure
    in the near future

- more folio API conversions and preparations for large folio support

- subpage cleanups and refactoring, split handling of data and metadata to
  allow future support for large folios

- readpage works as block-by-block, no change for normal mode, this is
  preparation for future subpage updates

- block group refcount fixes and hardening

- delayed iput fixes

- in zoned mode, fix zone activation on filesystem with missing devices

- cleanups:
  - inode parameter cleanups
  - path auto-freeing updates
  - code flow simplifications in send
  - redundant parameter cleanups

24 Mar 2025: Power management updates for v6.15-rc1 [+ + +]

 pm-6.15-rc1


 Merge branch 'pm-misc'


 Linux 6.14-rc6

to receive power management updates for 6.15-rc1.

These are dominated by cpufreq updates which in turn are dominated by
updates related to boost support in the core and drivers and amd-pstate
driver optimizations.

Apart from the above, there are some cpuidle updates including a rework
of the most recent idle intervals handling in the venerable menu governor
that leads to significant improvements in some performance benchmarks, as
the governor is now more likely to predict a shorter idle duration in
some cases, and there are updates of the core device power management
code, mostly related to system suspend and resume, that should help to
avoid potential issues arising when the drivers of devices depending on
one another want to use different optimizations.

There is also a usual collection of assorted fixes and cleanups,
including removal of some unused code.

Specifics:

 - Manage sysfs attributes and boost frequencies efficiently from
   cpufreq core to reduce boilerplate code in drivers (Viresh Kumar).

 - Minor cleanups to cpufreq drivers (Aaron Kling, Benjamin Schneider,
   Dhananjay Ugwekar, Imran Shaik, zuoqian).

 - Migrate some cpufreq drivers to using for_each_present_cpu() (Jacky
   Bai).

 - cpufreq-qcom-hw DT binding fixes (Krzysztof Kozlowski).

 - Use str_enable_disable() helper in cpufreq_online() (Lifeng Zheng).

 - Optimize the amd-pstate driver to avoid cases where call paths end
   up calling the same writes multiple times and needlessly caching
   variables through code reorganization, locking overhaul and tracing
   adjustments (Mario Limonciello, Dhananjay Ugwekar).

 - Make it possible to avoid enabling capacity-aware scheduling (CAS) in
   the intel_pstate driver and relocate a check for out-of-band (OOB)
   platform handling in it to make it detect OOB before checking HWP
   availability (Rafael Wysocki).

 - Fix dbs_update() to avoid inadvertent conversions of negative integer
   values to unsigned int which causes CPU frequency selection to be
   inaccurate in some cases when the "conservative" cpufreq governor is
   in use (Jie Zhan).

 - Update the handling of the most recent idle intervals in the menu
   cpuidle governor to prevent useful information from being discarded
   by it in some cases and improve the prediction accuracy (Rafael
   Wysocki).

 - Make it possible to tell the intel_idle driver to ignore its built-in
   table of idle states for the given processor, clean up the handling
   of auto-demotion disabling on Baytrail and Cherrytrail chips in it,
   and update its MAINTAINERS entry (David Arcari, Artem Bityutskiy,
   Rafael Wysocki).

 - Make some cpuidle drivers use for_each_present_cpu() instead of
   for_each_possible_cpu() during initialization to avoid issues
   occurring when nosmp or maxcpus=0 are used (Jacky Bai).

 - Clean up the Energy Model handling code somewhat (Rafael Wysocki).

 - Use kfree_rcu() to simplify the handling of runtime Energy Model
   updates (Li RongQing).

 - Add an entry for the Energy Model framework to MAINTAINERS as
   properly maintained (Lukasz Luba).

 - Address RCU-related sparse warnings in the Energy Model code (Rafael
   Wysocki).

 - Remove ENERGY_MODEL dependency on SMP and allow it to be selected
   when DEVFREQ is set without CPUFREQ so it can be used on a wider
   range of systems (Jeson Gao).

 - Unify error handling during runtime suspend and runtime resume in the
   core to help drivers to implement more consistent runtime PM error
   handling (Rafael Wysocki).

 - Drop a redundant check from pm_runtime_force_resume() and rearrange
   documentation related to __pm_runtime_disable() (Rafael Wysocki).

 - Rework the handling of the "smart suspend" driver flag in the PM core
   to avoid issues that may occur when drivers using it depend on some
   other drivers and clean up the related PM core code (Rafael Wysocki,
   Colin Ian King).

 - Fix the handling of devices with the power.direct_complete flag set
   if device_suspend() returns an error for at least one device to avoid
   situations in which some of them may not be resumed (Rafael Wysocki).

 - Use mutex_trylock() in hibernate_compressor_param_set() to avoid a
   possible deadlock that may occur if the "compressor" hibernation
   module parameter is accessed during the registration of a new
   ieee80211 device (Lizhi Xu).

 - Suppress sleeping parent warning in device_pm_add() in the case when
   new children are added under a device with the power.direct_complete
   set after it has been processed by device_resume() (Xu Yang).

 - Remove needless return in three void functions related to system
   wakeup (Zijun Hu).

 - Replace deprecated kmap_atomic() with kmap_local_page() in the
   hibernation core code (David Reaver).

 - Remove unused helper functions related to system sleep (David Alan
   Gilbert).

 - Clean up s2idle_enter() so it does not lock and unlock CPU offline
   in vain and update comments in it (Ulf Hansson).

 - Clean up broken white space in dpm_wait_for_children() (Geert
   Uytterhoeven).

 - Update the cpupower utility to fix lib version-ing in it and memory
   leaks in error legs, remove hard-coded values, and implement CPU
   physical core querying (Thomas Renninger, John B. Wyatt IV, Shuah
   Khan, Yiwei Lin, Zhongqiu Han).

Thanks!



24 Mar 2025: Thermal control updates for v6.15-rc1 [+ + +]

 thermal-6.15-rc1




 Linux 6.14-rc6

to receive thermal control updates for 6.15-rc1.

These include one thermal core fix for an issue leading to a NULL
pointer dereference, a similar fix for the int340x thermal driver (even
though the issue may not actually occur in practice in this particular
case), and a bunch of cleanups, mostly related to replacing kzalloc()
with kcalloc() where applicable:

 - Delay exposing thermal zone sysfs interface to prevent user space
   from accessing thermal zones that have not been completely
   initialized yet (Lucas De Marchi).

 - Check a pointer against NULL early in int3402_thermal_probe() to
   avoid a potential NULL pointer dereference (Chenyuan Yang).

 - Use kcalloc() instead of kzalloc() in some places in the thermal
   control subsystem (Lukasz Luba, Ethan Carter Edwards).

 - Fix a spelling mistake in a comment in the thermal core (Colin Ian
   King).

 - Clean up variable initialization in int340x_thermal_zone_add()
   (Christophe JAILLET).

Thanks!



24 Mar 2025: ACPI updates for v6.15-rc1 [+ + +]

 acpi-6.15-rc1




 Linux 6.14-rc6

to receive ACPI updates for 6.15-rc1.

From the functional perspective, the most significant changes here are
the ACPI fan driver update allowing it to handle fans with fine-grained
state checking supported, but without fine-grained control, and the
ACPI button driver update making it subscribe to system event
notifications (in addition to device notifications) which on some
systems is requisite for waking up the system from sleep.

The rest is fixes and cleanups including removal of some dead code.

Specifics:

 - Use the str_on_off() helper function instead of hard-coded strings in
   the ACPI power resources handling code (Thorsten Blum).

 - Add fan speed reporting for ACPI fans that have _FST, but otherwise
   do not support the entire ACPI 4 fan interface (Joshua Grisham).

 - Fix a stale comment regarding trip points in acpi_thermal_add() that
   diverged from the commented code after removing _CRT evaluation from
   acpi_thermal_get_trip_points() (xueqin Luo).

 - Make ACPI button driver also subscribe to system events (Mario
   Limonciello).

 - Use the str_yes_no() helper function instead of hard-coded strings in
   the ACPI backlight (video) driver (Thorsten Blum).

 - Add a missing header file include to the x86 arch CPPC code (Mario
   Limonciello).

 - Rework the sysfs attributes implementation in the ACPI platform-profile
   driver and improve the unregistration code in it (Nathan Chancellor,
   Kurt Borja).

 - Prevent the ACPI HED driver from being built as a module and change
   its initcall level to subsys_initcall to avoid initialization ordering
   issues related to it (Xiaofei Tan).

 - Update a maintainer email address in the ACPI PMIC entry in
   MAINTAINERS (Mika Westerberg).

 - Address a GCC 15's -Wunterminated-string-initialization warning in
   the core PNP subsystem code and remove some dead code from it (Kees
   Cook, David Alan Gilbert).

Thanks!



24 Mar 2025: SPI updates for v6.15 [+ + +]
spi: Updates for v6.15

The biggest change for SPI this release is the addition of offload
support from David Lechner, allowing the hardware to trigger SPI
transactions autonomously.  The initial use case is for triggering IIO
operations but there are other applications where having the hardware
ready to go at a minimal signal is useful for synchronising with
external inputs (eg, interrupt handling) or reducing latency (eg, CAN
networking).  Otherwise there's the usual fixes, improvements and
cleanups, plus support for a bunch of new devices.

 - Support for offloaing support from David Lechner.
 - Support for GOcontrol1 Moduline modules, Mediatek MT7988, NXP i.MX94,
   Qualcomm SPI NAMD, Rockchip RK3562, Sophogo SG2044 and ST STM32 OSPI.

24 Mar 2025: regulator updates for v6.15 [+ + +]
regulator: Updates for v6.15

This has been a very quiet release, we've got support for one device
added, another removed, and some smaller fixes and API improvements.
The main thing of note is the rework of the PCA9450 LDO5 handling:

 - A rework of the handling of LDO5 on the PCA9450, this was quite wrong
   in how it handled the SD_VSEL conrol and only worked for some system
   designs.  This includes a DTS update since there was a not quite ABI
   compatible change as part of the fix.
 - A devres change introducing devm_kmemdup_array() was pulled in so it
   could be used with some regulator conversions to that function, this
   pulled in some other devres and IIO stuff that was part of the same pull
   request.
 - Removal of the PCF50633 driver, the SoC for the OpenMoko platform
   that used it has been removed.
 - Support for the NXP PF9453.

 
23 Mar 2025: CRC updates for 6.15 [+ + +]
Another set of improvements to the kernel's CRC (cyclic redundancy
check) code:

- Rework the CRC64 library functions to be directly optimized, like what
  I did last cycle for the CRC32 and CRC-T10DIF library functions.

- Rewrite the x86 PCLMULQDQ-optimized CRC code, and add VPCLMULQDQ
  support and acceleration for crc64_be and crc64_nvme.

- Rewrite the riscv Zbc-optimized CRC code, and add acceleration for
  crc_t10dif, crc64_be, and crc64_nvme.

- Remove crc_t10dif and crc64_rocksoft from the crypto API, since they
  are no longer needed there.

- Rename crc64_rocksoft to crc64_nvme, as the old name was incorrect.

- Add kunit test cases for crc64_nvme and crc7.

- Eliminate redundant functions for calculating the Castagnoli CRC32,
  settling on just crc32c().

- Remove unnecessary prompts from some of the CRC kconfig options.

- Further optimize the x86 crc32c code.

23 Mar 2025: fsverity updates for 6.15 [+ + +]
A fix for an issue where CONFIG_FS_VERITY could be enabled without some
of its dependencies, and a small documentation update.

23 Mar 2025: fscrypt updates for 6.15 [+ + +]
A fix for an issue where CONFIG_FS_ENCRYPTION could be enabled without
some of its dependencies, and a small documentation update.

23 Mar 2025: timers/vdso for v6.15-rc1 [+ + +]
please pull the latest timers/vdso branch from:

-03-23

inking

Updates for the VDSO infrastructure:

  - Consolidate the VDSO storage=20
 =20
    The VDSO data storage and data layout has been largely architecture
    specific for historical reasons. That increases the maintenance effort
    and causes inconsistencies over and over.

    There is no real technical reason for architecture specific layouts and
    implementations. The architecture specific details can easily be
    integrated into a generic layout, which also reduces the amount of
    duplicated code for managing the mappings.

    Convert all architectures over to a unified layout and common mapping
    infrastructure. This splits the VDSO data layout into subsystem
    specific blocks, timekeeping, random and architecture parts, which
    provides a better structure and allows to improve and update the
    functionalities without conflict and interaction.

  - Rework the timekeeping data storage

    The current implementation is designed for exposing system timekeeping
    accessors, which was good enough at the time when it was designed.

    PTP and Time Sensitive Networking (TSN) change that as there are
    requirements to expose independent PTP clocks, which are not related to
    system timekeeping.

    Replace the monolithic data storage by a structured layout, which
    allows to add support for independent PTP clocks on top while reusing
    both the data structures and the time accessor implementations.

Note: There is a trivial conflict vs. the x86/core pull request, which
      changes a VDSO random implementation detail.

Thanks,

tglx

23 Mar 2025: irq/drivers for v6.15-rc1 [+ + +]
please pull the latest irq/drivers branch from:

-03-23



Updates for interrupt chip drivers:

  - Support for hard indices on RISC-V. The hart index identifies a hart
    (core) within a specific interrupt domain in RISC-V's Priviledged
    Architecture.

  - Rework of the RISC-V MSI driver.

    This moves the driver over to the generic MSI library and solves the
    affinity problem of unmaskable PCI/MSI controllers. Unmaskable PCI/MSI
    controllers are prone to lose interrupts when the MSI message is
    updated to change the affinity because the message write consists of
    three 32-bit subsequent writes, which update address and data. As these
    writes are non-atomic versus the device raising an interrupt, the
    device can observe a half written update and issue an interrupt on the
    wrong vector. This is mitiated by a carefully orchestrated step by step
    update and the observation of an eventually pending interrupt on the
    CPU which issues the update. The algorithm follows the well established
    method of the X86 MSI driver.

  - A new driver for the RISC-V Sophgo SG2042 MSI controller

  - Overhaul of the Renesas RZQ2L driver.

    Simplification of the probe function by using devm_*() mechanisms,
    which avoid the endless list of error prone gotos in the failure paths.

  - Expand the Renesas RZV2H driver to support RZ/G3E SoCs

  - A workaround for Rockchip 3568002 erratum in the GIC-V3 driver to
    ensure that the addressing is limited to the lower 32-bit of the
    physical address space.

  - Add support for the Allwinner AS23 NMI controller

  - Expand the IMX irqsteer driver to handle up to 960 input interrupts

  - The usual small updates, cleanups and device tree changes.


Thanks,

tglx

23 Mar 2025: timers/core for v6.15-rc1 [+ + +]
please pull the latest timers/core branch from:

-03-23

ith other clockids


Updates for the core time/timer subsystem:

  - Fix a memory ordering issue in posix-timers

    Posix-timer lookup is lockless and reevaluates the timer validity under
    the timer lock, but the update which validates the timer is not
    protected by the timer lock. That allows the store to be reordered
    against the initialization stores, so that the lookup side can observe
    a partially initialized timer. That's mostly a theoretical problem, but
    incorrect nevertheless.

  - Fix a long standing inconsistency of the coarse time getters

    The coarse time getters read the base time of the current update cycle
    without reading the actual hardware clock. NTP frequency adjustment can
    set the base time backwards. The fine grained interfaces compensate
    this by reading the clock and applying the new conversion factor, but
    the coarse grained time getters use the base time directly. That allows
    the user to observe time going backwards.

    Cure it by always forwarding base time, when NTP changes the frequency
    with an immediate step.

  - Rework of posix-timer hashing

    The posix-timer hash is not scalable and due to the CRIU timer restore
    mechanism prone to massive contention on the global hash bucket lock.

    Replace the global hash lock with a fine grained per bucket locking
    scheme to address that.

  - Rework the proc/$PID/timers interface.

    /proc/$PID/timers is provided for CRIU to be able to restore a
    timer. The printout happens with sighand lock held and interrupts
    disabled. That's not required as this can be done with RCU protection
    as well.

  - Provide a sane mechanism for CRIU to restore a timer ID

    CRIU restores timers by creating and deleting them until the kernel
    internal per process ID counter reached the requested ID. That's
    horribly slow for sparse timer IDs.

    Provide a prctl() which allows CRIU to restore a timer with a given
    ID. When enabled the ID pointer is used as input pointer to read the
    requested ID from user space. When disabled, the normal allocation
    scheme (next ID) is active as before. This is backwards compatible for
    both kernel and user space.

  - Make hrtimer_update_function() less expensive.

    The sanity checks are valuable, but expensive for high frequency usage
    in io/uring. Make the debug checks conditional and enable them only
    when lockdep is enabled.

  - Small updates, cleanups and improvements

Thanks,

tglx

23 Mar 2025: irq/msi for v6.15-rc1 [+ + +]
please pull the latest irq/msi branch from:

23



Updates for MSI interrupts

  - Switch the MSI descriptor locking to guards

  - Replace the broken PCI/TPH implementation, which lacks any form of
    serialization against concurrent modifications with a properly
    serialized mechanism in the PCI/MSI core code.

  - Replace the MSI descriptor abuse in the SCSI/UFS Qualcom driver with
    dedicated driver internal storage.

Thanks,

tglx

23 Mar 2025: locking/futex for v6.15-rc1 [+ + +]
please pull the latest locking/futex branch from:

25-03-23



A single update for futexes:

  Use a precomputed mask for the hash computation instead of computing the
  mask from the size on every invocation.


Thanks,

tglx

23 Mar 2025: irq/core for v6.15-rc1 [+ + +]
please pull the latest irq/core branch from:

-23



A small set of core changes for the interrupt subsystem:

  - Expose the MSI message in the existing debug filesystem dump. That's
    useful for validation and debugging.

  - Small cleanups

Thanks,

tglx

 
24 Mar 2025: erofs updates for 6.15-rc1 [+ + +]
Could you consider this pull request for 6.15-rc1?

In this cycle, EROFS 48-bit block addressing is available to support
massive datasets for model training and other large data archive use
cases.

In addition, byte-oriented encoded extents have been supported to
reduce metadata sizes when using large configurations as well as to
improve Zstd compression speed.

There are some bugfixes and cleanups as usual.  All commits have been
in -next for a while and no potential merge conflicts is observed.

Thanks,
Gao Xiang

Changes since last update:

 - Support 48-bit block addressing for large images;

 - Introduce encoded extents to reduce metadata on larger pclusters;

 - Enable unaligned compressed data to improve Zstd compression speed;

 - Allow 16-byte volume names again;

 - Minor cleanups.

 
23 Mar 2025: xen: branch for v6.15-rc1 [+ + +]
Please git pull the following tag:


xen: branch for v6.15-rc1

It contains:

- A cleanup patch removing an used function.

- A patch adding support for a XenServer specific virtual PCI device.

- A patch fixing the handling of a sparse Xen hypervisor symbol table.

- A patch avoiding warnings when building the kernel with gcc 15.

- A series fixing usage of devices behind a VMD bridge when running as
  a Xen PV dom0.


Thanks.

Juergen

23 Mar 2025: timer drivers changes for v6.15-rc1 [+ + +]
Hi Thomas,

please consider the following changes since commit 
7eb172143d5508b4da468ed59ee857c6e5e01da6:

   Linux 6.14-rc5 (2025-03-02 11:48:20 -0800)

are available in the Git repository at:

   git://git.linaro.org/people/daniel.lezcano/linux.git 
tags/timers-v6.15-rc1

for you to fetch changes up to 0f920690a82cc99ae08cab08bee2e5685b62fd04:

   dt-bindings: timer: Add SiFive CLINT2 (2025-03-23 10:55:43 +0100)

- Fixed indentation and style in DTS example in the DT bindings
   (Krzysztof Kozlowski)

- Added the samsung,exynos990-mct compatible binding (Igor Belwon)

- Added the samsung,exynos2200-mct-peris compatible binding (Ivaylo
   Ivanov)

- Fixed a comment spelling error in the exynos-mct driver (Anindya
   Sundar Gayen)

- Added the support for suspend / resume in the stm32-lptimer driver
   (Fabrice Gasnier)

- Fixed use of wakeup capable instead of init wakeup in the
   stm32-lptimer driver (Alexandre Torgue)

- Add SiFive CLINT2 DT bindings (Nick Hu)

 
22 Mar 2025: sched_ext: Changes for v6.15 [+ + +]
sched_ext: Changes for v6.15

- Add mechanism to count and report internal events. This significantly
  improves visibility on subtle corner conditions.

- The default idle CPU selection logic is revamped and improved in multiple
  ways including being made topology aware.

- sched_ext was disabling ttwu_queue for simplicity, which can be costly
  when hardware topology is more complex. Implement
  SCX_OPS_ALLOWED_QUEUED_WAKEUP so that BPF schedulers can selectively
  enable ttwu_queue.

- tools/sched_ext updates to improve compatibility among others.

- Other misc updates and fixes.

- sched_ext/for-6.14-fixes were pulled a few times to receive prerequisite
  fixes and resolve conflicts.

22 Mar 2025: RCU changes for v6.15 [+ + +]
When the merge window opens, please pull the RCU update:

RCU pull request for v6.15

This pull request contains the following branches:

docs.2025.02.04a:
 - Add broken-timing possibility to stallwarn.rst.
 - Improve discussion of this_cpu_ptr(), add raw_cpu_ptr().
 - Document self-propagating callbacks.
 - Point call_srcu() to call_rcu() for detailed memory ordering.
 - Add CONFIG_RCU_LAZY delays to call_rcu() kernel-doc header.
 - Clarify RCU_LAZY and RCU_LAZY_DEFAULT_OFF help text.
 - Remove references to old grace-period-wait primitives.

srcu.2025.02.05a:
 - Introduce srcu_read_{un,}lock_fast(), which is similar to
   srcu_read_{un,}lock_lite(): avoid smp_mb()s in lock and unlock at the
   cost of calling synchronize_rcu() in synchronize_srcu(). Moreover, by
   returning the percpu offset of the counter at srcu_read_lock_fast()
   time, srcu_read_unlock_fast() can save extra pointer dereferencing,
   which makes it faster than srcu_read_{un,}lock_lite().
   srcu_read_{un,}lock_fast() are intended to replace
   rcu_read_{un,}lock_trace() if possible.

torture.2025.02.05a:
 - Add get_torture_init_jiffies() to return the start time of the test.
 - Add a test_boost_holdoff module parameter to allow delaying boosting
   tests when building rcutorture as built-in.
 - Add grace period sequence number logging at the beginning and end of
   failure/close-call results.
 - Switch to hexadecimal for the expedited grace period sequence number
   in the rcu_exp_grace_period trace point.
 - Make cur_ops->format_gp_seqs take buffer length.
 - Move RCU_TORTURE_TEST_{CHK_RDR_STATE,LOG_CPU} to bool.
 - Complain when invalid SRCU reader_flavor is specified.
 - Add FORCE_NEED_SRCU_NMI_SAFE Kconfig for testing, which forces SRCU
   uses atomics even when percpu ops are NMI safe, and use the Kconfig
   for SRCU lockdep testing.

misc.2025.03.04a:
 - Split rcu_report_exp_cpu_mult() mask parameter and use for tracing.
 - Remove READ_ONCE() for rdp->gpwrap access in __note_gp_changes().
 - Fix get_state_synchronize_rcu_full() GP-start detection.
 - Move RCU Tasks self-tests to core_initcall().
 - Print segment lengths in show_rcu_nocb_gp_state().
 - Make RCU watch ct_kernel_exit_state() warning.
 - Flush console log from kernel_power_off().
 - rcutorture: Allow a negative value for nfakewriters.
 - rcu: Update TREE05.boot to test normal synchronize_rcu().
 - rcu: Use _full() API to debug synchronize_rcu().

lazypreempt.2025.03.04a: Make RCU handle PREEMPT_LAZY better:
 - Fix header guard for rcu_all_qs().
 - rcu: Rename PREEMPT_AUTO to PREEMPT_LAZY.
 - Update __cond_resched comment about RCU quiescent states.
 - Handle unstable rdp in rcu_read_unlock_strict().
 - Handle quiescent states for PREEMPT_RCU=n, PREEMPT_COUNT=y.
 - osnoise: Provide quiescent states.
 - Adjust rcutorture with possible PREEMPT_RCU=n && PREEMPT_COUNT=y
   combination.
 - Limit PREEMPT_RCU configurations.
 - Make rcutorture senario TREE07 and senario TREE10 use PREEMPT_LAZY=y.

22 Mar 2025: i2c-host for v6.15 [+ + +]
Hi Wolfram,

Here we go with the pull request for the merge window.

It's not a huge batch in terms of patch count, but a few pieces
of long standing work finally reached the finish line.

Some patches are refreshed from the past, something I plan to do
more often going forward.

One new driver was added: Spacemit K1.

Andy has also been very active, contributing the new
i2c_10bit_addr_*_from_msg() helper, which is now being adopted
across several drivers.

I don't think I've missed anything from the recent submissions,
and I'm happy to have caught up with the pending work. So I
don't expect the need for a part 2 pull request next week.

Thanks, and I wish you a great weekend!
Andi

i2c-host updates for v6.15

Refactoring and cleanups
 - octeon, cadence, i801, pasemi, mlxbf, bcm-iproc: general
   refactorings
 - octeon: remove 10-bit address support

Improvements
 - amd-asf: improved error handling
 - designware: use guard(mutex)
 - amd-asf, designware: update naming to follow latest specs
 - cadence: fix cleanup path in probe
 - i801: use MMIO and I/O mapping helpers to access registers
 - pxa: handle error after clk_prepare_enable

New features
 - added i2c_10bit_addr_*_from_msg() and updated multiple drivers
 - omap: added multiplexer state handling
 - qcom-geni: update frequency configuration
 - qup: introduce DMA usage policy

New hardware support
 - exynos: add support for Samsung exynos7870
 - k1: add support for spacemit k1 (new driver)
 - imx: add support for i.mx94 lpi2c
 - rk3x: add support for rk3562

Multiplexers
 - ltc4306, reg: fix assignment in platform_driver structure

22 Mar 2025: x86/sev updates for v6.15 [+ + +]



x86/sev updates for v6.15:

 - Improve sme_enable() PIC build robustness (Kevin Loughlin)
 - Simplify vc_handle_msr() a bit (Peng Hao)

 Thanks,

Ingo

22 Mar 2025: x86/platform updates for v6.15 [+ + +]



Two small cleanups in the x86 platform support code.

 Thanks,

Ingo

22 Mar 2025: x86/fpu updates for v6.15 [+ + +]




x86/fpu updates for v6.15:

 - Improve crypto performance by making kernel-mode FPU reliably usable
   in softirqs ((Eric Biggers)

 - Fully optimize out WARN_ON_FPU() (Eric Biggers)

 - Initial steps to support Support Intel APX (Advanced Performance Extensions)
   (Chang S. Bae)

 - Fix KASAN for arch_dup_task_struct() (Benjamin Berg)

 - Refine and simplify the FPU magic number check during signal return
   (Chang S. Bae)

 - Fix inconsistencies in guest FPU xfeatures (Chao Gao, Stanislav Spassov)

 - selftests/x86/xstate: Introduce common code for testing extended states
   (Chang S. Bae)

 - Misc fixes and cleanups (Borislav Petkov, Colin Ian King, Uros Bizjak)

 Thanks,

Ingo

22 Mar 2025: x86/build updates for v6.15 [+ + +]



x86/build updates for v6.15:

 - Drop CRC-32 checksum and the build tool that generates it
   (Ard Biesheuvel)

 - Fix broken copy command in genimage.sh when making isoimage
   (Nir Lichtman)

 Thanks,

Ingo

22 Mar 2025: x86/boot updates for v6.15 [+ + +]



Updates to the x86 boot code for the v6.15 cycle:

  - Memblock setup and other early boot code cleanups (Mike Rapoport)
  - Export e820_table_kexec[] to sysfs (Dave Young)
  - Baby steps of adding relocate_kernel() debugging support (David Woodhouse)
  - Replace open-coded parity calculation with parity8() (Kuan-Wei Chiu)
  - Move the LA57 trampoline to separate source file (Ard Biesheuvel)
  - Misc micro-optimizations (Uros Bizjak)
  - Drop obsolete E820_TYPE_RESERVED_KERN and related code (Mike Rapoport)

 Thanks,

Ingo

22 Mar 2025: x86 core updates for v6.15 [+ + +]



[ Merge note: this pull request depends on you having merged
              two locking commits in the locking tree,
      part of the locking-core-2025-03-22 pull request. ]

x86 CPU features support:
  - Generate the <asm/cpufeaturemasks.h> header based on build config
    (H. Peter Anvin, Xin Li)
  - x86 CPUID parsing updates and fixes (Ahmed S. Darwish)
  - Introduce the 'setcpuid=' boot parameter (Brendan Jackman)
  - Enable modifying CPU bug flags with '{clear,set}puid='
    (Brendan Jackman)
  - Utilize CPU-type for CPU matching (Pawan Gupta)
  - Warn about unmet CPU feature dependencies (Sohil Mehta)
  - Prepare for new Intel Family numbers (Sohil Mehta)

Percpu code:
  - Standardize & reorganize the x86 percpu layout and
    related cleanups (Brian Gerst)
  - Convert the stackprotector canary to a regular percpu
    variable (Brian Gerst)
  - Add a percpu subsection for cache hot data (Brian Gerst)
  - Unify __pcpu_op{1,2}_N() macros to __pcpu_op_N() (Uros Bizjak)
  - Construct __percpu_seg_override from __percpu_seg (Uros Bizjak)

MM:
  - Add support for broadcast TLB invalidation using AMD's INVLPGB instruction
    (Rik van Riel)
  - Rework ROX cache to avoid writable copy (Mike Rapoport)
  - PAT: restore large ROX pages after fragmentation
    (Kirill A. Shutemov, Mike Rapoport)
  - Make memremap(MEMREMAP_WB) map memory as encrypted by default
    (Kirill A. Shutemov)
  - Robustify page table initialization (Kirill A. Shutemov)
  - Fix flush_tlb_range() when used for zapping normal PMDs (Jann Horn)
  - Clear _PAGE_DIRTY for kernel mappings when we clear _PAGE_RW
    (Matthew Wilcox)

KASLR:
  - x86/kaslr: Reduce KASLR entropy on most x86 systems,
    to support PCI BAR space beyond the 10TiB region
    (CONFIG_PCI_P2PDMA=y) (Balbir Singh)

CPU bugs:
  - Implement FineIBT-BHI mitigation (Peter Zijlstra)
  - speculation: Simplify and make CALL_NOSPEC consistent (Pawan Gupta)
  - speculation: Add a conditional CS prefix to CALL_NOSPEC (Pawan Gupta)
  - RFDS: Exclude P-only parts from the RFDS affected list (Pawan Gupta)

System calls:
  - Break up entry/common.c (Brian Gerst)
  - Move sysctls into arch/x86 (Joel Granados)

Intel LAM support updates: (Maciej Wieczor-Retman)
  - selftests/lam: Move cpu_has_la57() to use cpuinfo flag
  - selftests/lam: Skip test if LAM is disabled
  - selftests/lam: Test get_user() LAM pointer handling

AMD SMN access updates:
  - Add SMN offsets to exclusive region access (Mario Limonciello)
  - Add support for debugfs access to SMN registers (Mario Limonciello)
  - Have HSMP use SMN through AMD_NODE (Yazen Ghannam)

Power management updates: (Patryk Wlazlyn)
  - Allow calling mwait_play_dead with an arbitrary hint
  - ACPI/processor_idle: Add FFH state handling
  - intel_idle: Provide the default enter_dead() handler
  - Eliminate mwait_play_dead_cpuid_hint()

Bootup:

Build system:
  - Raise the minimum GCC version to 8.1 (Brian Gerst)
  - Raise the minimum LLVM version to 15.0.0
    (Nathan Chancellor)

Kconfig: (Arnd Bergmann)
  - Add cmpxchg8b support back to Geode CPUs
  - Drop 32-bit "bigsmp" machine support
  - Rework CONFIG_GENERIC_CPU compiler flags
  - Drop configuration options for early 64-bit CPUs
  - Remove CONFIG_HIGHMEM64G support
  - Drop CONFIG_SWIOTLB for PAE
  - Drop support for CONFIG_HIGHPTE
  - Document CONFIG_X86_INTEL_MID as 64-bit-only
  - Remove old STA2x11 support
  - Only allow CONFIG_EISA for 32-bit

Headers:
  - Replace __ASSEMBLY__ with __ASSEMBLER__ in UAPI and non-UAPI headers
    (Thomas Huth)

Assembly code & machine code patching:
  - x86/alternatives: Simplify alternative_call() interface (Josh Poimboeuf)
  - x86/alternatives: Simplify callthunk patching (Peter Zijlstra)
  - KVM: VMX: Use named operands in inline asm (Josh Poimboeuf)
  - x86/hyperv: Use named operands in inline asm (Josh Poimboeuf)
  - x86/traps: Cleanup and robustify decode_bug() (Peter Zijlstra)
  - x86/kexec: Merge x86_32 and x86_64 code using macros from <asm/asm.h>
    (Uros Bizjak)
  - Use named operands in inline asm (Uros Bizjak)
  - Improve performance by using asm_inline() for atomic locking instructions
    (Uros Bizjak)

Earlyprintk:
  - Harden early_serial (Peter Zijlstra)

NMI handler:
  - Add an emergency handler in nmi_desc & use it in nmi_shootdown_cpus()
    (Waiman Long)

Miscellaneous fixes and cleanups:

  - by Ahmed S. Darwish, Andy Shevchenko, Ard Biesheuvel,
    Artem Bityutskiy, Borislav Petkov, Brendan Jackman, Brian Gerst,
    Dan Carpenter, Dr. David Alan Gilbert, H. Peter Anvin,
    Ingo Molnar, Josh Poimboeuf, Kevin Brodsky, Mike Rapoport,
    Lukas Bulwahn, Maciej Wieczor-Retman, Max Grobecker,
    Patryk Wlazlyn, Pawan Gupta, Peter Zijlstra,
    Philip Redkin, Qasim Ijaz, Rik van Riel, Thomas Gleixner,
    Thorsten Blum, Tom Lendacky, Tony Luck, Uros Bizjak,
    Vitaly Kuznetsov, Xin Li, liuye.

 Thanks,

Ingo

22 Mar 2025: Scheduler updates for v6.15 [+ + +]



Scheduler updates for v6.15:

[ Merge note, these two commits are identical:

   - f3fa0e40df17 ("sched/clock: Don't define sched_clock_irqtime as static key")
   - b9f2b29b9494 ("sched: Don't define sched_clock_irqtime as static key")

  The first one is a cherry-picked version of the second, and the first one
  is already upstream. ]

Core & fair scheduler changes:

  - Cancel the slice protection of the idle entity (Zihan Zhou)
  - Reduce the default slice to avoid tasks getting an extra tick
    (Zihan Zhou)
  - Force propagating min_slice of cfs_rq when {en,de}queue tasks
    (Tianchen Ding)
  - Refactor can_migrate_task() to elimate looping (I Hsin Cheng)
  - Add unlikey branch hints to several system calls (Colin Ian King)
  - Optimize current_clr_polling() on certain architectures (Yujun Dong)

Deadline scheduler: (Juri Lelli)

  - Remove redundant dl_clear_root_domain call
  - Move dl_rebuild_rd_accounting to cpuset.h

Uclamp:

  - Use the uclamp_is_used() helper instead of open-coding it (Xuewen Yan)
  - Optimize sched_uclamp_used static key enabling (Xuewen Yan)

Scheduler topology support: (Juri Lelli)

  - Ignore special tasks when rebuilding domains
  - Add wrappers for sched_domains_mutex
  - Generalize unique visiting of root domains
  - Rebuild root domain accounting after every update
  - Remove partition_and_rebuild_sched_domains
  - Stop exposing partition_sched_domains_locked

RSEQ: (Michael Jeanson)

  - Update kernel fields in lockstep with CONFIG_DEBUG_RSEQ=y
  - Fix segfault on registration when rseq_cs is non-zero
  - selftests: Add rseq syscall errors test
  - selftests: Ensure the rseq ABI TLS is actually 1024 bytes

Membarriers:

  - Fix redundant load of membarrier_state (Nysal Jan K.A.)

Scheduler debugging:

  - Introduce and use preempt_model_str() (Sebastian Andrzej Siewior)
  - Make CONFIG_SCHED_DEBUG unconditional (Ingo Molnar)

Fixes and cleanups:

  - Always save/restore x86 TSC sched_clock() on suspend/resume
   (Guilherme G. Piccoli)

  - Misc fixes and cleanups (Thorsten Blum, Juri Lelli,
    Sebastian Andrzej Siewior)

 Thanks,

Ingo

22 Mar 2025: Performance events updates for v6.15 [+ + +]



Performance events updates for v6.15:

Core:

  - Move perf_event sysctls into kernel/events/ (Joel Granados)
  - Use POLLHUP for pinned events in error (Namhyung Kim)
  - Avoid the read if the count is already updated (Peter Zijlstra)
  - Allow the EPOLLRDNORM flag for poll (Tao Chen)

  - locking/percpu-rwsem: Add guard support (Peter Zijlstra)
    [ NOTE: this got (mis-)merged into the perf tree due to related work. ]

perf_pmu_unregister() related improvements: (Peter Zijlstra)

  - Simplify the perf_event_alloc() error path
  - Simplify the perf_pmu_register() error path
  - Simplify perf_pmu_register()
  - Simplify perf_init_event()
  - Simplify perf_event_alloc()
  - Merge struct pmu::pmu_disable_count into struct perf_cpu_pmu_context::pmu_disable_count
  - Add this_cpc() helper
  - Introduce perf_free_addr_filters()
  - Robustify perf_event_free_bpf_prog()
  - Simplify the perf_mmap() control flow
  - Further simplify perf_mmap()
  - Remove retry loop from perf_mmap()
  - Lift event->mmap_mutex in perf_mmap()
  - Detach 'struct perf_cpu_pmu_context' and 'struct pmu' lifetimes
  - Fix perf_mmap() failure path

Uprobes:

  - Harden x86 uretprobe syscall trampoline check (Jiri Olsa)
  - Remove redundant spinlock in uprobe_deny_signal() (Liao Chang)
  - Remove the spinlock within handle_singlestep() (Liao Chang)

x86 Intel PMU enhancements:

  - Support PEBS counters snapshotting (Kan Liang)
  - Fix intel_pmu_read_event() (Kan Liang)
  - Extend per event callchain limit to branch stack (Kan Liang)
  - Fix system-wide LBR profiling (Kan Liang)
  - Allocate bts_ctx only if necessary (Li RongQing)
  - Apply static call for drain_pebs (Peter Zijlstra)

x86 AMD PMU enhancements: (Ravi Bangoria)

  - Remove pointless sample period check
  - Fix ->config to sample period calculation for OP PMU
  - Fix perf_ibs_op.cnt_mask for CurCnt
  - Don't allow freq mode event creation through ->config interface
  - Add PMU specific minimum period
  - Add ->check_period() callback
  - Ceil sample_period to min_period
  - Add support for OP Load Latency Filtering
  - Update DTLB/PageSize decode logic

Hardware breakpoints:

  - Return EOPNOTSUPP for unsupported breakpoint type (Saket Kumar Bhaskar)

Hardlockup detector improvements: (Li Huafei)

  - perf_event memory leak
  - Warn if watchdog_ev is leaked

Fixes and cleanups:

  - Misc fixes and cleanups (Andy Shevchenko, Kan Liang, Peter Zijlstra,
    Ravi Bangoria, Thorsten Blum, XieLudan)

 Thanks,

Ingo

22 Mar 2025: objtool changes for v6.15 [+ + +]



Objtool changes for v6.15:

 - The biggest change is the new option to automatically fail
   the build on objtool warnings: CONFIG_OBJTOOL_WERROR.

   While there are no currently known unfixed false positives
   left, such an expansion in the severity of objtool warnings
   inevitably creates a risk of build failures, so it's disabled by
   default and depends on !COMPILE_TEST, so it shouldn't be enabled
   on allyesconfig/allmodconfig builds and won't be forced on people
   who just accept build-time defaults in 'make oldconfig'.

   While the option is strongly recommended, only people who enable
   it explicitly should see it.

   (Josh Poimboeuf)

 - Disable branch profiling in noinstr code with a broad
   brush that includes all of arch/x86/ and kernel/sched/. (Josh Poimboeuf)

 - Create backup object files on objtool errors and print exact
   objtool arguments to make failure analysis easier (Josh Poimboeuf)

 - Improve noreturn handling (Josh Poimboeuf)

 - Improve rodata handling (Tiezhu Yang)

 - Support jump tables, switch tables and goto tables on LoongArch (Tiezhu Yang)

 - Misc cleanups and fixes (Josh Poimboeuf, David Engraf, Ingo Molnar)

 Thanks,

Ingo

22 Mar 2025: locking changes for v6.15 [+ + +]



Locking changes for v6.15:

  Locking primitives:

    - Micro-optimize percpu_{,try_}cmpxchg{64,128}_op() and {,try_}cmpxchg{64,128}
      on x86 (Uros Bizjak)

    - mutexes: extend debug checks in mutex_lock() (Yunhui Cui)

    - Misc cleanups (Uros Bizjak)

  Lockdep:

    - Fix might_fault() lockdep check of current->mm->mmap_lock (Peter Zijlstra)

    - Don't disable interrupts on RT in disable_irq_nosync_lockdep.*()
      (Sebastian Andrzej Siewior)

    - Disable KASAN instrumentation of lockdep.c (Waiman Long)

    - Add kasan_check_byte() check in lock_acquire() (Waiman Long)

    - Misc cleanups (Sebastian Andrzej Siewior)

  Rust runtime integration:

    - Use Pin for all LockClassKey usages (Mitchell Levy)
    - sync: Add accessor for the lock behind a given guard (Alice Ryhl)
    - sync: condvar: Add wait_interruptible_freezable() (Alice Ryhl)
    - sync: lock: Add an example for Guard:: Lock_ref() (Boqun Feng)

  Split-lock detection feature (x86):

    - Fix warning mode with disabled mitigation mode (Maksim Davydov)

  Locking events:

    - Add locking events for rtmutex slow paths (Waiman Long)
    - Add locking events for lockdep (Waiman Long)

 Thanks,

Ingo

 
21 Mar 2025: Stop-machine change for v6.15 [+ + +]
Once the v6.15 merge window opens, please pull this stop-machine update
from:


stop-machine: Add a comment for rcu_momentary_eqs()

Changes
-------

* Add a comment for the call to rcu_momentary_eqs() from multi_cpu_stop()
  explaining that its purpose is to suppress false-positive RCU CPU
  stall warnings.

21 Mar 2025: nolibc changes for v6.15 [+ + +]
Once the v6.15 merge window opens, please pull the latest nolibc
changes from:


nolibc changes for 6.15

Changes
-------

* 32bit s390 support
* opendir() and friends
* openat() support
* sscanf() support
* various cleanups

21 Mar 2025: LKMM changes for v6.15 [+ + +]
When the v6.15 merge window opens, please pull this LKMM update from:


lkmm: Add more atomic operations, rework tags, and update documentation

Changes
-------

* Adds additional atomic operations (Puranjay Mohan)
* Makes better use of herd7 tags (Jonas Oberhauser)
* Updates documentation (Akira Yokosawa)

These changes require v7.58 of the herd7 and klitmus tools, up from v7.52.

21 Mar 2025: Documentation for 6.15 [+ + +]
It has been a reasonably busy cycle for docs...

- Significant changes throughout the tree to bring Python code up to
  current standards and raise the minimum Python required to 3.9.  Much of
  this is preparatory to replacing the ancient Perl scripts/kernel-doc
  horror with a slightly less horrifying Python implementation, expected
  for 6.16.

- Update the minimum Sphinx required to 3.4.3, allowing us to remove a
  bunch of older compatibility code.

- Rework and improve the generation of the ABI documentation.

  (All of the above done by Mauro)

- Lots of translation updates.  Alex Shi and Yanteng Si are taking on
  responsibility for the Chinese translations going forward; that work will
  still get to you via docs-next

- Try to standardize the format for indicating a developer's affiliation in
  commit tags.

- Clarify the TAB's role in CoC enforcement actions.

- Try to spell out the rules for when a commit tag can name another
  developer without their explicit permission.

Plus lots of other typo fixes and updates.

21 Mar 2025: First batch of KVM changes for Linux 6.15 [+ + +]
ARM:

* Nested virtualization support for VGICv3, giving the nested
hypervisor control of the VGIC hardware when running an L2 VM

* Removal of 'late' nested virtualization feature register masking,
  making the supported feature set directly visible to userspace

* Support for emulating FEAT_PMUv3 on Apple silicon, taking advantage
  of an IMPLEMENTATION DEFINED trap that covers all PMUv3 registers

* Paravirtual interface for discovering the set of CPU implementations
  where a VM may run, addressing a longstanding issue of guest CPU
  errata awareness in big-little systems and cross-implementation VM
  migration

* Userspace control of the registers responsible for identifying a
  particular CPU implementation (MIDR_EL1, REVIDR_EL1, AIDR_EL1),
  allowing VMs to be migrated cross-implementation

* pKVM updates, including support for tracking stage-2 page table
  allocations in the protected hypervisor in the 'SecPageTable' stat

* Fixes to vPMU, ensuring that userspace updates to the vPMU after
  KVM_RUN are reflected into the backing perf events

LoongArch:

* Remove unnecessary header include path

* Assume constant PGD during VM context switch

* Add perf events support for guest VM

RISC-V:

* Disable the kernel perf counter during configure

* KVM selftests improvements for PMU

* Fix warning at the time of KVM module removal

x86:

* Add support for aging of SPTEs without holding mmu_lock.  Not taking mmu_lock
  allows multiple aging actions to run in parallel, and more importantly avoids
  stalling vCPUs.  This includes an implementation of per-rmap-entry locking;
  aging the gfn is done with only a per-rmap single-bin spinlock taken, whereas
  locking an rmap for write requires taking both the per-rmap spinlock and
  the mmu_lock.

  Note that this decreases slightly the accuracy of accessed-page information,
  because changes to the SPTE outside aging might not use atomic operations
  even if they could race against a clear of the Accessed bit.  This is
  deliberate because KVM and mm/ tolerate false positives/negatives for
  accessed information, and testing has shown that reducing the latency of
  aging is far more beneficial to overall system performance than providing
  "perfect" young/old information.

* Defer runtime CPUID updates until KVM emulates a CPUID instruction, to
  coalesce updates when multiple pieces of vCPU state are changing, e.g. as
  part of a nested transition.

* Fix a variety of nested emulation bugs, and add VMX support for synthesizing
  nested VM-Exit on interception (instead of injecting #UD into L2).

* Drop "support" for async page faults for protected guests that do not set
  SEND_ALWAYS (i.e. that only want async page faults at CPL3)

* Bring a bit of sanity to x86's VM teardown code, which has accumulated
  a lot of cruft over the years.  Particularly, destroy vCPUs before
  the MMU, despite the latter being a VM-wide operation.

* Add common secure TSC infrastructure for use within SNP and in the
  future TDX

* Block KVM_CAP_SYNC_REGS if guest state is protected.  It does not make
  sense to use the capability if the relevant registers are not
  available for reading or writing.

* Don't take kvm->lock when iterating over vCPUs in the suspend notifier to
  fix a largely theoretical deadlock.

* Use the vCPU's actual Xen PV clock information when starting the Xen timer,
  as the cached state in arch.hv_clock can be stale/bogus.

* Fix a bug where KVM could bleed PVCLOCK_GUEST_STOPPED across different
  PV clocks; restrict PVCLOCK_GUEST_STOPPED to kvmclock, as KVM's suspend
  notifier only accounts for kvmclock, and there's no evidence that the
  flag is actually supported by Xen guests.

* Clean up the per-vCPU "cache" of its reference pvclock, and instead only
  track the vCPU's TSC scaling (multipler+shift) metadata (which is moderately
  expensive to compute, and rarely changes for modern setups).

* Don't write to the Xen hypercall page on MSR writes that are initiated by
  the host (userspace or KVM) to fix a class of bugs where KVM can write to
  guest memory at unexpected times, e.g. during vCPU creation if userspace has
  set the Xen hypercall MSR index to collide with an MSR that KVM emulates.

* Restrict the Xen hypercall MSR index to the unofficial synthetic range to
  reduce the set of possible collisions with MSRs that are emulated by KVM
  (collisions can still happen as KVM emulates Hyper-V MSRs, which also reside
  in the synthetic range).

* Clean up and optimize KVM's handling of Xen MSR writes and xen_hvm_config.

* Update Xen TSC leaves during CPUID emulation instead of modifying the CPUID
  entries when updating PV clocks; there is no guarantee PV clocks will be
  updated between TSC frequency changes and CPUID emulation, and guest reads
  of the TSC leaves should be rare, i.e. are not a hot path.

x86 (Intel):

* Fix a bug where KVM unnecessarily reads XFD_ERR from hardware and thus
  modifies the vCPU's XFD_ERR on a #NM due to CR0.TS=1.

* Pass XFD_ERR as the payload when injecting #NM, as a preparatory step
  for upcoming FRED virtualization support.

* Decouple the EPT entry RWX protection bit macros from the EPT Violation
  bits, both as a general cleanup and in anticipation of adding support for
  emulating Mode-Based Execution Control (MBEC).

* Reject KVM_RUN if userspace manages to gain control and stuff invalid guest
  state while KVM is in the middle of emulating nested VM-Enter.

* Add a macro to handle KVM's sanity checks on entry/exit VMCS control pairs
  in anticipation of adding sanity checks for secondary exit controls (the
  primary field is out of bits).

x86 (AMD):

* Ensure the PSP driver is initialized when both the PSP and KVM modules are
  built-in (the initcall framework doesn't handle dependencies).

* Use long-term pins when registering encrypted memory regions, so that the
  pages are migrated out of MIGRATE_CMA/ZONE_MOVABLE and don't lead to
  excessive fragmentation.

* Add macros and helpers for setting GHCB return/error codes.

* Add support for Idle HLT interception, which elides interception if the vCPU
  has a pending, unmasked virtual IRQ when HLT is executed.

* Fix a bug in INVPCID emulation where KVM fails to check for a non-canonical
  address.

* Don't attempt VMRUN for SEV-ES+ guests if the vCPU's VMSA is invalid, e.g.
  because the vCPU was "destroyed" via SNP's AP Creation hypercall.

* Reject SNP AP Creation if the requested SEV features for the vCPU don't
  match the VM's configured set of features.

Selftests:

* Fix again the Intel PMU counters test; add a data load and do CLFLUSH{OPT} on the data
  instead of executing code.  The theory is that modern Intel CPUs have
  learned new code prefetching tricks that bypass the PMU counters.

* Fix a flaw in the Intel PMU counters test where it asserts that an event is
  counting correctly without actually knowing what the event counts on the
  underlying hardware.

* Fix a variety of flaws, bugs, and false failures/passes dirty_log_test, and
  improve its coverage by collecting all dirty entries on each iteration.

* Fix a few minor bugs related to handling of stats FDs.

* Add infrastructure to make vCPU and VM stats FDs available to tests by
  default (open the FDs during VM/vCPU creation).

* Relax an assertion on the number of HLT exits in the xAPIC IPI test when
  running on a CPU that supports AMD's Idle HLT (which elides interception of
  HLT if a virtual IRQ is pending and unmasked).

21 Mar 2025: USB-serial update for 6.15-rc1 [+ + +]
USB-serial update for 6.15-rc1

Here's a single USB-serial cleanup for 6.15-rc1 that's been sitting in
linux-next for a few weeks without any reported issues.

21 Mar 2025: SOC FSL for 6.15 [+ + +]
Hi Arnd,


Thanks
Christophe

FSL SOC Changes for 6.15:

- irqdomain cleanups from Jiry

- Add Ioana as Maintainer of fsl-mc bus and remove Laurentiu and Stuart

- Remove deadcode from fsl-mc bus

 
20 Mar 2025: gfs2 changes for 6.15 [+ + +]
please consider pulling the following gfs2 changes for 6.15.

Thanks,
Andreas

gfs2 changes

- Fix two bugs related to locking request cancelation (locking request
  being retried instead of canceled; canceling the wrong locking
  request).

- Prevent a race between inode creation and deferred delete analogous
  to commit ffd1cf0443a2 from 6.13.  This now allows to further simplify
  gfs2_evict_inode() without introducing mysterious problems.

- When in inode delete should be verified / retried "later" but that
  isn't possible, skip the delete instead of carrying it out
  immediately.  This broke in 6.13.

- More folio conversions from Matthew Wilcox (plus a fix from Dan
  Carpenter).

- Various minor fixes and cleanups.

20 Mar 2025: cgroup: Changes for v6.15 [+ + +]
cgroup: Changes for v6.15

- Add deprecation info messages to cgroup1-only features.

- rstat updates including a bug fix and breaking up a critical section to
  reduce interrupt latency impact.

- Other misc and doc updates.

20 Mar 2025: workqueue: Changes for v6.15 [+ + +]
workqueue: Changes for v6.15

Just one commit to expose system BH workqueues to rust.

20 Mar 2025: slab updates for 6.15 [+ + +]
please pull the latest slab updates from:


There's a small conflict with the rcu tree:
https://lore.kernel.org/all/[email protected]/

Thanks,
Vlastimil


* Move the TINY_RCU kvfree_rcu() implementation from RCU to SLAB
  subsystem and cleanup its integration (Vlastimil Babka)

  Following the move of the TREE_RCU batching kvfree_rcu() implementation in
  6.14, move also the simpler TINY_RCU variant. Refactor the #ifdef guards
  so that the simple implementation is also used with SLUB_TINY. Remove the
  need for RCU to recognize fake callback function pointers
  (__is_kvfree_rcu_offset()) when handling call_rcu() by implementing a
  callback that calculates the object's address from the embedded rcu_head
  address without knowing its offset.

* Improve kmalloc cache randomization in kvmalloc (GONG Ruiqi)

  Due to an extra layer of function call, all kvmalloc() allocations used the
  same set of random caches. Thanks to moving the kvmalloc() implementation to
  slub.c, this is improved and randomization now works for kvmalloc.

* Various improvements to debugging, testing and other cleanups (Hyesoo Yu,
  Lilith Gkini, Uladzislau Rezki, Matthew Wilcox, Kevin Brodsky, Ye Bin)

 
19 Mar 2025: media updates [+ + +]
As I'm doing a biz trip tomorrow to a place where I might have some troubles
sending PRs. I don't expect any real issue, but better to be safe than sorr=
y.

So, I'm opting to send my PR to 6.15 in advance. Please notice that there a=
re
3 patches addressing some Kconfig issues merged today. They hopefully will =
be
on -next before 6.15 the merge window.

So, please pull during the merge window from:

a/v6.15-1

For:

- platform: synopsys: hdmirx: Fix 64-bit division for 32-bit targets;
- vim2m: print device name after registering device;
- Synopsys DesignWare HDMI RX Driver and various fixes;
- cec/printk fixes and the removal of the vidioc_g/s_ctrl and vidioc_queryc=
trl callbacks;
- AVerMedia H789-C PCIe support and rc-core structs padding;
- Several camera sensor patches;
- uvcvideo improvements;
- visl: Fix ERANGE error when setting enum controls;
- codec fixes;
- V4L2 camera sensor patches mostly;
- chips-media: wave5: Fixes;
- Add SDM670 camera subsystem;
- Qualcomm iris video decoder driver;
- dt-bindings: update clocks for sc7280-camss;
- various fixes and enhancements.
   =20
[GIT PULL for v6.15] media updates

19 Mar 2025: LoongArch KVM changes for v6.15 [+ + +]
LoongArch KVM changes for v6.15

1. Remove unnecessary header include path.
2. Remove PGD saving during VM context switch.
3. Add perf events support for guest VM.

 
18 Mar 2025: KVM: x86: Changes for 6.15 [+ + +]
There are two conflicts between the PV clock pull request and the Xen
pull request.

1. The Xen branch moves Xen TSC leaf updates to CPUID emulation, and the PV
   clock branch renames the fields in kvm_vcpu_arch that are used to update
   the Xen leafs.  After the dust settles, kvm_cpuid() should look like:

   } else if (IS_ENABLED(CONFIG_KVM_XEN) &&
   kvm_xen_is_tsc_leaf(vcpu, function)) {
/*
 * Update guest TSC frequency information if necessary.
 * Ignore failures, there is no sane value that can be
 * provided if KVM can't get the TSC frequency.
 */
if (kvm_check_request(KVM_REQ_CLOCK_UPDATE, vcpu))
kvm_guest_time_update(vcpu);

if (index == 1) {
*ecx = vcpu->arch.pvclock_tsc_mul;
*edx = vcpu->arch.pvclock_tsc_shift;
} else if (index == 2) {
*eax = vcpu->arch.hw_tsc_khz;
}
}

2. The Xen branch moves and renames xen_hvm_config so that its xen.hvm_config,
   while PV clock branch shuffles use of xen_hvm_config/xen.hvm_config flags.
   The resulting code in kvm_guest_time_update() should look like:

#ifdef CONFIG_KVM_XEN
/*
 * For Xen guests we may need to override PVCLOCK_TSC_STABLE_BIT as unless
 * explicitly told to use TSC as its clocksource Xen will not set this bit.
 * This default behaviour led to bugs in some guest kernels which cause
 * problems if they observe PVCLOCK_TSC_STABLE_BIT in the pvclock flags.
 *
 * Note!  Clear TSC_STABLE only for Xen clocks, i.e. the order matters!
 */
if (ka->xen.hvm_config.flags & KVM_XEN_HVM_CONFIG_PVCLOCK_TSC_UNSTABLE)
hv_clock.flags &= ~PVCLOCK_TSC_STABLE_BIT;

if (vcpu->xen.vcpu_info_cache.active)
kvm_setup_guest_pvclock(&hv_clock, v, &vcpu->xen.vcpu_info_cache,
offsetof(struct compat_vcpu_info, time));
if (vcpu->xen.vcpu_time_info_cache.active)
kvm_setup_guest_pvclock(&hv_clock, v, &vcpu->xen.vcpu_time_info_cache, 0);
#endif
18 Mar 2025: mtd: spi-nor: changes for v6.15 [+ + +]
Hi, Miquel,

Here is the SPI NOR PR for v6.15. We'll try to have it a week earlier
next time.

Thanks,
ta

SPI NOR adds support for few flashes. Few cleanup patches for the core
driver, where we touched the headers inclusion list and we start using
the scope based mutex cleanup helpers.

 
17 Mar 2025: execve updates for v6.15-rc1 [+ + +]

Thanks!

-Kees

execve updates for v6.15-rc1

- elf: Define and use note name macros (Akihiko Odaki)

- elf: add remaining SHF_ flag macros (Timur Tabi)

- binfmt: Remove loader from linux_binprm struct (Yonatan Goldschmidt)

- binfmt_elf_fdpic: fix variable set but not used warning (sunliming)

17 Mar 2025: seccomp updates for v6.15-rc1 [+ + +]

Thanks!

-Kees

seccomp updates for v6.15-rc1

- avoid the lock trip seccomp_filter_release in common case (Mateusz Guzik)

- remove unused 'sd' argument through-out (Oleg Nesterov)

- selftests/seccomp: Add hard-coded __NR_uretprobe for x86_64

17 Mar 2025: pstore update for v6.15-rc1 [+ + +]

Thanks!

-Kees

pstore update for v6.15-rc1

- pstore: Change kmsg_bytes storage size to u32

17 Mar 2025: hardening updates for v6.15-rc1 [+ + +]
scattered changes all over. Patches touching things outside of our
traditional areas in the tree have been Acked by maintainers or were
trivial changes.

Thanks!

-Kees

hardening updates for v6.15-rc1

- loadpin: remove unsupported MODULE_COMPRESS_NONE (Arulpandiyan Vadivel)

- samples/check-exec: Fix script name (Mickaël Salaün)

- yama: remove needless locking in yama_task_prctl() (Oleg Nesterov)

- lib/string_choices: Sort by function name (R Sundar)

- hardening: Allow default HARDENED_USERCOPY to be set at compile time
  (Mel Gorman)

- uaccess: Split out compile-time checks into ucopysize.h

- kbuild: clang: Support building UM with SUBARCH=i386

- x86: Enable i386 FORTIFY_SOURCE on Clang 16+

- ubsan/overflow: Rework integer overflow sanitizer option

- Add missing __nonstring annotations for callers of memtostr*()/strtomem*()

- Add __must_be_noncstr() and have memtostr*()/strtomem*() check for it

- Introduce __nonstring_array for silencing future GCC 15 warnings

17 Mar 2025: move-lib-kunit for v6.15-rc1 [+ + +]
to coordinate the move of selftests out of lib/ and into lib/tests/. A
separate tree was used for this to keep the paths sane with all the
work in the same place. Doing this across multiple trees was going to
be very difficult, so any on-going updates were collected here to try to
avoid merge conflicts. I think only one small conflict remains, just
today, detailed here:
https://lore.kernel.org/linux-next/[email protected]/
sfr's resolution looks correct.

Thanks!

-Kees

move-lib-kunit for v6.15-rc1

- move lib/ selftests into lib/tests/ (Kees Cook, Gabriela Bittencourt,
  Luis Felipe Hernandez, Lukas Bulwahn, Tamir Duberstein)

- lib/math: Add int_log test suite (Bruno Sobreira França)

- lib/math: Add Kunit test suite for gcd() (Yu-Chun Lin)

- lib/tests/kfifo_kunit.c: add tests for the kfifo structure (Diego Vieira)

- unicode: refactor selftests into KUnit (Gabriela Bittencourt)

- lib/prime_numbers: convert self-test to KUnit (Tamir Duberstein)

- printf: convert self-test to KUnit (Tamir Duberstein)

- scanf: convert self-test to KUnit (Tamir Duberstein)

 
16 Mar 2025: w1: drivers for v6.15 [+ + +]
1-Wire bus drivers for v6.14

1. W1 UART: Fix theoretical NULL pointer dereference in probe due to
   serdev ops being set too late.  That's said such scenario is unlikely
   to happen as serdev read would need to happen before writing
   anything.

2. W1 therm: Simplify with HWMON_CHANNEL_INFO.

16 Mar 2025: pinctrl: samsung: drivers for v6.15 [+ + +]
Samsung pinctrl drivers changes for v6.15

1. Add pin controller drivers for newly usptreamed Samsung Exynos2200
   and Exynos7870.
2. Correct filter configuration offset of some of Google GS101 SoC pin
   banks, which later is supposed to be used during system
   suspend/resume.

16 Mar 2025: memory: drivers for v6.15 [+ + +]
Memory controller drivers for v6.15

1. Minor cleanup in Nvidia Tegra20 EMC.
2. Extend support for Mediatek MT8192 to match recommended by vendor and
   improve VENC hardware behavior during stress testing.

 
13 Mar 2025: Rust `hrtimer` support for v6.15 [+ + +]
Hi Miguel,


This initial support allows for intrusive use of timers without
allocating when starting a timer. We support `Pin<Box<T>>`, `Arc<T>`,
`Pin<&T>` and `Pin<&mut T>` pointer types for working with these
intrusive timers. We support at most one `HrTimer` field in a struct for
use with this API.

For now, the primary users will be the Rust null block driver, `rnull`,
and the Rust kernel mode setting driver `rkvms`. I expect us to add more
features to the API as the demands from users grow.

The PR also includes two changes for the core rust and rust/alloc
subsytems that are dependencies of the hrtimer Rust API: `Arc::as_ptr`
and `Box::into_pin`. The alloc change was Ack'd by Danilo.

The commits were in linux-next since next-20250313.

Rust hrtimer API for v6.15

Introduce Rust support for the `hrtimer` subsystem:

 - Add a way to use the `hrtimer` subsystem from Rust. Rust code can now set up
   intrusive timers without allocating when starting the timer.

 - Add support for `Pin<Box<_>>`, `Arc<_>`, `Pin<&_>` and `Pin<&mut _>` as
   pointer types for use with timer callbacks.

 - Add support for setting clock source and timer mode.

`kernel` crate:

 - Add `Arc::as_ptr` for converting an `Arc` to a raw pointer. This is a
   dependency for the `hrtimer` API.

 - Add `Box::into_pin` for converting a `Box<_>` into a `Pin<Box<_>>` to align
   with Rust `alloc`. This is a dependency for the `hrtimer` API.

 
12 Mar 2025: arm64: dts: ti: K3 devicetree updates for v6.15 [+ + +]
Hi ARM SoC Maintainers,


TI K3 device tree updates for v6.15

Generic Fixups/Cleanups:

SoC Specific features and Fixes:
AM62Ax:
Enable MCU domain pinctrl node

J784S4/J742S4:
GICD reg size fixes
Serdes lane ctrl reg mux mask fix

AM62P/J722s:
Wakeup UART0 sysc updates for system wakeup
pinctrl node fixes drop pinctrl-single,gpio-ranges
BCDMA CSI-RX support
Audio REFCLKx output support

Board Specific:
J784S4:
EVM: Cleanup duplicate gpio-hogs

J722S:
TypeC port mux selection fix

AM62Ax
SK: boot-phase tag to support USB bootmode
RTC support
Aliases for wakeup and MCU serial UARTs

AM62P
SK: boot-phase tag to support USB bootmode
USB wakeup support
Aliases for wakeup and MCU serial UARTs

AM62:
verdin-dahila: microphone support
SK: Aliases for wakeup and MCU serial UARTs
BeaglePlay: reserved CMA region for Multimedia applications

J721e:
SK/EVM: boot-phase tags for Serdes for DFU boot

Phytech board updates:
Boot-phase tag updates for AM64/AM62/AM62A boards
DTS coding style cleanups
RTOS IPC reserved-memory additions
DT overlay for X27 Connectors on AM64 SOMs

J721S2 SOM:
Add flash partitions

12 Mar 2025: soc: ti: Driver updates for v6.15 [+ + +]
Hi,

TI SoC driver updates for v6.15

- ti-sci: Default set to ARCH_K3 for the ti sci driver in preperation for
  the driver to be default set as module in defconfig.
- k3-socinfo: Explicitly build up regmap instead of depending on syscon
  helper

 
11 Mar 2025: clk: imx: Updates for v6.15 [+ + +]
i.MX clock changes for 6.15

- Add missing AXI clock to the i.MX8MP AUDIOMIX in dt-bindings schema.
- Fix DSP and OCRAM_A parent clocks in i.MX8MP AUDIOMIX clock provider.
- Document vendor specific operating-mode property in i.MX8M clock
  provider dt-bindings schema.
- Apply overdrive/nominal constraints based on DT property in i.MX8MP
  clock provider.

 
10 Mar 2025: cpupower update for Linux 6.15-rc1 [+ + +]
Hi Rafael,


Fixes lib version-ing, memory leaks in error legs, removes hard-coded
values, and implements CPU physical core querying.

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.15-rc1

Fixes lib version-ing, memory leaks in error legs, removes hard-coded
values, and implements CPU physical core querying.

10 Mar 2025: [PULL REQUEST] Intel IOMMU updates for v6.15 [+ + +]
Hi Joerg,

 
9 Mar 2025: samsung: drivers for v6.15 [+ + +]
Samsung SoC drivers for v6.15

1. Add support for Exynos USI v1 serial engines.  Drivers already
   supported newer IP blocks - USI v2 - present in Exynos850 and newer.
   A bit older ARM64 designs, like Exynos8895 use older USI v1 block.

2. Add Exynos ACPM (Alive Clock and Power Manager) protocol driver
   for Google GS101 SoC.  ACPM protocol allows communication between the
   power management firmware and other embedded processors.

3. Exynos2200: Add PMU, ChipID and SYSREG Devicetree bindings.

4. Exynos7870: Add PMU and ChipID Devicetree bindings.

5. Various cleanups.

9 Mar 2025: clk: samsung: drivers for v6.15 [+ + +]
Hi,

New clk drivers for Samsung SoC.  This pull includes drivers which you
commented later and pointed out few issues.  Pointed issues are in all Samsung
clk drivers and the ones here just copy existing patterns:

1. Headers: I fixed it for new and existing drivers and this pull request
includes the fixes.
2. device_get_match_data(): I still wait for contributors response. If they do
not respond, I will fix it for next cycle.
3. refdata and platform_driver_probe: I tried fixing it, but incomplete and
need to investigate more.

Best regards,
Krzysztof


Samsung SoC clock drivers changes for 6.15

1. Exynos990: Add support for the PERIS clock controller in existing
   driver.
2. Exynos2200: Add new driver for several clock controllers (Alive,
   CMGP, HSI, PERIC/PERIS, TOP, UFS and VFS).
3. Exynos7870: Add new driver for several clock controllers (Alive,
   MIF, DISP AUD, FSYS, G3D, ISP, MFC and PERI).
4. Correct undefined behavior / runtime array bounds check of flexible
   array member (last 'hws' element in 'struct clk_hw_onecell_data').
   The code was logically correct for normal case, but not for the
   clang/GCC runtime bounds checking of flexible array member.
5. Few cleanups: spelling, header inclusions.

9 Mar 2025: Third and final batch of Apple SoC DT updates for v6.15 [+ + +]
Hi,

This is our final pull request for Apple SoC device tree updates for v6.15
based on the previous one [1].
Drivers for the M1/M2 touchbar screen and pre-M1 (iPhone, etc.) backlight
have been merged since then and this batch includes the required device tree
nodes. Both drivers and these commits have been part of -next for at least a
few days. The corresponding drivers are scheduled to be included in the 6.15
merge window as well.



Best,

Sven


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

Apple SoC DT updates for 6.15, final batch:

- Added touchbar screen nodes for M1/M2 platforms
- Added backlight nodes for iPhone, iPad and iPod touch

 
8 Mar 2025: nolibc changes for v6.15 [+ + +]
Hi Paul,

nolibc changes for 6.15

Changes
-------

* 32bit s390 support
* opendir()/readdir_r()/closedir() support
* openat() support
* sscanf() support
* various cleanups

 
6 Mar 2025: Linux Media vimc update for Linux 6.15-rc1 [+ + +]
Hi Mauro,


Fixes a bug in vimc streamer pipeline init code found by syzbot.

diff is attached.

thanks,
-- Shuah

linux-vimc-6.15-rc1

Fixes a bug in vimc streamer pipeline init code found by syzbot.

 
2 Mar 2025: Second batch of Apple SoC DT updates for v6.15 [+ + +]
Hi,

this is the second batch of device tree updates for Apple SoCs based
on the first PR sent earlier [1].
This one adds nodes for SPI controller, SPI NOR flash and NVRAM partitions
for M1 and M2 devices. The SPI controller driver has been merged for a while
already and we just forgot to pick the device tree changes up.
It also adds the touchbar digitizer nodes. The corresponding driver and
dt-bindings are already in -next and should be part of the 6.15 merge window
as well.


Best,

Sven


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

Apple SoC DT updates for 6.15, second batch:

- Added a missing p-state for iPad mini 4
- Added SPI controller nodes for M1 and M2 devices
- Added SPI NOR flash nodes and NVRAM partitions
- Added touchbar digitizer nodes for M1 and M2 devices

2 Mar 2025: Apple SoC RTKit IPC library updates for v6.15 [+ + +]
Hi,

Please merge these Apple SoC RTKit IPC library updates for v6.15.
This batch includes a bunch of minor improvements and bugfixes mostly
required for our downstream drivers (e.g. DCP) which we are planning to
upstream in the next months.
There's one API change which requires a single line adjustment to our
NVMe driver as well which has been reviewed by a NVMe maintainer.


Best,


Sven

Apple SoC RTKit IPC library updates for 6.15:

- Additional logging for errors
- A few minor improvements and bugfixes required for drivers that are
  yet to be upstreamed

 
25 Feb 2025: LOCKDEP and Rust locking changes for v6.15 [+ + +]
Hi Peter & Ingo,


Lockdep changes for v6.15:

- Fix kernel-doc for rtmutex.
- Fix lock wait context check on softirq for PREEMPT_RT.
- Disable KASAN for lockdep to improve debug kernel performance.

Miscellaneous locking changes for v6.15:

- Use wake_q for semaphore to avoid wake-up in lock critical sections.

Rust locking changes for v6.15:

- Fix the soundness issue around dynamically allocated lock class keys.
- Add CondVar::wait_interruptible_freezable() to allow freezable waits.
- Add Guard::lock_ref() to access the lock reference behind a lock
  guard.

 
9 Feb 2025: Apple SoC DT updates for v6.15 [+ + +]
Hi,

Please merge these DT changes for v6.15.

This batch adds device trees for Apple T2 SoCs used in pre-M1 x86 machines
as a co-processor and also adds cpufreq and PMGR nodes to a bunch of pre-M1
Apple iDevice SoC device trees.


Best,


Sven


Apple SoC DT updates for 6.15:

- Added device trees for Apple T2 SoCs
- Added cpufreq and PMGR compatibles and nodes for Apple A7-A11 and T2
  SoCs