This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Linus,
mostly fixes and cleanups. Seems primarily due to more people using
RISC-V systems, rather than increased LLM usage; but, hard to be
certain. In any case, I hope we'll be able to focus more on features
for the next merge window.
thanks,
- Paul
RISC-V updates for v7.2
- Prevent get_free_mem_region() from returning regions that are
unmappable in certain circumstances by defining
DIRECT_MAP_PHYSMEM_END for RISC-V
- Fix an early boot problem with kexec_file when the amount of
installed physical memory installed on the system exceeds the direct
map size, which is possible in certain RISC-V virtual memory modes
- Unconditionally sfence.vma in the new vmalloc area handling code in
the page fault handler, since even the presence of Svvptc doesn't
guarantee that the CPU won't immediately fault again after the
exception handler completes and subsequently crash
- Fix ftrace_graph_ret_addr() to use the correct task pointer
(aligning with what other architectures do)
- Fix the misaligned access performance checking code in cases when
performance is specified on the kernel command line and when CPUs
have been brought offline and back online
- Get rid of a bogus address offset in the non-frame-pointer version
of walk_stackframe(), aligning it with the frame pointer-based code
- Fix a RISC-V kfence issue causing bogus use-after-free warnings
- Add ARCH_HAS_CC_CAN_LINK for RISC-V, which needs different compiler
command line flags than other architectures
- Implement _THIS_IP_ using RISC-V-specific assembly, which seems to
be less brittle (from a compiler point of view) than taking the
address of a label
- Reduce kernel startup overhead by defining
HAVE_BUILDTIME_MCOUNT_SORT, since arch/riscv meets all the
requirements
- Patch the CFI vDSO during alternatives processing, not only the
standard vDSO
- Fix a potential memory leak in the cacheinfo code
- Clean up kernel/setup.c:add_resource() to pass along the return
value from insert_resource() and to improve the display of
resource ranges
- Clean up our purgatory.[ch] by aligning our purgatory() prototype
to what's in arch/x86, and by cleaning up verify_sha256_digest()
- Clean up cpu_is_stopped() to align its function a little more
closely to its name
- Replace some unbounded string function usage in get_early_cmdline()
and the ptdump code with strscpy()
- Replace sprintf() with sysfs_emit() in cpu_show_ghostwrite() for
safer bounds checking
- Standardize how compiler output flags are specified in the RISC-V
kselftests, aligning them with what other architectures do
- Use the Linux-generic cmp_int() macro in place of an open-coded
"cmp_3way()" macro in kernel/module-sections.c
- Panic early in boot if IRQ handler stacks can't be allocated rather
than pretending to continue normally
- Add support for Eswin SoCs in the RISC-V defconfig
- Remove some unnecessary conditionals in sbi_hsm_hart_{start,stop}()
- Clean up some Kconfig infelicities found by Kconfirm
- Replace an open-coded version of min() in the kexec_elf code with
the standard min() function
thanks.
Conflicts I'm presently seeing, along with their linux-resolutions:
mm/page_io.c, vs block tree:
https://lore.kernel.org/ah26UmcBXVJMy-Cc@sirena.org.uk
tools/testing/selftests/cgroup/test_memcontrol.c, vs cgroup tree:
https://lore.kernel.org/ags6BawOir3IQHIZ@sirena.org.uk
Possible upcoming possible conflicts and build issues, along with their
linux-next resolutions:
include/net/netmem.h, vs net tree:
https://lore.kernel.org/aaGiDINfnUexT9Px@sirena.org.uk
drivers/android/binder/page_range.rs, vs char-misc.current tree:
https://lore.kernel.org/aarPg_AVR3TN9frW@sirena.org.uk
fs/ntfs/file.c, vs fs tree:
https://lore.kernel.org/aa7ZT-cQMVdQOOAj@sirena.org.uk
virt/kvm/guest_memfd.c, vs kvm-x86 tree:
https://lore.kernel.org/abGDp4jguPV2H2Mf@sirena.org.uk
init/main.c, vs tip tree:
https://lore.kernel.org/abLMq8TWJIQH5uTj@sirena.org.uk
fs/f2fs/compress.c, vs fs tree:
https://lore.kernel.org/acPtrrkwagtafDT8@sirena.org.uk
fs/exfat/file.c, vs fs tree:
https://lore.kernel.org/acbY5CCmsk8C95m5@sirena.co.uk
lib/vdso/datastore.c, vs tip tree:
https://lore.kernel.org/acbz78Mbv55Vzfh8@sirena.co.uk
arch/loongarch/mm/init.c, vs loongarch tree:
https://lore.kernel.org/ahBDDF2noinoSIg5@sirena.org.uk
fs/btrfs/defrag.c, vs fs tree:
https://lore.kernel.org/ahRU4OQiGMaLf2Y-@sirena.org.uk
mm.git review status for mm-hotfixes-stable..mm-stable
Everything:
Total patches: 321
Reviews/patch: 1.52
Reviewed rate: 68%
Excluding DAMON:
Total patches: 227
Reviews/patch: 2.07
Reviewed rate: 90%
Excluding DAMON and selftests:
Total patches: 203
Reviews/patch: 2.14
Reviewed rate: 91%
Patchsets in this merge:
- The 2 patch series "selftests/mm: clean up build output and verbosity"
from Li Wang removes some noise from the MM selftests build out.
- The 3 patch series "mm: Free contiguous order-0 pages efficiently"
from Ryan Roberts speeds up the freeing of a batch of 0-order pages by
first scanning them for coalescing opportunities. This is applicable to
vfree() and to the releasing of frozen pages.
- The 11 patch series "mm/damon: introduce DAMOS failed region quota
charge ratio" from SeongJae Park addresses a DAMOS usability issue: The
DAMOS quota often exhausts prematurely because it charges for all memory
attempted, causing slow and inconsistent performance when actions fail
on unreclaimable memory.
To fix this, a new feature lets users set a smaller, flexible quota
charge ratio (via a numerator and denominator) for failed regions.
Since failed actions cause less overhead, reducing their quota cost
ensures more predictable and efficient DAMOS processing
- The 8 patch series "selftests/cgroup: improve zswap tests robustness
and support large page sizes" from Li Wang fixes various spurious
failures and improves the overall robustness of the cgroup zswap
selftests.
- The 3 patch series "fix MAP_DROPPABLE not supported errno" from
Anthony Yznaga fixes an issue in the mlock selftests on arm32.
- The 2 patch series "mm: huge_memory: clean up defrag sysfs with
shared" from Breno Leitao does some maintenance work in the huge_memory
code.
- The 3 patch series "treewide: fixup gfp_t printks" from Brendan
Jackman uses the special vprintf() gfp_t conversion in various places.
- The 6 patch series "mm: Fix vmemmap optimization accounting and
initialization" from Muchun Song fixes several bugs in the vmemmap
optimization, mainly around incorrect page accounting and memmap
initialization in the DAX and memory hotplug paths. It also fixes
pageblock migratetype initialization and struct page initialization for
ZONE_DEVICE compound pages.
- The 4 patch series "mm/damon: repost non-hotfix reviewed patches in
damon/next tree" from is a sprinkle of unrelated minor bugfixes for
DAMON.
- The 3 patch series "mm: remove page_mapped()" from David Hildenbrand
remove this function from the tree, replacing it with folio_mapped().
- The 10 patch series "mm/damon: let DAMON be paused and resumed" from
SeongJae Park permits DAMON to be paused and resumed without losing its
current state.
- The 3 patch series "kasan: hw_tags: Disable tagging for stack and
page-tables" from Muhammad Usama Anjum simplifies and speeds up kasan by
removing its ineffective tagging of stacks and page tables.
- The 7 patch series "mm/damon/reclaim,lru_sort: monitor all system rams
by default" from SeongJae Park simplifies deployment on diverse hardware
like NUMA systems by updating DAMON_RECLAIM and DAMON_LRU_SORT to
automatically monitor the physical address range covering all System RAM
areas by default, replacing the overly restrictive behavior that only
targeted the single largest memory block to save on negligible overhead.
- The 2 patch series "mm/damon/sysfs: document filters/ directory as
deprecated" from SeongJae Park updates some DAMON docs.
- The 8 patch series "mm: use spinlock guards for zone lock" from Dmitry
Ilvokhin switches zone->lock handling over to using the guard()
mechanisms.
- The 2 patch series "mm/filemap: tighten mmap_miss hit accounting" from
fujunjie fixes a flaw where the mmap_miss counter over-credited page
cache hits during fault-arounds and page-fault retries. This results in
significant reduction of redundant synchronous mmap readahead I/O,
drastically cutting down execution time and gigabytes read for sparse
random or strided memory access workloads.
- The 2 patch series "selftests/cgroup: Fix false positive failures in
test_percpu_basic" from Li Wang fixes a couple of false-positives in the
cgroup kmem selftests.
- The 2 patch series "mm/damon/reclaim: support monitoring intervals
auto-tuning" from SeongJae Park adds a new parameter to DAMON permitting
DAMON_RECLAIM to automatically tune DAMON's sampling and aggregation
intervals.
- The 2 patch series "mm/damon/stat: add kdamond_pid parameter" from
SeongJae Park chnges DAMON_STAT to provide the pid of its kdamond.
- The 2 patch series "mm/kmemleak: dedupe verbose scan output" from
Breno Leitao removes large amounts of duplicated backtraces from the
verbose-mode kmemleak output.
- The 8 patch series "mm: remove CONFIG_HAVE_BOOTMEM_INFO_NODE (Part 1)"
from David Hildenbrand reduces our use of CONFIG_HAVE_BOOTMEM_INFO_NODE,
with a view to removing it entirely in a later series.
- The 2 patch series "mm/damon: validate min_region_size to be power of
2" from Liew Rui Yan prevents users from passing a non-power-of-2 value
of `addr_unit', as this later results in undesirable behavior.
- The 2 patch series "mm: document read_pages and simplify usage" from
Frederick Mayle does as claimed.
- The 3 patch series "tools/mm/page-types: Fix misc bugs" from Ye Liu
fixes three issues in tools/mm/page-types.c.
- The 4 patch series "mm: misc cleanups from __GFP_UNMAPPED series" from
Brendan Jackman implements several cleanups in the page allocator and
related code.
- The 12 patch series "mm, swap: swap table phase IV: unify allocation"
from Kairui Song unifies the allocation and charging of anon and shmem
swap in folios, provides better synchronization, consolidates the
metadata management, hence dropping the static array and map, and
improves performance.
- The 28 patch series "mm/damon: introduce data attributes monitoring"
from SeongJae Park extends DAMON for monitoring general data attributes
other than accesses.
- The 5 patch series "mm/vmalloc: free unused pages on vrealloc()
shrink" from Shivam Kalra implements the TODO in vrealloc() to unmap and
free unused pages when shrinking across a page boundary.
- The 3 patch series "mm/damon: documentation and comment fixes" from
niecheng does as advertised.
- The 3 patch series "remove mmap_action success, error hooks" from
Lorenzo Stoakes eliminates custom hooks from mmap_action by removing the
problematic success_hook which allowed drivers to improperly access
uninitialized VMAs. It replaces the error_hook with a simple error-code
field and updates the memory char driver accordingly.
- The 14 patch series "mm/damon: minor improvements for code readability
and tests" from SeongJae Park implements minor improvements in code
readability and tests for DAMON.
- The 2 patch series "mm/damon: fix macro arguments and clarify quota
goals doc" from Maksym Shcherba does those things.
- The 2 patch series "userfaultfd: merge fs/userfaultfd.c into
mm/userfaultfd.c" from Mike Rapoport performs that code movement.
- The 15 patch series "mm/mglru: improve reclaim loop and dirty folio"
from Kairui Song and others cleans up and slightly improves MGLRU's
reclaim loop and dirty writeback handling. Large performance
improvements are measured.
- The 3 patch series "use vma locks for proc/pid/{smaps|numa_maps}
reads" from Suren Baghdasaryan uses per-vma locks when reading
/proc/pid/smaps and /proc/pid/numa_maps similar to reduce contention on
central mmap_lock.
- The 2 patch series "refactors thpsize_shmem_enabled_store() and
thpsize_shmem_enabled_show()" from Ran Xiaokai provides some cleanup
work in the THP code.
- The 2 patch series "selftests/memfd: fix compilation warnings" from
Konstantin Khorenko fixes a few build glitches in the memfd selftest
code.
- The 4 patch series "memcg: shrink obj_stock_pcp and cache multiple
objcgs" from Shakeel Butt resolves a 68% performance regression caused
by NUMA-node cache thrashing around struct obj_stock_pcp by shrinking
its existing fields and expanding it into a multi-slot array that caches
up to five obj_cgroup pointers per CPU, allowing per-node variants of
the same memcg to coexist within a single 64-byte cache line.
- The 2 patch series "zram: writeback fixes" from Sergey Senozhatsky
addresses a couple of unrelated zram writeback issues.
- The 9 patch series "mm: switch THP shrinker to list_lru" from Johannes
Weiner resolves NUMA-awareness issues and streamlines callsite
interaction by refactoring and extending the list_lru API to completely
replace the complex, open-coded deferred split queue for Transparent
Huge Pages (THPs).
- The 2 patch series "mm: improve large folio readahead for exec memory"
from Usama Arif improves large-folio readahead on systems like 64K-page
arm64 by preventing the mmap_miss check from permanently disabling
target-oriented VM_EXEC readahead, and by generalizing the
force_thp_readahead gate to support mappings with any usefully large
maximum folio order under the cache cap.
- The 6 patch series "userfaultfd/pagemap: pre-existing fixes" from
Kiryl Shutsemau fixes a bunch of minor issues in the
userfaultfd/pagemap, all of which were flagged by Sashiko review of
proposed new material.
- The 5 patch series "mm/sparse-vmemmap: Provide generic
vmemmap_set_pmd() and vmemmap_check_pmd()" from Muchun Song provides
generic versions of these two functions so the four arch-specific
implementations can be removed.
- The 2 patch series "mm/swap, PM: hibernate: fix swapoff race in
uswsusp by pinning swap device" from Youngjun Park addresses a
uswsusp-vs-swapoff race and reduces the swap device reference
taking/releasing frequency.
- The 2 patch series "mm/hmm: A fix and a selftest" from Dev Jain does
as claimed.
ring-buffer: Updates for v7.2: - Do not invalidate entire buffer for invalid sub-buffers For the persistent ring buffer, if one sub-buffer is found to be invalid, it invalidates the entire per CPU ring buffer. This can lose a lot of valuable data if there's some corruption with the writes to the buffer not syncing properly on a hard crash. Instead, if a sub-buffer is found to be invalid, simply zero it out and mark it for "missed events". When the persistent ring buffer is read and a sub-buffer that was cleared due to being invalid on boot up is discovered, the output will show "[LOST EVENTS]" to let the user know that events were missing at that location. Displaying the events from valid buffers can still be useful. - Add a test to be able to test corrupted sub-buffers If a persistent ring buffer is created as "ptracingtest" and the new config that adds the test is enabled, when a panic happens, the kernel will randomly corrupt one of the per CPU ring buffers. On boot up, the sub-buffers with the corruption should be cleared and flagged. When reading this buffer, the missed events should should [LOST EVENTS]. - Add commit number in the sub-buffer meta debug info The commit is used to know the content of a meta page. Add it to the buffer_meta file that is shown for each per CPU buffer. - Clean up the persistent ring buffer validation code Add some helper functions and make variable names more consistent. trace-ring-buffer-v7.2
NFSD 7.2 Release Notes Jeff Layton wired up netlink upcalls for the auth.unix.ip and auth.unix.gid caches in SunRPC and the svc_export and nfsd.fh caches in NFSD. The new kernel-user API is more extensible and lays the groundwork for retiring the old pipe interface. The default NFS r/w block size rises to 4MB on hosts with at least 16GB of RAM, reducing per-RPC overhead on fast networks. Smaller machines keep their previously computed default, and the value remains tunable through /proc/fs/nfsd/max_block_size. Chuck Lever converted the server's RPCSEC GSS Kerberos code to the kernel's shared crypto/krb5 library. The conversion retires and removes SunRPC's bespoke implementation of Kerberos v5, but keeps RPCSEC GSS-API. Continuing the xdrgen migration that converted the NLMv4 server XDR layer in v7.1, Chuck Lever converted the NLM version 3 server-side XDR layer from hand-written C to xdrgen-generated code. As with the NLMv4 conversion in v7.1, the goals are improved memory safety, lower maintenance burden, and groundwork for generation of Rust code for this layer instead of C. Chuck Lever fixed an issue where lingering NFSv4 state pins a mounted file system after it is unexported. A new netlink-based mechanism can now release NLM locks and NFSv4 state by client address, by filesystem, and by export. Now an administrator can quiesce an export cleanly before unmounting it. The remaining patches are bug fixes, clean-ups, and minor optimizations, including a batch of memory-leak and use-after-free fixes in the ACL, lockd, and TLS handshake paths, many of them reported by Chris Mason. Sincere thanks to all contributors, reviewers, testers, and bug reporters who participated in the v7.2 NFSD development cycle.
Backlight for v7.2
- New Support & Features
- Maxim MAX25014: Add support for the Maxim MAX25014 4-channel automotive grade
backlight driver IC
- Improvements & Fixes
- Maintainers: Add the Congatec Board Controller backlight driver to its corresponding
entry
- Congatec Board Controller: Remove redundant X86 dependency from the backlight driver
- Kinetic KTD2801: Enable BL_CORE_SUSPENDRESUME to ensure the chip is powered off
during suspend
- Cleanups & Refactoring
- Core: Use named initializers for i2c_device_id arrays to improve readability and
robustness
- Device Tree Binding Updates
- Maxim MAX25014: Add device tree bindings for the Maxim MAX25014 backlight controller
LEDs for v7.2
- New Support & Features
- Samsung S2MU005: Add support for the Samsung S2MU005 PMIC which includes flash and
RGB LED controllers
- Texas Instruments LP5812: Add support for the TI LP5812 LED driver
- Texas Instruments LP5860: Add support for the Texas Instruments LP5860 LED matrix
driver via SPI
- Improvements & Fixes
- Core: Adjust the brightness sysfs node documentation to clarify that only decimal
values are accepted
- Core: Fix a race condition in the software blink logic when stopping blinking and
setting brightness simultaneously
- Core: Introduce the `multi_max_intensity` sysfs attribute for multicolor LEDs to
support hardware-based global brightness control
- Core: Replace OF-based device lookup with firmware node equivalents to support ACPI
and software nodes
- Core: Return `ENODATA` when reading brightness from hardware-controlled LEDs
- Core: Set the coherent DMA mask to zero for the Samsung PMIC device to suppress
unnecessary "DMA mask not set" messages
- ams OSRAM AS3668: Fix a Kconfig symbol name mismatch in the Makefile that prevented
the driver from being built
- BlinkM: Fix spelling and comment style issues in the driver
- DAC124S085: Declare the SPI command word as `__le16` to ensure correct endianness
and pass sparse checks
- GPIO Trigger: Use `GPIOD_FLAGS_BIT_NONEXCLUSIVE` to allow sharing GPIOs between the
LED trigger and other drivers
- NXP PCA9532: Fix an issue where the LED would stop blinking when changing brightness
to a non-zero value
- Qualcomm: Unify the user-visible company name to "Qualcomm" across flash LED config
options
- Qualcomm LPG: Optimize memory allocation by combining main structure and channels
into a single allocation using flexible array members
- Texas Instruments LP5860: Add missing `CONFIG_OF` dependency to prevent build
warnings
- TI TPS6131x: Increase the overvoltage protection threshold to 6V to avoid false
triggers with 5V input supplies
- Userspace LEDs (uLEDs): Fix a potential buffer overread by using `strnchr()` for
name string validation
- Userspace LEDs (uLEDs): Return `-EFAULT` on `copy_to_user()` failure to properly
handle read errors
- Cleanups & Refactoring
- Core: Convert various `i2c_device_id` arrays to use named initializers for improved
robustness and readability
- Multi-color Core: Fix incorrect `KernelVersion` and `Date` tags for the
`multi_max_intensity` ABI
- Broadcom BCM63138 / ChromeOS EC: Move `MODULE_DEVICE_TABLE` declarations next to the
ID tables for consistency
- LP5812: Fix a sysfs ABI reference in the documentation
- ST1202: Remove an unused legacy GPIO header include
- Device Tree Binding Updates
- Class: Document the keyboard backlight LED class naming conventions, including a new
scheme for zoned backlights
- Core: Dual-license the common LED bindings header under GPLv2 and BSD-2-Clause
- IR SPI LED: Add a new 30% duty-cycle value for the IR transmitter used in Xiaomi
Redmi Note 8
- Samsung S2M series: Document the flash LED device bindings for Samsung S2M series
PMICs
- Samsung S2M series: Document the pattern behavior for Samsung S2M series PMIC RGB
LEDs
- Samsung S2MU005: Add device tree bindings for the S2MU005 PMIC, including its flash
and RGB LED sub-devices
- TI LM3560: Document the TI LM3559 and LM3560 synchronous boost flash drivers
MFD for v7.2
- New Support & Features
- Renesas RSMU: Add support for the IDT 8a34002 Clock Matrix
- Samsung S2MU005: Add support for the Samsung S2MU005 PMIC which includes charger,
MUIC, flash and RGB LED controllers
- SpacemiT P1: Add a reboot cell for the SpacemiT P1 chip
- Texas Instruments BQ25792: Add support for the TI BQ25792 charger manager
- Improvements & Fixes
- Core: Unify the user-visible company name to "Qualcomm" across various config
options
- ChromeOS EC: Delay `dev_set_drvdata()` until the probe process has successfully
completed to avoid use-after-free issues
- ChromeOS EC: Prevent adding `cros_ec_ucsi` as an MFD sub-device if it is already
defined in Device Tree or ACPI
- Cirrus Logic CS42L43: Add a sanity check for firmware size to prevent out-of-bounds
memory access during firmware loading
- Cirrus Logic CS5535: Associate the GPIO cell with a dedicated software node to
support board files requesting GPIOs
- Maxim MAX77620: Modernize poweroff handling by converting to the sys-off API
- Qualcomm RPM: Add the missing QDSS clock resource for the MSM8960 SoC
- Renesas RSMU: Fix page register setup for the 8A3400x family by correctly
calculating the page address
- Renesas RZ/MTU3: Make the reset line optional to support newer SoC variants (RZ/T2H,
RZ/N2H)
- Renesas RZ/MTU3: Modernize the driver by using device-managed APIs for reset control
and device addition
- Samsung Core: Set the coherent DMA mask to zero for the Samsung PMIC device to
suppress unnecessary "DMA mask not set" messages
- Silicon Motion SM501: Fix a reference leak on failed device registration by properly
dropping the platform device reference
- Texas Instruments TPS65219: Make poweroff handler registration conditional on the
"system-power-controller" Device Tree property
- Texas Instruments TPS6586x: Fix Device Tree node reference counting by manually
bumping the refcount for sub-devices
- Texas Instruments TPS65910: Add return value checking for the dummy I2C transfer
used to work around silicon erratum SWCZ010
- Texas Instruments TWL4030: Update board-specific checks to use Device Tree
compatibles instead of legacy machine IDs
- Cleanups & Refactoring
- Core: Consistently define `pci_device_id` arrays using named initializers across
various Intel and Silicon Motion drivers
- Maintainers: Shift maintenance of Samsung PMIC drivers to André Draszik
- Maxim MAX77759: Improve code style by reformatting the IRQ table and refining macro
comments
- MEN MENF21BMC / Texas Instruments TWL: Correctly treat `i2c_check_functionality()`
as returning a boolean status
- Rohm BD72720: Drop the non-existent BUCK11 ID to improve code clarity
- Silicon Labs Si476x: Fix various spelling mistakes in driver comments
- Spreadtrum SC27xx: Transition to `devm_mfd_add_devices()` and separate MFD cell
tables for each PMIC model
- Timberdale: Move GPIO pin definitions into the driver and transition to using a
software node for the GPIO cell
- Wolfson WM8994: Remove dead legacy-GPIO code and its associated `irq_gpio` member
- Device Tree Binding Updates
- Aspeed AST2x00: Document the AST2700 SCU0 and add support for its SoC0/SoC1 pin
controllers
- Hisilicon Hi655x: Convert the Hi655x PMIC binding from text format to YAML DT schema
- Khadas MCU: Add a new compatible and fan-supply property for the Khadas VIM4 MCU
- MediaTek MT6397: Add support for the MT6365 PMIC and document regulator supplies for
the MT6359 variant
- Qualcomm TCSR: Add compatibles for Nord and IPQ5210 TCSR blocks
- Renesas RZ/G3L: Revert the addition of the `renesas,r9a08g046-lvds-cmn` compatible
string due to documentation errors
- Samsung S2MU005: Document the S2MU005 PMIC and its sub-devices (charger, MUIC,
flash and RGB LEDs)
- Spreadtrum SC2731: Include regulator bindings for the SC2730 variant
- STMPE: Fix the schema by marking 'compatible' and '#pwm-cells' as required for the
PWM subnode
- Texas Instruments BQ257xx: Expand the BQ25703A binding to include the BQ25792
variant
- Removals
- Motorola EZX PCAP: Remove the unused and non-functional driver for Motorola EZX
phones
please pull the latest printk changes from - Add upper case flavor for printing MAC addresses (%p[mM][U]) and use it in the nintendo driver - Fix matching of hash_pointers= parameter modes - Fix size check of vsprintf() field_width and precision values - Add check of size returned by vsprintf() - Add KUnit test for restricted pointer printing (%pK) - Some code cleanup
please pull sound fixes for v7.2-rc1 from: The topmost commit is c5e90e8844692deb7bbcd029e8b92b3a20441903 sound updates for 7.2-rc1 Unsurprisingly, we've had a fairly busy development cycle with various fixes and enhancements. While the majority of changes consist of device-specific fixes, a significant number of cleanups, hardening, and modernizations have been applied to the core frameworks as well. Below are some highlights: * ALSA Core: - Hardening, race condition, and UAF/leak fixes in the ALSA timer and sequencer cores - Widespread adoption of flexible array members across core structures - Integration of new simple refcount helper functions to simplify code * ASoC Core: - Introduction of a unified SoundWire enumeration helper to clean up redundant device initialization across codecs - Enhancements to SDCA support, including handling devices with multiple functions of the same type and proper jack reporting masks - Continued refactoring of ASoC component debugfs and DAPM structures - Simplification and improvements to the format auto-selection mechanism - Added shared BCLK rate constraints for cross-DAI coordination * ASoC Platforms & Codecs: - Initial bring-up and power management support for AMD ACP 7.x - Support for Everest Semi ES9356 (SDCA), Mediatek MT2701 (on-chip HDMI) and MT8196 SoCs, Renesas RZ/G3E, SpacemiT K3, and TI TAC5xx2/TAS67524 - Added a new generic driver for GPIO-driven amplifiers - Continued mass conversion of locking code to guard() helpers across numerous platform drivers (MediaTek, Rockchip, STM32, Samsung, etc.) - Cleanup of legacy non-DT platform data and rollbacks for obsolete SH Ecovec24/7724se boards * HD- and USB-Audio: - Device-specific hardware quirks and fixes for various Realtek HD-Audio devices (Lenovo, HP, ASUS, Acer, Clevo) - Refinements to Qualcomm USB-audio offloading support - Front-panel controls and autogain status support for Scarlett Gen 4 - Quirks for XIBERIA (K03S), Sennheiser (MOMENTUM 3), Edifier (MF200), Novation (Mininova), and Behringer (Flow 8) USB-audio devices - Improved robustness by rolling back or propagating write errors to the mixer control caches (Babyface Pro, US-16x08, Scarlett) * Others: - Support for the HT-Omega eClaro PCI sound card in the Oxygen driver - Robustness improvements and fixes for Virtio-audio, Xen-front, and legacy OSS dmasound drivers
Here's the pull-request with pmdomain updates for v7.2. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson pmdomain core: - Add OF helpers for parsing the power-domains-child-ids property - Extend the power domain DT binding with power-domains-child-ids - Switch to use the dynamic root device pmdomain providers: - arm: Add support for domain hierarchies to SCMI power domains - qcom: Add power domains for the Shikra and Nord SoCs - sunxi: Fix GPU support on Radxa Cubie A7Z by keeping power domain on
IOMMU Updates for Linux v7.2
Including:
Core Code:
- Fix dma-iommu scatterlist length handling in the P2PDMA path.
- Extend the generic IOMMU page-table code with detailed gather
support for more precise invalidations.
- Add pending-gather tracking to generic page-table invalidation
handling.
- Add support for smaller virtual address sizes in the generic AMDv1
page-table format, including KUnit coverage.
- Fix page-size bitmap calculation for smaller VA configurations.
- Rework Arm io-pgtable allocation/freeing to consistently use the
iommu-pages API and address-conversion helpers.
- Add PCI ATS infrastructure for devices that require ATS, including
always-on ATS handling for pre-CXL devices.
AMD IOMMU:
- Fix several IOTLB invalidation details, including PDE handling,
flush-all behavior, and command address encoding.
- Honor IVINFO[VASIZE] when deriving address limits.
- Fix premature loop termination in init_iommu_one().
- Add Hygon family 18h model 4h IOAPIC support.
- Clean up legacy-mode handling, stale comments, dead IVMD
exclusion-range code, and unused address-size macros.
Arm SMMU / Arm SMMU v3:
- SMMUv2:
- Device-tree binding updates for Qualcomm Hawi, Nord and Shikra
SoCs.
- Constain the clocks which can be specified for recent Qualcomm
SoCs.
- Fix broken compatible string for Qualcomm prefetcher
configuration an add new entry for the Glymur MDSS.
- Ensure SMMU is powered-up when writing context bank for Adreno
client.
- SMMUv3:
- Fix off-by-one in queue allocation retry loop.
- Enable hardware update of access/dirty bits from the SMMU.
- Re-jig command construction to use separate inline helpers for
each command type.
Intel VT-d:
- Add the PCI segment number to DMA fault messages.
- Improve support for non-PRI mode SVA.
- Ensure atomicity during context entry teardown.
- Fix RB-tree corruption in the probe error path.
RISC-V IOMMU:
- Add NAPOT range invalidation support.
- Use detailed gather information for invalidation decisions.
- Compute the best stride for single invalidations.
- Advertise Svpbmt support to the generic page-table code.
- Add capability definitions and clean up command macro encoding.
VeriSilicon IOMMU:
- Add a new VeriSilicon IOMMU driver.
- Add devicetree binding documentation and MAINTAINERS coverage.
- Add the RK3588 VeriSilicon IOMMU node.
- Apply small cleanups and warning fixes in the new driver.
Rockchip IOMMU:
- Disable the fetch DTE time limit.
Apple DART:
- Correct a stale CONFIG_PCIE_APPLE macro name in a comment.
This is the main drm pull request for 7.2. There are some conflicts in amdgpu, panfrost and atomic/colorops code. I've put a trial merge here: https://github.com/airlied/linux/tree/drm-next-7.2-rc1-merged None of them were too confusing, but the panfrost one isn't that straightforward and amdgpu ones are a bit tricky. The commit list looks fine but the diffstat looks wonky for some reason. There should only really be rust things outside of this tree, and there was a common tag that might already have landed by the time you get this. Highlights: - xe: add initial CRI platform support - amdgpu: initial HDMI 2.1 FRL support - rust: add some new type concepts for device lifetimes - scheduler: moves to a fair algorithm and lots of cleanups But it's mostly the usual mountain of changes across the board. Let me know if there are any problems, Dave. drm-next-2026-06-17: drm-next for 7.2-rc1 core: - add docbook for DRM_IOCTL_SYNCOBJ_EVENTFD - change signature of drm_connector_attach_hdr_output_metadata_property - dedup counter and timestamp retrieval in vblank code - parse AMD VSDB v3 in CTA extension blocks - add P230, Y7, XYYY2101010, T430, XVUY210101010 formats - don't call drop master on file close if not master - use drm_printf_indent in atomic / bridge - fix 32b format descriptions - docs: fix toctree - hdmi: add common TMDS character rates - fix drm_syncobj_find_fence leak rust: - introduce Higher-Ranked lifetime types - replace drvdata with scoped registration data - add GPUVM immediate mode abstraction for rust GPU drivers - introduce DeviceContext type state for drm::Device bridge: - clarify drm_bridge_get/put - create drm_get_bridge_by_endpoint and use it - analogix_dp: add panel probing - ite-it6211 - use drm audio hdmi helpers buddy: - add lockdep annotations dp: - add PR and VRR updates - mst: fix buffer overflows - add Adaptive Sync SDP decoding support - fix OOB reads in dp-mst ttm: - bump fpfn/lpfn to 64-bit scheduler: - change default to fair scheduler - map runqueue 1:1 with scheduler dma-buf: - port selftests to kunit - convert dma-buf system/heap allocators to module - add separate DMABUF_HEAPS_SYSTEM_CC_SHARED Kconfig udmabuf: - revert hugetlb support - fix error with CONFIG_DMA_API_DEBUG dma-fence: - fix tracepoints lifetime - remove unused signal on any support ras: - add clear error counter netlink command to drm ras gpusvm: - reject VMAs with VM_IO or VM_PFNMAP when creating SVM ranges - use IOVA allocations pagemap: - use IOVA allocations panels: - update to use ref counts - add support for CSW PNB601LS1-2, LGD LP116WHA-SPB1 - add support for waveshare panels - CMN N116BCN-EA1, CMN N140HCA-EEK, IVO M140NWFQ R5, - IVO, R140NWFW R0, BOE NT140*, BOE NV133FHM-N4F, - AUO B140*, AUO B133HAN06.6 and AUO B116XTN02.3 eDP panels - Surface Pro 12 Panel xe: - add CRI PCI-IDs - debugfs add multi-lrc info - engine init cleanup - PF fair scheduling auto provisioning - system controller support for CRI/Xe3p - PXP state machine fixes - Reset/wedge/unload corner case fixes - Wedge path memory allocation fixes - PAT type cleanups - Reject unsafe PAT for CPU cached memory - OA improvements for CRI device memory - kernel doc syntax in xe headers - xe_drm.h documentation fixes - include guard cleanups - VF CCS memory pool - i915/xe step unification - Xe3p GT tuning fixes - forcewake cleanup in GT and GuC - admin-only PF mode - enable hwmon energy attributes for CRI - enable GT_MI_USER_INTERRUPT - refactor emit functions - oa workarounds - multi_queue: allow QUEUE_TIMESTAMP register - convert stolen memory to ttm range manager - use xe2 style blitter as a feature flag - make drm_driver const - add/use IRQ page to HW engine definition - fix oops when display disabled i915: - enable PIPEDMC_ERROR interrupt - more common display code refactoring - restructure DP/HDMI sink format handling - eliminate FB usage from lowlevel pinning code - panel replay bw optimization - integrate sharpness filter into the scaler - new fb_pin abstraction for xe/i915 fb transparent handling - skip inactive MST connectors on HDCP - start switching to display specific registers - use polling when irq unavailable - Adaptive-sync SDP prep amdgpu: - use drm_display_info for AMD VSDB data - Initial HDMI 2.1 FRL support - Initial DCN 4.2.1 support - GART fixes for non-4k pages - GC 11.5.6/SDMA 6.4.0/and other new IPs - GFX9/DCE6/Hawaii/SDMA4/GART/Userq fixes - Finish support for using multiple SDMA queues for TTM operations - SWSMU updates - GC 12.1 updates - SMU 15.0.8 updates - DCN 4.2 updates - DC type conversion fixes - Enable DC power module - Replay/PSR updates - SMU 13.x updates - Compute queue quantum MQD updates - ASPM fix - Align VKMS with common implementation - DC analog support fixes - UVD 3 fixes - TCC harvesting fixes for SI - GC 11 APU module reload fix - NBIO 6.3.2 support - IH 7.1 updates - DC cursor fixes - VCN/JPEG user fence fixes - DC support for connectors without DDC - Prefer ROM BAR for default VGA device - DC bandwidth fixes - Add PTL support for profiler - Introduce dc_plane_cm and migrate surface update color path - Add FRL registers for HDMI 2.1 - Restructure VM state machine - Auxless ALPM support - GEM_OP locking/warning fixes - switch to system_dfl_wq amdkfd: - GPUVM TLB flush fix - Hotplug fix - Boundary check fixes - SVM fixes - CRIU fixes - add profiler API - MES 12.1 updates msm: - core: - fix shrinker documentation - IFPC enabled for gen8 - PERFCNTR_CONFIG ioctl support - GPU: - reworked UBWC handling - a810 support - MDSS: - add support for Milos platform - reworked UBWC handling - DisplayPort: - reworked HPD handling as prep for MST - DPU: - Milos platform support - reworked UBWC handling - DSI: - Milos platform support nova: - Hopper/Blackwell enablement (GH100/GB100/GB202) - FSP support - 32-bit firmware support - HAL functions - refactor GSP boot/unload - GA100 support - VBIOS hardening/refactoring - Adopt higher order lifetime types tyr: - define register blocks - add shmem backed GEM objects - adopt higher order lifetime types - move clock cleanup into Drop radeon: - Hawaii SMU fixes - CS parser fix - use struct drm_edid instead of edid amdxdna: - export per-client BO memory via fdinfo - AIE4 device support - support medium/lower power modes - expandable device heap support - revert read-only user-pointer BO mappings ivpu: - support frequency limiting panthor: - enable GEM shrinker support - add eviction and reclaim info to fdinfo v3d: - enable runtime PM mgag200: - support XRGB1555 + C8 ast: - support XRGB1555 + C8 - use constants for lots of registers - fix register handling imagination: - fence handling refactoring nouveau: - fix sched double call - expose VBIOS on GSP-RM systems - add GA100 support virtio: - add VIRTIO_GPU_F_BLOB_ALIGNMENT flag - add deferred mapping support gud: - add RCade Display Adapter hibmc: - fix no connectors usage mediatek: - hdmi: convert error handling - simplify mtk_crtc allocation exynos: - move fbdev emulation to drm client buffers - use drm format helpers for geometry/size - adopt core DMA tracking - fix framebuffer offset handling renesas: - add RZ/T2H SOC support versilicon: - add cursor plane support tegra: - use drm client for framebuffer drm-next for 7.2-rc1 core: - add docbook for DRM_IOCTL_SYNCOBJ_EVENTFD - change signature of drm_connector_attach_hdr_output_metadata_property - dedup counter and timestamp retrieval in vblank code - parse AMD VSDB v3 in CTA extension blocks - add P230, Y7, XYYY2101010, T430, XVUY210101010 formats - don't call drop master on file close if not master - use drm_printf_indent in atomic / bridge - fix 32b format descriptions - docs: fix toctree - hdmi: add common TMDS character rates - fix drm_syncobj_find_fence leak rust: - introduce Higher-Ranked lifetime types - replace drvdata with scoped registration data - add GPUVM immediate mode abstraction for rust GPU drivers - introduce DeviceContext type state for drm::Device bridge: - clarify drm_bridge_get/put - create drm_get_bridge_by_endpoint and use it - analogix_dp: add panel probing - ite-it6211 - use drm audio hdmi helpers buddy: - add lockdep annotations dp: - add PR and VRR updates - mst: fix buffer overflows - add Adaptive Sync SDP decoding support - fix OOB reads in dp-mst ttm: - bump fpfn/lpfn to 64-bit scheduler: - change default to fair scheduler - map runqueue 1:1 with scheduler dma-buf: - port selftests to kunit - convert dma-buf system/heap allocators to module - add separate DMABUF_HEAPS_SYSTEM_CC_SHARED Kconfig udmabuf: - revert hugetlb support - fix error with CONFIG_DMA_API_DEBUG dma-fence: - fix tracepoints lifetime - remove unused signal on any support ras: - add clear error counter netlink command to drm ras gpusvm: - reject VMAs with VM_IO or VM_PFNMAP when creating SVM ranges - use IOVA allocations pagemap: - use IOVA allocations panels: - update to use ref counts - add support for CSW PNB601LS1-2, LGD LP116WHA-SPB1 - add support for waveshare panels - CMN N116BCN-EA1, CMN N140HCA-EEK, IVO M140NWFQ R5, - IVO, R140NWFW R0, BOE NT140*, BOE NV133FHM-N4F, - AUO B140*, AUO B133HAN06.6 and AUO B116XTN02.3 eDP panels - Surface Pro 12 Panel xe: - add CRI PCI-IDs - debugfs add multi-lrc info - engine init cleanup - PF fair scheduling auto provisioning - system controller support for CRI/Xe3p - PXP state machine fixes - Reset/wedge/unload corner case fixes - Wedge path memory allocation fixes - PAT type cleanups - Reject unsafe PAT for CPU cached memory - OA improvements for CRI device memory - kernel doc syntax in xe headers - xe_drm.h documentation fixes - include guard cleanups - VF CCS memory pool - i915/xe step unification - Xe3p GT tuning fixes - forcewake cleanup in GT and GuC - admin-only PF mode - enable hwmon energy attributes for CRI - enable GT_MI_USER_INTERRUPT - refactor emit functions - oa workarounds - multi_queue: allow QUEUE_TIMESTAMP register - convert stolen memory to ttm range manager - use xe2 style blitter as a feature flag - make drm_driver const - add/use IRQ page to HW engine definition - fix oops when display disabled i915: - enable PIPEDMC_ERROR interrupt - more common display code refactoring - restructure DP/HDMI sink format handling - eliminate FB usage from lowlevel pinning code - panel replay bw optimization - integrate sharpness filter into the scaler - new fb_pin abstraction for xe/i915 fb transparent handling - skip inactive MST connectors on HDCP - start switching to display specific registers - use polling when irq unavailable - Adaptive-sync SDP prep amdgpu: - use drm_display_info for AMD VSDB data - Initial HDMI 2.1 FRL support - Initial DCN 4.2.1 support - GART fixes for non-4k pages - GC 11.5.6/SDMA 6.4.0/and other new IPs - GFX9/DCE6/Hawaii/SDMA4/GART/Userq fixes - Finish support for using multiple SDMA queues for TTM operations - SWSMU updates - GC 12.1 updates - SMU 15.0.8 updates - DCN 4.2 updates - DC type conversion fixes - Enable DC power module - Replay/PSR updates - SMU 13.x updates - Compute queue quantum MQD updates - ASPM fix - Align VKMS with common implementation - DC analog support fixes - UVD 3 fixes - TCC harvesting fixes for SI - GC 11 APU module reload fix - NBIO 6.3.2 support - IH 7.1 updates - DC cursor fixes - VCN/JPEG user fence fixes - DC support for connectors without DDC - Prefer ROM BAR for default VGA device - DC bandwidth fixes - Add PTL support for profiler - Introduce dc_plane_cm and migrate surface update color path - Add FRL registers for HDMI 2.1 - Restructure VM state machine - Auxless ALPM support - GEM_OP locking/warning fixes - switch to system_dfl_wq amdkfd: - GPUVM TLB flush fix - Hotplug fix - Boundary check fixes - SVM fixes - CRIU fixes - add profiler API - MES 12.1 updates msm: - core: - fix shrinker documentation - IFPC enabled for gen8 - PERFCNTR_CONFIG ioctl support - GPU: - reworked UBWC handling - a810 support - MDSS: - add support for Milos platform - reworked UBWC handling - DisplayPort: - reworked HPD handling as prep for MST - DPU: - Milos platform support - reworked UBWC handling - DSI: - Milos platform support nova: - Hopper/Blackwell enablement (GH100/GB100/GB202) - FSP support - 32-bit firmware support - HAL functions - refactor GSP boot/unload - GA100 support - VBIOS hardening/refactoring - Adopt higher order lifetime types tyr: - define register blocks - add shmem backed GEM objects - adopt higher order lifetime types - move clock cleanup into Drop radeon: - Hawaii SMU fixes - CS parser fix - use struct drm_edid instead of edid amdxdna: - export per-client BO memory via fdinfo - AIE4 device support - support medium/lower power modes - expandable device heap support - revert read-only user-pointer BO mappings ivpu: - support frequency limiting panthor: - enable GEM shrinker support - add eviction and reclaim info to fdinfo v3d: - enable runtime PM mgag200: - support XRGB1555 + C8 ast: - support XRGB1555 + C8 - use constants for lots of registers - fix register handling imagination: - fence handling refactoring nouveau: - fix sched double call - expose VBIOS on GSP-RM systems - add GA100 support virtio: - add VIRTIO_GPU_F_BLOB_ALIGNMENT flag - add deferred mapping support gud: - add RCade Display Adapter hibmc: - fix no connectors usage mediatek: - hdmi: convert error handling - simplify mtk_crtc allocation exynos: - move fbdev emulation to drm client buffers - use drm format helpers for geometry/size - adopt core DMA tracking - fix framebuffer offset handling renesas: - add RZ/T2H SOC support versilicon: - add cursor plane support tegra: - use drm client for framebuffer
tracing: Updates for v7.2: - Remove a redundant IS_ERR() check trace_pipe_open() already checks for IS_ERR() and does it again in the return path. Remove the return check. - Export seq_buf_putmem_hex() to allow kunit tests against them To add Kunit tests on seq_buf_putmem_hex(), it needs to be exported. - Replace strcat() and strcpy() with seq_buf() logic The code for synthetic events uses a series of strcat() and strcpy() which can be error prone. Replace them with seq_buf() logic that does all the necessary bound checking. - Add a lockdep rcu_is_watching() to trace_##event##_enabled() call The trace_##event##_enabled() is a static branch that is true if the "event" is enabled. But this can hide bugs if this logic is in a location where RCU is disabled and not "watching". It would only trigger if lockdep is enabled and the event is enabled. Add a "rcu_is_watching()" warning if lockdep is enabled in that helper function to trigger regardless if the event is enabled or not. - Remove the local variable in the trace_printk() macro For name space integrity, remove the _______STR variable in the trace_printk() macro for using the sizeof() macro directly. - Use guard()s for the trace_recursion_record.c file - Fix typo in a comment of eventfs_callback() kerneldoc - Use trace_call__##event() in events called within trace_##event##_enabled() A couple of events are called within an if block guarded by trace_##event##_enabled(). That is a static key that is only enabled when the event is enabled. The trace_call_##event() calls the tracepoint code directly without adding a redundant static key for that check. - Allow perf to read synthetic events Currently, perf does not have the ability to enable a synthetic event. If it does, it will either cause a kernel warning or error with "No such device". Synthetic events are not much different than kprobes and perf can handle fine with a few modifications. - Replace printk(KERN_WARNING ...) with pr_warn() - Replace krealloc() on an array with krealloc_array() - Fix README file path name for synthetic events - Change tracing_map tracing_map_array to use a flexible array Instead of allocating a separate pointer to hold the pages field of tracing_map_array, allocate the pages field as a flexible array when allocating the structure. - Fold trace_iterator_increment() into trace_find_next_entry_inc() The function trace_iterator_increment() was only used by trace_find_next_entry_inc(). It's not big enough to be a helper function for one user. Fold it into its caller. - Make field_var_str field a flexible array of hist_elt_data Instead of allocating a separate pointer for the field_var_str array of the hist_elt_data structure, allocate it as a flexible array when allocating the structure. - Disable KCOV for trace_irqsoff.c Like trace_preemptirq.c, trace_irqsoff.c has code that will crash when KCOV is enabled on ARM. The irqsoff tracing can be called on ARM because the irqsoff tracing code can be run from early interrupt code and produce coverage unrelated to syscall inputs. - Fix warning in __unregister_ftrace_function() called by perf Perf calls unregister_ftrace_function() without checking if its ftrace_ops has already been unregistered. There's an error path where on clean up it will unregister the ftrace_ops even if it wasn't registered and causes a warning. NOTE: I did check to make sure this merges cleanly into your tree. trace-v7.2
Rob Devicetree updates for v7.2: DT core: - Add support for handling multiple cells in "iommu-map" entries. - Support only 1 entry in /reserved-memory "reg" entries. Support for more than 1 entry has been broken. - Fix a UAF on alloc_reserved_mem_array() failure - Make "ibm,phandle" handling logic specific to PPC - Use memcpy() instead of strcpy() for known length strings - Ensure __of_find_n_match_cpu_property() handles malformed "reg" entries - Add various checks that expected strings are strings before accessing them - Drop redundant memset() when unflattening DT DT bindings: - Add a DTS style checker. Currently hooked up to dt_binding_check to check examples. - Convert st,nomadik platform, ti,omap-dmm, and ti,irq-crossbar bindings to DT schema - Add Apple System Management Controller hwmon, Qualcomm Hamoa Embedded Controller, Qualcomm IPQ6018 PWM controller, fsl,mc1323, Samsung SOFEF01-M DDIC panel, Freescale i.MX53 Television Encoder, Samsung S2M series PMIC extcon, and MT6365 PMIC AuxADC schemas - Extend bindings for QCom Maili and Nord PDC, QCom Hali fastrpc, qcom,eliza-imem, qcom,oryon-1-5 CPU, and MT6365 Keys - Consolidate "sram" property definitions - Fix constraints on "nvmem" properties which only contain phandles and no arg cells - Another pass of fixing "phandle-array" constraints - Add Gira vendor prefix
please pull from nus-2026061601 to receive HID subsystem queue for 7.2 merge window, with higlights being: =3D=3D=3D=3D=3D - [CORE] semantic cleanup fixes for 'hid_device_id::driver_data' (Pawel=20 Zalewski) - [MULTITOUCH] UX improvement fixes for Yoga Book 9 (Dave Carey) - [LOGITECH] fix for high resolution scrolling for Logitech HID++ 2.0=20 devices (Lauri Saurus) - [CP2112] fix for cp2112 firmware-based speed configuration, if available= =20 (Danny Kaehn) - [WACOM] memory corruption and scheduling while atomic and error fixes=20 and error handling fixes (Jinmo Yang, Myeonghun Pak) - suport for OneXPlayer (Derek J. Clark) - support for HORI Wireless Switch Pad (Hector Zelaya) - support for Rakk Dasig X (Karl Cayme) - other assorted small fixes and device ID additions =3D=3D=3D=3D=3D
please pull the latest livepatching changes from - Fix a potential memory leak in a selftest module - Make selftests locale independent - Allow to run the selftest with older kernels back to 4.12
A few changes in this one. Firstly an update and config refresh for the stmark board. Some fixes and preparatory work for supporting the DAC hardware block of the m5441x ColdFire SoC. Forced configuration fix for legacy gpiolib when enabling the mcfqspi driver. Some new defconfigs for the M5329EVB, M54418EVB and NETtel boards to give better build test coverage For ColdFire parts. And lastly a cleanup to register access code in the core init and setup code for ColdFire SoC be consistent, instead of ia varied use of __raw_readX/__raw_write and straight readX/writeX. This is working towards fixing the non-standard endianess of the non-MMU m68k readX/writeX functions. Regards Greg m68knommu: updates and fixes for v7.2 . update stmark board support . clock fixes for m5441x ColdFire . base hardware support for DAC block of m5441x ColdFire . select legacy gpiolib interface for mcfqspi . new defconfigs for more ColdFire based boards . unify ColdFire SoC register access
dma-mapping updates for Linux 7.2: - added more checks for DMA attributes in the debug code, especially to ensure that mappings are created and released with matching attributes (Leon Romanovsky) - better default configuration for CMA on NUMA machines (Feng Tang) - little code cleanup in dma benchmark tool (Rosen Penev)
memblock: updates for 7.2-rc1 Small fixes and a cleanup: * numa emulation: fix detection of under-allocated emulated nodes * memblock tests: fix NUMA tests to properly differentiate reserved areas with differnet flags * mm_init: use div64_ul() instead of do_div() to better express the intent of the division
Once more, the changes are dominated by devicetree updates for
64-bit NXP/Freescale and Qualcomm platforms. There are slightly
under 1000 patches this time, almost as much as for 7.1. The
overall diff size is much smaller this time as we have a lot
of simpler patches, only five new SoCs that are all variations
of previously supported ones, and again few large code changes.
The most contributions this time are from:
52 Marek Vasut
35 Krzysztof Kozlowski
30 Chen-Yu Tsai
27 Biju Das
19 Sudeep Holla
18 Linus Walleij
16 Sherry Sun
16 Cristian Marussi
15 Svyatoslav Ryhel
15 Stefano Radaelli
15 Hugo Villeneuve
15 Cristian Ciocaltea
14 Harshal Dev
14 Abel Vesa
13 Conor Dooley
12 Thierry Reding
12 Konrad Dybcio
12 Josua Mayer
12 Frank Li
11 Tudor Ambarus
11 Ronald Claveau
11 Nishanth Menon
11 Alexander Koskovich
diffstat=0.1
0.4% Documentation/arch/arm/zte/
0.3% Documentation/devicetree/bindings/arm/
0.1% Documentation/devicetree/bindings/clock/
0.1% Documentation/devicetree/bindings/iommu/
0.7% Documentation/devicetree/bindings/memory-controllers/
0.7% Documentation/devicetree/bindings/soc/renesas/
0.1% Documentation/devicetree/bindings/soc/
0.1% Documentation/devicetree/bindings/watchdog/
0.2% Documentation/devicetree/bindings/
3.5% arch/arm/boot/dts/aspeed/
0.6% arch/arm/boot/dts/gemini/
0.1% arch/arm/boot/dts/mediatek/
3.4% arch/arm/boot/dts/nvidia/
2.5% arch/arm/boot/dts/nxp/imx/
0.3% arch/arm/boot/dts/renesas/
0.6% arch/arm/boot/dts/st/
0.2% arch/arm/boot/dts/zte/
0.1% arch/arm/boot/dts/
1.1% arch/arm/
0.1% arch/arm64/boot/dts/allwinner/
1.2% arch/arm64/boot/dts/amlogic/
3.0% arch/arm64/boot/dts/apple/
3.3% arch/arm64/boot/dts/aspeed/
0.1% arch/arm64/boot/dts/cix/
21.1% arch/arm64/boot/dts/freescale/
0.1% arch/arm64/boot/dts/intel/
0.9% arch/arm64/boot/dts/mediatek/
0.1% arch/arm64/boot/dts/nuvoton/
0.1% arch/arm64/boot/dts/nvidia/
17.1% arch/arm64/boot/dts/qcom/
5.7% arch/arm64/boot/dts/renesas/
3.1% arch/arm64/boot/dts/rockchip/
4.0% arch/arm64/boot/dts/ti/
0.2% arch/arm64/boot/dts/
0.3% arch/arm64/configs/
0.3% arch/riscv/boot/dts/microchip/
0.5% arch/riscv/boot/dts/sophgo/
3.0% arch/riscv/boot/dts/spacemit/
0.1% arch/riscv/boot/dts/starfive/
0.1% arch/riscv/boot/dts/tenstorrent/
0.1% arch/riscv/boot/dts/thead/
0.4% drivers/bus/fsl-mc/
0.2% drivers/clk/
0.4% drivers/firmware/arm_ffa/
0.1% drivers/firmware/arm_scmi/transports/
0.1% drivers/firmware/arm_scmi/vendors/imx/
1.3% drivers/firmware/arm_scmi/
0.1% drivers/firmware/imx/
1.0% drivers/firmware/samsung/
0.5% drivers/firmware/
0.1% drivers/gpu/drm/
0.3% drivers/irqchip/
5.1% drivers/memory/tegra/
0.1% drivers/soc/bcm/brcmstb/
1.6% drivers/soc/qcom/
0.8% drivers/soc/renesas/
0.2% drivers/soc/sunxi/
0.9% drivers/soc/tegra/
0.5% drivers/soc/ti/
0.1% drivers/soc/
0.1% drivers/tee/amdtee/
0.7% drivers/tee/optee/
0.1% drivers/tee/
0.3% drivers/
0.4% include/dt-bindings/clock/
1.0% include/dt-bindings/memory/
0.5% include/dt-bindings/reset/
0.1% include/dt-bindings/
0.2% include/linux/soc/qcom/
0.3% include/linux/
0.1% include/soc/
843 files changed, 56647 insertions(+), 6762 deletions(-)
git shortlog --first-parent
tracing latency updates for 7.2: - Dump the stack to the buffer on timerlat uret threashold event Record the stack trace in the buffer for THREAD_URET as well as THREAD_CONTEXT when the threshold is hit. Otherwise, if the threshold was not hit at task wakeup, but was at task return, it will not produce a stack trace making it harder to debug. - Have osnoise trace prints print to all buffers The osnoise tracer is allowed to print to the main buffer. Add a osnoise_print() helper function and use trace_array_vprintk() to print osnoise output. trace-latency-v7.2
This pull request contains fixes of syzbot reported issue and various small fixes in NILFS2 functionality. Deepanshu Kartikey has fixed syzbot reported issue of a hung task in nilfs_transaction_begin(). The root cause is that user-supplied segment numbers are not validated before nilfs_clean_segments() begins doing work; the range check on each segnum is performed deep inside the call chain by nilfs_sufile_updatev(), which emits a nilfs_warn() per invalid entry while still holding the segctor lock and the sufile mi_sem. Fix it by validating the contents of kbufs[4] in nilfs_clean_segments() immediately after acquiring ns_segctor_sem via nilfs_transaction_lock(). Hongling Zeng has fixed a smatch warning in nilfs_mkdir() warn. The patch corrects a semantic issue related to the use of the ERR_PTR macro that arose from a recent VFS change. Shuangpeng Bai has fixed a backing_dev_info reference leak. The setup_bdev_super() already initializes sb->s_bdev and takes a reference on the block device backing_dev_info when assigning sb- >s_bdi. nilfs_fill_super() takes another reference to the same backing_dev_info and stores it in sb->s_bdi again. The extra reference is not paired with a matching bdi_put(), since generic_shutdown_super() releases sb->s_bdi only once. Drop the redundant bdi_get() in nilfs_fill_super(). The single reference taken by setup_bdev_super() is enough and is released during superblock shutdown. nilfs2 updates for v7.2 - nilfs2: Fix return in nilfs_mkdir - nilfs2: fix backing_dev_info reference leak - nilfs2: reject CLEAN_SEGMENTS ioctl with out-of-range segment numbers
This pull request contains several fixes in HFS/HFS+ of syzbot reported issues and HFS//HFS+ fixes of xfstests failures. Edward Adam Davis has fixed a null-ptr-deref issue reported by syzbot in hfsplus_create_attributes_file() for the case if the attributes file is not loaded during system mount. Also, it was added b-tree node size check in hfs_btree_open() with the goal to prevent an uninit-value bug reported by syzbot for the case of corrupted HFS+ image. Rosen Penev suggested a nice fix in __hfs_bnode_create() by using kzalloc_flex() instead of kzalloc(). Tristan Madani suggested really useful fix in hfs_bnode_read(). hfs_bnode_read() can return early without writing to the output buffer when is_bnode_offset_valid() fails or when check_and_correct_requested_ length() corrects the length to zero. Callers such as hfs_bnode_read_ u16() and hfs_bnode_read_u8() pass stack-allocated buffers and use the result unconditionally, leading to KMSAN uninit-value reports. The rest patches suggest teh fixes: (1) generic/637, generic/729 issue for the case of HFS+ file system, (2) generic/003, generic/637 for the case of HFS file system. hfs/hfsplus updates for v7.2 - hfs: rework hfsplus_readdir() logic - hfs: disable the updating of file access times (atime) - hfs: fix incorrect inode ID assignment in hfs_new_inode() - hfsplus: rework hfsplus_readdir() logic - hfs/hfsplus: zero-initialize buffer in hfs_bnode_read - hfs/hfsplus: fix u32 overflow in check_and_correct_requested_length - hfsplus: Add a sanity check for btree node size - hfsplus: fix issue of direct writes beyond end-of-file - hfs/hfxplus: use kzalloc_flex() - hfsplus: Remove the duplicate attr inode dirty marking action
Probes updates for v7.2
- eprobes: BTF support for dereferencing pointers
. tracing/eprobes: Allow use of BTF names to dereference pointers. Add syntax
to the parsing of eprobes to typecast structure pointer trace event fields,
enabling BTF-based dereferencing instead of relying on manual offsets.
- probes: Improvements and robustness enhancements
. tracing: Use flexible array for entry fetch code. Store probe entry fetch
instructions in the probe_entry_arg allocation via a flexible array
member to simplify memory allocation and lifetime management.
. tracing: Replace BUG_ON with lockdep_assert_held in uprobe_buffer functions.
Replace BUG_ON() calls with lockdep_assert_held() in uprobe buffer
enable/disable paths to prevent kernel crashes and better verify lock ownership.
. tracing/probes: Ensure the uprobe buffer size is bigger than event size.
Add a BUILD_BUG_ON() assertion to guarantee that the per-CPU uprobe
working buffer size is always larger than the maximum probe event size.
probes-v7.2
Bootconfig updates for v7.2
- bootconfig: Render kernel subtree as cmdline string at build time
. bootconfig: move xbc_snprint_cmdline() to lib/bootconfig.c. Move the
xbc_snprint_cmdline() function and its buffer from main.c to the shared
lib/bootconfig.c parser library so it can be reused by userspace tools.
. tools/bootconfig: render kernel.* subtree as cmdline string with -C. Add a
new -C option to print the kernel.* subtree as a flat command-line string
at build time, allowing early parameter injection without runtime parsing.
bootconfig-v7.2
sched_ext: Changes for v7.2
This depends on the BPF arena work in bpf-next and should be pulled after
it. for-7.1-fixes was merged in a few times to avoid conflicts with the
feature changes.
- Most of this continues the in-development sub-scheduler support, which
lets a root BPF scheduler delegate to nested sub-schedulers. The
dispatch-path building blocks landed in 7.1. A follow-up patchset in
development will complete enqueue-path support for hierarchical
scheduling. This cycle adds most of that infrastructure:
- Topological CPU IDs (cids): a dense, topology-ordered CPU numbering
where the CPUs of a core, LLC, or NUMA node form contiguous ranges,
so a topology unit becomes a (start, length) slice. Raw CPU numbers
are sparse and don't track topological closeness, which makes them
clumsy for sharding work across sub-schedulers and awkward in BPF.
- cmask: bitmaps windowed over a slice of cid space, so a sub-scheduler
can track, for example, the idle cids of its shard without a full
NR_CPUS cpumask.
- A struct_ops variant that cid-form sub-schedulers register with,
along with the cid-form kfuncs they call.
- BPF arena integration, which sub-scheduler support is built on. The
bpf-next additions let the kernel read and write the BPF scheduler's
arena directly, turning it into a real kernel/BPF shared-memory
channel. Shared state like the per-CPU cmask now lives there.
- scx_qmap is reworked to exercise the new arena and cid interfaces.
- Exit-dump improvements: dump the faulting CPU first, expose the exit
CPU to BPF and userspace, and normalize the dump header.
- Misc kfuncs and cleanups: a task-ID lookup kfunc, __printf checking on
the error and dump formatters, header reorganization, and assorted
fixes.
VFIO updates for v7.2-rc1 - Fix out-of-tree vfio selftest builds with make O=. (Jason Gunthorpe) - Allow vfio selftests to build when ARCH=x86 is used for 64-bit x86 builds. (David Matlack) - Tighten vfio selftest infrastructure with stricter builds, safer path handling, sysfs helpers, and reusable device/VF-token setup. Build on that to add the SR-IOV UAPI selftest across supported IOMMU modes. (Raghavendra Rao Ananta) - Conclude earlier vfio PCI BAR work already taken as v7.1 fixes by replacing vfio_pci_core_setup_barmap() and direct barmap[] access with vfio_pci_core_get_iomap(). Fix resulting sparse warnings. (Matt Evans) - Simplify hisi_acc vfio-pci variant driver device-info reads by using the mailbox's new direct command-based read helper. (Weili Qian) - Avoid duplicate reset handling in the Xe vfio-pci variant driver reset-done path. (GuoHan Zhao) - Resolve a lockdep circular dependency splat by tracking active VFs with a private sriov_active flag rather than calling pci_num_vf() under memory_lock. (Raghavendra Rao Ananta) - Add CXL DVSEC-based readiness polling for Blackwell-Next in the nvgrace-gpu vfio-pci variant driver, including interruptible, lockless waits to support worst case spec defined timeouts. (Ankit Agrawal) - Prevent vfio_mig_get_next_state() from spinning forever on blocked migration state transition. (Junrui Luo) - Fix a qat vfio variant driver migration resume race by taking the migration file lock before boundary checks. (Giovanni Cabiddu) - Add explicit dependencies between vfio selftest output object files and output directories to ensure directories are always created. (David Matlack)
Things have calmed down a bit on the docs front, with no earthshaking changes this time around: - Ongoing work on the Japanese and Portuguese translations. - Better integration of the MAINTAINERS file into the rendered documents, including a search interface. - A seemingly infinite supply of fixes for typos, minor grammatical issues, and related problems that LLMs find with abandon. Expect a minor conflict with the kbuild tree on the Portuguese version of changes.rst.
cgroup: Changes for v7.2 - Last cycle deferred css teardown on cgroup removal until the cgroup depopulated, so a css is not taken offline while tasks can still reference it. Disabling a controller through cgroup.subtree_control still had the same problem. This reworks the deferral from per-cgroup to per-css so that path is covered too. - New RDMA controller monitoring files: rdma.peak for per-device peak usage and rdma.events / rdma.events.local for resource-limit exhaustion. The max-limit parser was rewritten, fixing two input parsing bugs. - cpuset: fix a sched-domain leak on the domain-rebuild failure path and skip a redundant hardwall ancestor scan on v2. - Misc: pair the remaining lockless cgroup.max.* reads with WRITE_ONCE, assorted selftest robustness fixes, and doc path corrections.
workqueue: Changes for v7.2 - Continued progress toward making alloc_workqueue() unbound by default: more callers converted to WQ_PERCPU / system_percpu_wq / system_dfl_wq, and new warnings for queues that use neither WQ_PERCPU nor WQ_UNBOUND or the legacy system_wq / system_unbound_wq. - Misc: drop the now-trivial apply_wqattrs_lock()/unlock() wrappers, forbid the TEST_WORKQUEUE benchmark from being built-in, and fix a spurious pointer level in the worker debug-dump path.
Hi, please pull the following updates. The noticeable change is to enable large folios by default, it's been in testing for a few releases. Related to that is huge folio support (still under experimental config). Otherwise a few ioctl updates, performance improvements and usual fixes and core changes. Thanks. User visible changes: - enable large folios by default, added in 6.17 (under experimental build), no feature limitations, a big change internally - new ioctl to return raw checksums to userspace (a bit tricky given compression and tail extents), can be used for mkfs and deduplication optimizations - provide stable UUID for e.g. overlayfs and temp_fsid, also reflected in statvfs() field f_fsid, internal dev_t is hashed in to allow cloning - add 32bit compat version of GET_SUBVOL_INFO ioctl - in experimental build, support huge folios (up to 2M) Performance related improvements/changes: - limit bio size to the estimated optimum derived from the queue, this prevents build up of too much data for writeback, which could cause latency spikes (reported improvement 15% on sequential writes) - don't force direct IO to be serialized, forgotten change during mount API port, brings back +60% of throughput - lockless calculation of number of shrinkable extent maps, improve performance with many memcg allocated objects Notable fixes: - in zoned mode, fix a deadlock due to zone reclaim and relocation when space needs to be flushed - don't trim device which is internally not tracked as writeable (e.g. when missing device is being rescanned) - fix deadlock when cloning inline extent and mounted with flushoncommit - fix false IO failures after direct IO falls back to buffered write in some cases Core: - remove COW fixup mechanism completely; detect and fix changes to pages outside of filesystem tracking, guaranteed since 5.8, grace period is over - remove 2K block size support, experimental to test subpage code on x86_64 but now it would block folio changes - tree-checker improvements of: - free-space cache and tree items - root reference and backref items - extent state exceptions in reloc tree - subpage mode updates: - code optimizations, simplify tracking bitmaps - re-enable readahead of compressed extent - extend bitmap size to cover huge folios - add tracepoints related to sync, tree-log and transactions - device stats item tracking unification, remove item if there are no stats recorded, also don't leave stale stats on replaced device - allow extent buffer pages to be allocated as movable, to help page migration - added checks for proper extent buffer release - btrfs.ko code size reduction due to transaction abort call simplifications - several struct size reductions - more auto free conversions - more verbose assertions
coming after the BPF tree lands, as it contains the removal of the last use of "strncpy" in the kernel, at which point I'll send a PR for this tree which removes all the strncpy implementations: Thanks! -Kees hardening updates for v7.2-rc1 - lkdtm: Add case to provoke a crash in EFI runtime services (Ard Biesheuvel) - lkdtm: add PPC_RADIX_TLBIEL test and missed isync (Sayali Patil) - stddef: Document designated initializer semantics for __TRAILING_OVERLAP() (Gustavo A. R. Silva) - strarray: drop redundant allocation, add __counted_by_ptr (Thorsten Blum)
RTLA patches for v7.2 - Fix discrepancy in --dump-tasks option Due to a mistake, rtla-timerlat-hist used the CLI syntax "--dump-task" instead of the documented "--dump-tasks". Change the option to match both documentation and the other timerlat tool, rtla-timerlat-top. - Extend coverage of runtime tests Cover both top and hist tools in all applicable test cases, add tests for a few uncovered options, and extend checks for some existing tests. - Add unit tests for actions rtla's actions feature is implemented in its source file and contains non-trivial parsing logic. Cover it with unit tests. - Stop record trace on interrupt Fix a bug where an interval exists after receiving a signal in which the main instance is stopped but the record instance is not, leading to discrepancies in reported results and sometimes rtla hanging. - Restore continue flag in actions_perform() Fix a bug where rtla always continues tracing after hitting a threshold even if the continue action was triggered just once, and add tests verifying that the flag is reset properly. - Migrate command line interface to libsubcmd Replace rtla's argument parsing using getopt_long() with libsubcmd, used by perf and objtool, to reuse existing code and auto-generate better help messages. Extensive unit tests are included to detect regressions. - Add -A/--aligned option to timerlat tools Add an option to align timerlat threads, based on the recently introduced TIMERLAT_ALIGN option of the timerlat tracer, together with unit tests and documentation. - Document tests in README Document how to run unit and runtime tests in rtla's README.txt, including the dependencies needed to run them. trace-tools-v7.2
These are the usual random pile, with the one exception of moving Rick over to be a TDX maintainer. Rick has been doing a great job with TDX contributions, especially on the host side of things. It's time to promote him to "M". -- * Move Rick Edgecombe to TDX maintainer * Remove unused header * Ensure printf() validation in all configs
fixup, followed by an actual bug fix. The bug fix is slightly new territory for us. It fixes a real regression, but it is from ~6.18 not a _new_ regression. It was mostly only biting folks doing hotplug memory testing. So, it was queued in here and held for the merge window instead of going via x86/urgent. We _think_ holding on to things like this is what you asked for in the 7.1-rc5 announcement. Please holler if this isn't what you were hoping for. -- * Fix freeing of PMD-sized vmemmap pages * Update comment about pgd_list
and some changes that should allow TDX and kexec to coexist nicely. The biggest change, however, is support for updating the TDX module after boot, just like CPU microcode. TDX users really want this because it lets them do security updates without tearing things down and rebooting. The commits here are younger than normal: ~2 weeks old. I botched some of the Link: tags when applying and did not fix it up until 2 weeks ago. All the content except the Documentation patch on the end is much more mature than 2 weeks. -- * Add TDX module update support * Make kexec and TDX finally place nice together * Put TDX error codes into a single header
Hi Linus, Several fixes and improvements to resctrl test and a change to kselftest document to clarify the use of FORCE_TARGETS build variable. diff is attached. thanks, -- Shuah linux_kselftest-next-7.2-rc1 Several fixes and improvements to resctrl test and a change to kselftest document to clarify the use of FORCE_TARGETS build variable.
please pull the x86/sev lineup for v7.2-rc1. Thx. --- - Remove redundant GHCB initialization guards in the SEV page state and SVSM call paths now that the GHCB helpers handle early-boot fallback internally - Skip SNP initialization in the CCP driver immediately when the preparation step fails rather than proceeding to an operation that will certainly fail - Abort SNP preparation and return an error when not all CPUs are online, since the firmware enforces that every CPU enables SNP and will fail init if not - Simplify the VMM communication exception entry path by replacing separate kernel and user mode macros with a single handler that dispatches based on the current privilege level
- Drop the last architecture-specific implementation of MD5 - Mark clmul32() as noinline_for_stack to improve codegen in some cases
Accelerate CRC64-NVME for 32-bit ARM by refactoring the arm64 NEON intrinsics implementation to be shared by 32-bit and 64-bit. Also apply a similar cleanup to the 32-bit ARM NEON implementation of xor_gen(), where it now reuses code from the 64-bit implementation.
please pull the x86/microcode lineup for v7.2-rc1. This'll conflict with urgent changes I sent to you during the stabilization phase so I'm adding a merge conflict resolution below JFYI. Thx. --- - Move the zero-revision fixup for AMD microcode to the patch level retrieval function and restrict it to Zen family processors, ensuring patch level arithmetic always operates on a valid revision - Fix an incorrect comment about which CPUID bit is checked when determining whether the microcode loader should be disabled - Add the latest Intel microcode revision data for a broad range of processor models and steppings and add the script which generates the header of minimum expected Intel microcode revisions
spi: Updates for v7.2 This has been quite a busy release, mainly due to the subsystem wide work Johan Hovold has done to modernise resource allocation for the subsystem on probe, the subsystem did some very clever allocation management pre devm which didn't quite mesh comfortably with managed allocations and made it far too easy to introduce error handling and removal bugs. - Cleanup and simplification of controller struct allocation, moving everything over to devm and making the devm APIs more robust, from Johan Hovold - Support for spi-mem devices that don't assert chip select and support for a secondary read command for memory mapped flashes, some commits for this are shared with mtd. - Support for SpacemiT K1. There will be a simple add/add conflict with the i2c-host tree in the x86 quirk data in drivers/acpi/acpi_apd.c.
regulator: Updates for v7.2 The development of the regulator subsystem continues to be quite quiet, we've got several new devices, removal of one old device and some kernel wide cleanup of platform devices but nothing in the core. - Cleanups of platform_device_id usage. - Filling out and fixing of the description of the MediaTek MT6359 - Removal of the PCAP regulator driver, the MFD has been removed. - New device support for Qualcomm Nord RPMH, PM8109, PM8150 and PMAU0102, and SG Micro SGM3804.
regmap: Update for v7.2 This time around we just have a single fix for a sparse warning.
Hi, this is a late pull request so no problem if it misses this window. It is just a single patch for the WiFi driver on the TH1520-based LPi4a. I recently setup new branches for riscv defconfig patches and they have been added to linux-next. I talked with Conor and this seemed like a good way to pull in defconfig patches that RISC-V SoCs need without adding more to the plate of the arch maintainer (Paul). Thanks, Drew RISC-V defconfig changes for 7.2 Enable PCA953X GPIO driver to properly probe Wifi pwrseq driver on the Sipeed Lichee Pi 4a board which is based on the T-HEAD TH1520 SoC.
Hi Linus, Fixes to tool and kunit core and new features to both to support JUnit XML (primitive) and backtrace suppression API: - bug/kunit: Core support for suppressing warning backtraces - kunit: tool: Parse and print the reason tests are skipped - kunit: tool: Add (primitive) support for outputting JUnit XML - kunit:tool: Don't write to stdout when it should be disabled - kunit: Add backtrace suppression self-tests - drm: Suppress intentional warning backtraces in scaling unit tests - kunit: Add documentation for warning backtrace suppression API - kunit: Fix spelling mistakes in comments and messages - gen_compile_commands: Ignore libgcc.a - kunit: qemu_configs: Add or1k / openrisc configuration Please not that this update touches kernel/panic.c and lib/bug.c in backtrace suppression patches. diff is attached. thanks, -- Shuah linux_kselftest-kunit-7.2-rc1 Fixes to tool and kunit core and new features to both to support JUnit XML (primitive) and backtrace suppression API: - bug/kunit: Core support for suppressing warning backtraces - kunit: tool: Parse and print the reason tests are skipped - kunit: tool: Add (primitive) support for outputting JUnit XML - kunit:tool: Don't write to stdout when it should be disabled - kunit: Add backtrace suppression self-tests - drm: Suppress intentional warning backtraces in scaling unit tests - kunit: Add documentation for warning backtrace suppression API - kunit: Fix spelling mistakes in comments and messages - gen_compile_commands: Ignore libgcc.a - kunit: qemu_configs: Add or1k / openrisc configuration
Thanks, Guenter ------ hwmon updates for v7.2 * New drivers for the following chips - Analog Devices LTC4283 Swap Controller - Analog Devices MAX20830 - Analog Devices MAX20860A - ARCTIC Fan Controller - Delta E50SN12051 - Luxshare LX1308 - Microchip EMC1812/13/14/15/33 - Monolithic MP2985 - Murata D1U74T PSU * New chip support added to existing drivers - asus-ec-sensors: Support for ROG MAXIMUS Z790 EXTREME, ROG STRIX B850-E GAMING WIFI, and ROG STRIX B650E-E GAMING WIFI - dell-smm: Add Dell Latitude 7530 to fan control whitelist - nct6683: Support for ASRock Z890 Pro-A - pmbus: Support for Flex BMR316, BMR321, BMR350 and BMR351 - pmbus/max34440: Support for ADPM12250 - pmbus/xdp720: Support for Infineon xdp730, and fix driver issues reported by Sashiko * New functionality - Add support for update_interval_us chip attribute, and support it in ina238 driver - Add support for guard() and scoped_guard() for subsystem locks, and use it in adt7411, ina2xx, and lm90 drivers - emc2305: Support configurable fan PWM at shutdown - lm63: Expose PWM frequency and LUT hysteresis as writable - lm75: Support active-high alert polarity - nct7802: Add time step attributes for tweaking responsiveness - pmbus/adm1266: Add rtc debugfs entries for rtc, powerup_counter, clear_blackbox, and firmware_revision - raspberrypi: Fix delayed-work teardown race, add voltage input support as well as voltage domain IDs mcp9982: Add support for reporting external diode faults * Miscellaneous bug fixes, changes and improvements - Use named initializers for platform_device_id arrays and i2c_device_data, and remove unused driver data - Various drivers: Move MODULE_DEVICE_TABLE next to the table itself - ads7871: Convert to hwmon_device_register_with_info(), and use DMA-safe buffer for SPI writes - adt7411: document supported sysfs attributes - adt7462: Add of_match_table to support devicetree - adt7475: Add explicit header include - coretemp; Fix outdated documentation, coding style issues, and replace hardcoded core count with dynamic value - cros_ec: Drop unused assignment of platform_device_id driver data - emc2305: Fix fan channel index handling - gpd-fan: Reject EC PWM value 0 as invalid, fix race condition between device removal and sysfs access, upgrade log level from warn to err for platform device creation failure, initialize EC before registering hwmon device, drop global driver data and use per-device allocation - htu31: document debugfs serial_number - ina238: Add support for samples and update_interval - it87: Clamp negative values to zero in set_fan() - lm75: Add explicit header include, Add explicit default cases in lm75_is_visible(), and add section for sysfs interface to documentation - pmbus/lm25066: Fix PMBus coefficients for LM5064/5066/5066i - tmp102: Use device_property_read_string API - tmp401: Read "ti,n-factor" as signed - Convert zyxel,nsa320-mcu to DT schema
Modules changes for v7.2-rc1 - Add a missing return value check for module_extend_max_pages() to prevent a kernel oops on memory allocation failure. - Force sh_addr to 0 for architecture-specific module sections on arm, arm64, m68k, and riscv. This prevents non-zero section addresses when linking modules with ld.bfd -r, which may cause tools to misbehave and result in worse compressibility. - Replace pr_warn! with pr_warn_once! for set_param null pointer warnings in Rust abstractions, now that the _once variant is available. Note that as part of our maintainer rotation, Petr Pavlu will be taking over module subsystem pull requests for the next six months. Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
please pull the x86 resource control lineup for v7.2-rc1. Thx. --- Preparatory work for MPAM counter assignment: - Simplify the error handling path when creating monitor group event configuration directories - Make the MBM event filter configurable only on architectures that support it and expose this with the respective file modes in the event config - Disallow the MBA software controller on systems where MBM counters are assignable, as it requires continuous bandwidth measurement that assignable counters do not guarantee - Replace a compile-time Kconfig option for fixed counter assignment with a per-architecture runtime property, and expose whether the counter assignment mode is changeable to userspace - Continue counter allocation across all domains instead of aborting at the first failure - Document that automatic MBM counter assignment is best effort and may not assign counters to all domains - Document the behavior of task ID 0 and idle tasks in the resctrl tasks file
Thanks, Guenter ------ watchdog updates and fixes for v7.2 * subsystem - Unregister PM notifier on watchdog unregister - Various documentation fixes and improvements * Removed drivers - Remove AMD Elan SC520 processor watchdog driver - Drop SMARC-sAM67 support - Remove driver for integrated WDT of ZFx86 486-based SoC * New drivers - Driver for Andes ATCWDT200 - Driver for Gunyah Watchdog * Added support to existing drivers - Add "apple,t8103-wdt" and "apple,t8122-wdt" compatibles to Apple watchdog driver - Add rockchip,rk3528-wdt and rockchip,rv1103b-wdt to snps,dw-wdt.yaml - Document IPQ9650, IPQ5210, Shikra, Nord, and Hawi in qcom-wdt.yaml Also document sram property and add support to get the bootstatus to qcom wdt driver - lenovo_se10_wdt: Fix use-after-rfree and add support for SE10 Gen 2 platform - ti,rti-wdt: Add ti,am62l-rti-wdt compatible - renesas: Document RZ/G3L support and rework example for renesas,r9a09g057-wdt * Other bug fixes and improvements - Use named initializers (sc1200, ziirave_wdt) - Allow pic32-dmt and pic32-wdt to be built with COMPILE_TEST - realtek-otto: enable clock before using I/O, and prevent PHASE2 underflows - rti_wdt: Add reaction control - renesas,rzn1-wdt: Drop interrupt support and other cleanup - gpio_wdt: Add ACPI support - imx7ulp_wdt: Keep WDOG running until A55 enters WFI on i.MX94 - sprd_wdt: Remove redundant sprd_wdt_disable() on register failure - bcm2835_wdt: Switch to new sys-off handler API - sama5d4_wdt: Fix WDDIS detection on SAM9X60 and SAMA7G5 - hpwdt: Refine hpwdt message for UV platform - Convert TS-4800 bindings to DT schema - menz069_wdt: drop unneeded MODULE_ALIAS - sp5100_tco: Use EFCH MMIO for newer Hygon FCH
Here's the pull-request with updates for MMC and MEMSTICK for v7.2. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson MMC core: - Validate host's max_segs to fail gracefully MMC host: - davinci: Avoid potential NULL dereference in the IRQ handler - davinci: Call mmc_add_host() in the correct order during probe - dw_mmc-exynos: Increase DMA threshold for exynos7870 - renesas_sdhi: Add support for RZ/G2E, RZ/G2N and R-Car M3Le variants - sdhci-msm: Add support for Hawi, Eliza and Shikra variants - sdhci-of-k1: Add support for SD UHS-I modes - sdhci-of-k1: Add support for tuning for eMMC HS200 and SD UHS-I
please pull s390 updates for 7.2 merge window. Thanks, Alexander Gordeev s390 updates for 7.2 merge window - Use CIO device online variable instead of the internal FSM state to determine device availability during purge operations - Remove extra check of task_stack_page() because try_get_task_stack() already takes care of that when reading /proc/<pid>/wchan - Allow user-space to use the new SCLP action qualifier 4 for to provide NVMe SMART log data to the platform. - Send AP CHANGE uevents on successful bind and successful association to notify user-space about SE operations on AP queue devices - Add an s390dbf kernel parameter to configure debug log levels and area sizes during early boot - On arm64 the empty zero page is going to be mapped read-only. Do the same for s390 with an explicit set_memory_ro() call - Improve s390-specific bcr_serialize() and cpu_relax() implementations - Remove all unused variables to avoid allmodconfig W=1 build fails with latest clang-23 - Cleanup default Kconfig values for s390 selftests - Add a s390-tod trace clock to allow comparing trace timestamps between different systems or virtual machines on s390 - Remove the s390 implementation of strlcat() in favor of the generic variant - Make consistent the calling order between page_table_check_pte_clear() and secure page conversion across all code paths - Rearrange some fields within AP and zcrypt structs to reduce memory consumption and unused holes - Shorten GR_NUM and VX_NUM macros and move them to a separate header - Replace __get_free_page() with kmalloc() in few sources - Introduce an infrastructure for more efficient this_cpu operations. Eliminate conditional branches when PREEMPT_NONE is removed - Enable Rust support - Use z10 as minimum architecture level, similar to the boot code, to enforce a defined architecture level set - Improve and convert various mem*() helper functions to C. For that add .noinstr.text section to avoid orphaned warnings from the linker - Fix the function pointer type in __ret_from_fork() to correct the indirect call to match kernel thread return type of int - Revert support for DCACHE_WORD_ACCESS to avoid an endless exception loop on read from donated Ultravisor pages at unaligned addresses
this is my first pull request sent to you, and I hope I have learned enough from Wolfram over the years not to make a mess of things. The branch is still called "i2c-host"; for the next cycle I will rename it to simply "i2c". This pull request is mostly made of cleanups and small infrastructure improvements across the I2C core, drivers and bindings. It also adds support for three drivers and a few new compatibles. This is only part 1 of the pull request. I am planning a second one for the middle of the merge window with a few fixes, some patches with dependencies that have been tested anyway and a handful of small outstanding changes. Thank you, Andi i2c for v7.2 Two major cleanup across drivers and core code: - use named initializers in device ID tables - replace dev_err() with dev_err_probe() Drivers: - at24: use named initializers for arrays of i2c_device_data - at91: add MCHP_LAN966X_PCI dependency - cadence: add shutdown callback - k1: enable by default on SpacemiT - mxs: improve documentation - qcom-geni: use pm_runtime_force_suspend/resume for system sleep - tegra: - disable fair arbitration on non-MCTP buses - allocate DMA buffers from the correct DMA device - designware: - handle active target shutdown cleanly - add shutdown callbacks for platform and PCI drivers - adopt the new PM_RUNTIME_ACQUIRE() helpers DT bindings: - convert davinci bindings to DT schema Core and muxes: - acpi: report missing I2C resources as -ENOENT - gpiolib: add gpiod_is_single_ended() helper for I2C GPIO users - i2c-mux-reg: add generic firmware node support - a set of 10 patches from Johan Hovold fixing adapter registration races, cleanup paths and resource management issues New support: - DesignWare LECA0003 (ACPI ID) - Loongson LS2K0300 I2C controller (new driver) - Qualcomm CCI Glymur and Shikra compatibles
tag, although it feels like the new world of AI tooling has slowed us
down a little on the feature side when compared to the fixes side. The
extra rounds of Sashiko review have also pushed a few things out until
next time.
Still, there's some good foundational stuff here for the fpsimd code and
hardening work towards removing the predictable linear alias of the
kernel image.
There's a small conflict with an upstream fix that landed post -rc1 via
the KVM/arm64 tree (837263307489 ("KVM: arm64: Correctly cap ZCR_EL2
provided by a guest hypervisor")). My resolution is below.
Cheers,
Will
arm64 updates for 7.2
CPU errata handling:
- Extend CnP disabling workaround to HiSilicon HIP09 hardware.
- Work around eternally broken broadcast TLB invalidation on more CPUs.
- Documentation and code cleanups.
CPU features:
- Add new hwcaps for the 2025 dpISA extensions.
Floating point / SVE / SME:
- Significant cleanup to the low-level state management code in the core
architecture code and KVM.
- Use correct register widths during SVE/SME save/restore assembly.
- Expose SVE/SME save/restore memory accesses to sanitisers.
Memory management:
- Preparatory work for unmapping the kernel data and bss sections from
the linear map.
Miscellaneous:
- Inline DAIF manipulation helpers so they can be used safely from
non-instrumentable code.
- Fix handling of the 'nosmp' cmdline option to avoid marking secondary
cores as "possible".
MPAM:
- Add support for v0.1 of the MPAM architecture.
Perf:
- Update HiSilicon PMU MAINTAINERS entry.
- Fix event encodings for the DVM node in the CMN driver.
Selftests:
- Extend sigframe tests to cover POE context.
- Add coverage for the newly added 2025 dpISA hwcaps.
System registers:
- Add new registers and ESR encodings for the HDBSS feature.
Plus minor fixes and cleanups across the board.
Hi Arnd and SoC folks, Late pull, on top of previous pull which was accepted. These are two improvements and one fix for UBSAN report introduced back in 2023. Best regards, Krzysztof Memory controller drivers for v7.2, part two A few improvements for Tegra Memory Controller drivers, including one fix for UBSAN report for an older commit.
m68k updates for v7.2 - Replace more deprecated functions by safer counterparts, - Switch Mac NuBus to a dynamic root device, - Defconfig updates, - Miscellaneous fixes and improvements. Thanks for pulling!
please pull the latest slab updates from: One conflict was reported with the drm tree. The kmem_cache_alloc_bulk() call we adjust has moved to a different function there: https://lore.kernel.org/all/ahoZ7OCzxTAbGMtO@sirena.org.uk/ Thanks, Vlastimil - Support for "allocation tokens" (currently available in Clang 22+) for smarter partitioning of kmalloc caches based on the allocated object type, which can be enabled instead of the "random" per-caller-address-hash partitioning. It should be able to deterministically separate types containing a pointer from those that do not. (Marco Elver) - Improvements and simplification of the kmem_cache_alloc_bulk() and mempool_alloc_bulk() API. This includes adaptation of callers. (Christoph Hellwig) - Performance improvements and cleanups related mostly to sheaves refill. (Hao Li, Shengming Hu, Vlastimil Babka) - Several fixups for the slabinfo tool. (Xuewen Wang) slab changes for 7.2
tree for the next cycle. For this merge window we have a set extensions to the M.2 pwrseq driver allowing it to work with more cards than just the one from Qualcomm we supported initially. There's also a tweak to debugfs output and a new function that will be used by a bluetooth driver in the next cycle. Thanks, Bartosz power sequencing updates for v7.2-rc1 Power Sequencing core: - Add a helper allowing consumers to access the struct device object associated with a pwrseq provider - Print the power sequencing device's parent in debugfs to add more debugging information Driver updates: - Extend/rework the M.2 power sequencing driver in order to allow it to support more M.2 cards, not just WCN7850
Here's the main GPIO pull-request for this merge window. There's one new driver, one legacy driver removed, a kunit test-suite for the GPIO core, support for new models in existing drivers and a slew of various changes in many places though I can't think of anything controversial that would stand out - it's been a relatively calm cycle. There are some changes in arch/ that were Acked by the relevant maintainers. The merges you see are either immutable branches I provided to others or merging of changes from the MFD tree. Details are in the signed tag as usual. Please consider pulling. Thanks, Bartosz gpio updates for v7.2-rc1 GPIO core: - Add an initial set of kunit test cases for the GPIO subsystem - Use the devres owner as the GPIO chip's parent in absence of any other parent - Fix const-correctness of GPIO chip SRCU guards - Provide new GPIO consumer interfaces: gpiod_is_single_ended() and fwnode_gpiod_get() - Quarantine all legacy GPIO APIs in linux/gpio/legacy.h - Use __ro_after_init where applicable New drivers: - Add driver for the GPIO controller on Waveshare DSI TOUCH panels Removed drivers: - Remove the obsolete ts5500 GPIO driver Driver updates: - Modernize gpio-timberdale: remove platform data support and use generic device property accessors - Extend test build coverage by enabling COMPILE_TEST for more GPIO drivers - Add some missing dependencies in Kconfig - Add support for sparse fixed direction to gpio-regmap - Remove dead code from gpio-nomadik - use BIT() in gpio-mxc - use bitmap_complement() in gpio-xilinx and gpio-pca953x - Use more appropriate printing functions where applicable - Use named initializers for platform_device_id and i2c_device_id arrays - Convert gpio-altera to using the generic GPIO chip helper library - Add support for new models to gpio-dwapb, gpio-zynq, gpio-usbio and gpio-tegra186 - Unify the naming convention for Qualcomm in GPIO drivers - Fix interrupt bank mapping to GPIO chips in gpio-mt7621 - Add support for the lines-initial-states property to gpio-74x164 - Switch to using dynamic GPIO base in gpio-ixp4xx - Move the handling of an OF quirk from ASoC to gpiolib-of.c where other such quirks live - Use handle_bad_irq() in gpio-ep93xx - Some other minor tweaks and refactorings Devicetree bindings: - Document the Waveshare GPIO controller for DSI TOUCH panels - Document new models: Tegra238 in gpio-tegra186 and EIO GPIO in gpio-zynq - Add new properties for gpio-dwapb and fairchild,74hc595 - Fix whitespace issues - Sort compatibles alphabetically in gpio-zynq Documentation: - Fix kerneldoc warnings in gpio-realtek-otto Misc: - Attach software nodes representing GPIO chips to the actual struct device objects associated with them in some legacy platforms enabling real firmware node lookup instead of string matching - Drop unneeded dependencies on OF_GPIO from bus and staging drivers
Subject: [GIT PULL] pwm: Changes for 7.2-rc1 MIME-Version: 1.0 Hello Linus, the following changes since commit 254f49634ee16a731174d2ae34bc50bd5f45e731: Linux 7.1-rc1 (2026-04-26 14:19:00 -0700) are available in the Git repository at: wm/for-7.2-rc1 for you to fetch changes up to 6f9b73071c15001530e6697491b6db1bf639f4c7: pwm: th1520: Remove requirement for mul_u64_u64_div_u64_roundup (2026-06-= 05 14:03:00 +0200) Apart from the topmost patch the changes were in next since end of May, the last patch only for a week without reported issues. The patch stack starts with a few fixes that I considered sending for the last cycle already, but then didn't deem them important enough. Thanks for pulling this tag for 7.2-rc1. Best regards Uwe pwm: Changes for v7.2-rc1 The usual mixture of minor fixes, a few cleanups, a new driver and dt updates for the pwm subsystem. Thanks to Chen Ni, Devi Priya, Manish Baing, Maurice Hieronymus, Ronaldo Nunez, Rosen Penev, Shiji Yang and Yixun Lan for the actual changes and Bjorn Andersson, Conor Dooley, Frank Li, Michal Wilczynski and Rob Herring for reviews and acks.
please pull the edac/updates lineup for v7.2-rc1. Thx. --- - Fix a malformed Kconfig default for the AMD Address Translation Library - Make sure i10nm loads successfully when the ADXL address decoder is abs= ent because former has decoding capabilities too - Ensure error reporting is cleanly disabled on driver teardown and on fa= iled initialization for several legacy Intel EDAC drivers - Fix a grammar issue in a diagnostic warning in the Sandy Bridge driver - Fix a missing resource release callback and incorrect memory topology parsing in the igen6 driver, and add support for Intel Panther Lake-H a= nd Nova Lake-H SoCs - Fix an out-of-bounds shift causing undefined behaviour in the Skylake driver - Consolidate memory controller register access helpers into shared commo= n code across the Intel Skylake, Ice Lake, and Meteor Lake drivers - Introduce sub-channel awareness and Rank Retry Logic improvements to the Intel Skylake and i10nm drivers in preparation for Diamond Rapids server support - Add Rank Retry Logic support for Intel Diamond Rapids server to imh_edac - Make In-Band ECC detection registers configurable per SoC in the igen6 driver - Standardize PCI device ID table definitions across all EDAC drivers to use named field initializers and standard PCI helper macros
This update includes the following changes:
API:
- Drop support for off-CPU cryptography in af_alg.
- Document that af_alg is *always* slower.
- Document the deprecation of af_alg.
- Remove zero-copy support from skcipher and aead in af_alg.
- Cap AEAD AD length to 0x80000000 in af_alg.
- Free default RNG on module exit.
Algorithms:
- Fix vli multiplication carry overflow in ecc.
- Drop unused cipher_null crypto_alg.
- Remove unused variants of drbg.
- Use lib/crypto in drbg.
- Use memcpy_from/to_sglist in authencesn.
- Allow authenc(hmac(sha{256,384}),cts(cbc(aes))) in FIPS mode.
- Disallow RSA PKCS#1 SHA-1 sig algs in FIPS mode.
- Filter out async aead implementations at alloc in krb5.
- Fix non-parallel fallback by rstoring callback in pcrypt.
- Validate poly1305 template argument in chacha20poly1305.
Drivers:
- Add sysfs PCI reset support to qat.
- Add KPT support for GEN6 devices to qat.
- Remove unused character device and ioctls from qat.
- Add support for hw access via SMCC to mtk.
- Remove prng support from crypto4xx.
- Remove prng support from hisi-trng.
- Remove prng support from sun4i-ss.
- Remove prng support from xilinx-trng.
- Remove loongson-rng.
- Remove exynos-rng.
Others:
- Remove support for AIO on sockets.
Hi Linus,
Thanks,
Tzung-Bi
------
chrome-platform-firmware: Updates for v7.2
* Improvements
- Add bound checks when iterating the coreboot table.
- Skip failing entries only instead of aborting the whole device
populate from the coreboot table.
Hi Linus,
Thanks,
Tzung-Bi
------
chrome-platform: Updates for v7.2
* Improvements
- Use named initializers for struct i2c_device_id.
* Fixes
- Fix a probe race between cros_ec_sensorhub and cros_ec_sysfs.
- Check for the presence of ACPI_COMPANION() for drivers converted
from acpi_driver to platform_driver to avoid issues where
device_match_driver_override() might forcibly match the driver to
the device.
- Fix a possible UAF in cros_ec_chardev.
- Prevent build for big-endian systems as CHROME_PLATFORMS drivers are
only running and testing under little-endian systems.
* Cleanups
- Drop some redundant bits in cros_kbd_led_backlight and Kconfig.
This is the next round of the Rust support.
This one is big due to the vendoring of the `zerocopy` library, which
allows us to replace a bunch of `unsafe` code dealing with conversions
between byte sequences and other types with safe alternatives. More
details on that below (and in its merge commit).
No conflicts expected at this time, but linux-next should generally have
the right resolutions.
All commits except 5 have been in linux-next for 3 rounds or more -- the
last ones are trivial but have been just on Friday's round.
I plan to send the new build system support for the upcoming cycle,
which solves the "not parallel Rust building in `prepare`" that you
mentioned (among other things).
I may also have a second, tiny PR later in the merge window with a small
patch to simplify cross-tree development for the next cycle.
Finally, I didn't include it in the log below, since it is going through
the tip tree, but another piece of good news is that we will have one
more `MAINTAINERS` entry: `RUST [SYNC]`.
Cheers,
Miguel
Rust changes for v7.2
Toolchain and infrastructure:
- Introduce support for the 'zerocopy' library [1][2]:
Fast, safe, compile error. Pick two.
Zerocopy makes zero-cost memory manipulation effortless. We write
`unsafe` so you don't have to.
It essentially provides derivable traits (e.g. 'FromBytes') and
macros (e.g. 'transmute!') for safely converting between byte
sequences and other types. Having such support allows us to remove
some 'unsafe' code.
It is among the most downloaded Rust crates and it is also used by
the Rust compiler itself.
It is licensed under "BSD-2-Clause OR Apache-2.0 OR MIT".
The crates are imported essentially as-is (only +2/-3 lines needed
to be adapted), plus SPDX identifiers. Upstream has since added the
SPDX identifiers as well as one of the tweaks at my request, thus
reducing our future diffs on updates -- I keep the details in one of
our usual live lists [3].
In total, it is about ~39k lines added, ~32k without counting
'benches/' which are just for documentation purposes.
The series includes a few Kbuild and rust-analyzer improvements and
an example patch using it in Nova, removing one 'unsafe impl'.
I checked that the codegen of an isolated example function (similar
to the Nova patch on top) is essentially identical. It also turns out
that (for that particular case) the 'zerocopy' version, even with
'debug-assertions' enabled, has no remaining panics, unlike a few in
the current code (since the compiler can prove the remaining
'ub_checks' statically).
So their "fast, safe" does indeed check out -- at least in that case.
Link: https://github.com/google/zerocopy [1]
Link: https://docs.rs/zerocopy [2]
Link: https://github.com/Rust-for-Linux/linux/issues/1239 [3]
- Support AutoFDO. This allows Rust code to be profiled and optimized
based on the profile. Tested with Rust Binder: ~13% slower without
AutoFDO in the binderAddInts benchmark (using an app-launch benchmark
for the profile).
- Support Software Tag-Based KASAN.
In addition, fix KASAN Kconfig by requiring Clang.
- Add Kconfig options for each existing Rust KUnit test suite, such as
'CONFIG_RUST_BITMAP_KUNIT_TEST'. They are placed within a new menu,
'CONFIG_RUST_KUNIT_TESTS', in the new 'rust/kernel/Kconfig.test'
file.
- Support the upcoming Rust 1.98.0 release (expected 2026-08-20): lint
cleanups and an unstable flag rename.
- Disable 'rustdoc' documentation inlining for all prelude items, which
bloats the generated documentation.
- Ignore (in Git) and clean (in Kbuild) the (rarely) 'rustc'-generated
'*.long-type-*.txt' files.
'kernel' crate:
- Add new 'bitfield' module with the 'bitfield!' macro (extracted from
the existing 'register!' one), which declares integer types that are
split into distinct bit fields of arbitrary length.
Each field is a 'Bounded' of the appropriate bit width (ensuring
values are properly validated and avoiding implicit data loss) and
gets several generated getters and setters (infallible, 'const' and
fallible) as well as associated constants ('_MASK', '_SHIFT' and
'_RANGE'). It also supports fields that can be converted from/to
custom types, either fallibly ('?=>') or infallibly ('=>').
For instance:
bitfield! {
struct Rgb(u16) {
15:11 blue;
10:5 green;
4:0 red;
}
}
// Compile-time checks.
let color = Rgb::zeroed().with_const_green::<0x1f>();
assert_eq!(color.green(), 0x1f);
assert_eq!(color.into_raw(), 0x1f << Rgb::GREEN_SHIFT);
Add as well documentation and a test suite for it, as usual; and
update the 'register!' macro to use it.
It will be maintained by Alexandre Courbot (with Yury Norov as
reviewer) under a new 'MAINTAINERS' entry: 'RUST [BITFIELD]'.
- 'ptr' module: rework index projection syntax into keyworded syntax
and introduce panicking variant.
The keyword syntax ('build:', 'try:', 'panic:') is more explicit and
paves the way of perhaps adding more flavors in the future, e.g. an
'unsafe' index projection.
For instance, projections now look like this:
fn f(p: *const [u8; 32]) -> Result {
// Ok, within bounds, checked at build time.
project!(p, [build: 1]);
// Build error.
project!(p, [build: 128]);
// `OutOfBound` runtime error (convertible to `ERANGE`).
project!(p, [try: 128]);
// Runtime panic.
project!(p, [panic: 128]);
Ok(())
}
Update as well the users, which now look like e.g.
// Pointer to the first entry of the GSP message queue.
let data = project!(self.0.as_ptr(), .gspq.msgq.data[build: 0]);
- 'build_assert' module: make the module the home of its macros instead
of rendering them twice.
- 'sync' module: add 'UniqueArc::as_ptr()' associated function.
- 'alloc' module:
+ Fix the 'Vec::reserve()' doctest to properly account for the
existing vector length in the capacity assertion.
+ Fix an incorrect operator in the 'Vec::extend_with()' 'SAFETY'
comment; add a doc test demonstrating basic usage and the
zero-length case.
- Clean imports across several modules to follow the "kernel vertical"
import style in order to minimize conflicts.
'pin-init' crate:
- User visible changes:
+ Do not generate 'non_snake_case' warnings for identifiers that are
syntactically just users of a field name. This would allow all
'#[allow(non_snake_case)]' in nova-core to be removed, which Gary
will send to the nova tree next cycle.
+ Filter non-cfg attributes out properly in derived structs. This
improves pin-init compatibility with other derive macros.
+ Insert projection types' where clause properly.
- Other changes:
+ Bump MSRV to 1.82, plus associated cleanups.
+ Overhaul how init slots are projected. The new approach is easier
to justify with safety comments.
+ Mark more functions as inline, which should help mitigate the
super-long symbol name issue due to lack of inlining.
rust-analyzer:
- Support '--envs' for passing env vars for crates like 'zerocopy'.
'MAINTAINERS':
- Add the following reviewers to the 'RUST' entry:
+ Daniel Almeida
+ Tamir Duberstein
+ Alexandre Courbot
+ Onur Ă–zkan
They have been involved in the Rust for Linux project for about
7 collective years and bring expertise across several domains, which
will be very useful to have around in the future.
Thanks everyone for stepping up!
And some other fixes, cleanups and improvements.
for you to fetch changes up to b5884070f9da9ffecd5141b5811cfdbaa274809a: # MERGE NOTE: if you've pulled perf-core-2026-06-14 before this # pull request, then there's a new context conflict in # arch/x86/events/intel/core.c. See the tip:perf/merge # branch for how I resolved it. x86/msr updates for v7.2: - Large series to reorganize the rdmsr/wrmsr APIs to remove 32-bit variants and convert to 64-bit variants (Juergen Gross) - Fix W=1 warning (HyeongJun An) Thanks, Ingo
for you to fetch changes up to 2bebd986eddb31f9ff1e02e9245a318036280759: x86/cpu updates for v7.2: - CPUID API updates (Ahmed S. Darwish): - Introduce a centralized CPUID parser - Introduce a centralized CPUID data model - Introduce <asm/cpuid/leaf_types.h> - Rename cpuid_leaf()/cpuid_subleaf() APIs - treewide: Explicitly include the x86 CPUID headers - Update to x86-cpuid-db v3.1 (Maciej Wieczor-Retman) - Continued removal of pre-i586 support and related simplifications (Ingo Molnar) - Add Intel CPU model number for rugged Panther Lake (Tony Luck) - Misc fixes, updates and cleanups by Arnd Bergmann, Chao Gao, Lukas Bulwahn, Sohil Mehta, Maciej Wieczor-Retman. Thanks, Ingo
for you to fetch changes up to c095741713d1bc317b53e2da2b222e7448b6021f: Scheduler updates for v7.2: SMP load-balancing updates: - A large series to introduce infrastructure for cache-aware load balancing, with the goal of co-locating tasks that share data within the same Last Level Cache (LLC) domain. By improving cache locality, the scheduler can reduce cache bouncing and cache misses, ultimately improving data access efficiency. Implemented by Chen Yu and Tim Chen, based on early prototype work by Peter Zijlstra, with fixes by Jianyong Wu, Peter Zijlstra and Shrikanth Hegde. - A series to simplify CONFIG_SCHED_SMT ifdef usage (Shrikanth Hegde) Fair scheduler updates: - A series to improve SD_ASYM_CPUCAPACITY scheduling by introducing SMT awareness (Andrea Righi, K Prateek Nayak) - A series to optimize cfs_rq and sched_entity allocation for better data locality (Zecheng Li) - A preparatory series to change fair/cgroup scheduling to a single runqueue, without the final change (Peter Zijlstra) - Auto-manage ext/fair dl_server bandwidth (Andrea Righi) - Fix cpu_util runnable_avg arithmetic (Hongyan Xia) - Optimize update_tg_load_avg()'s rate-limiting code (Rik van Riel) - Allow account_cfs_rq_runtime() to throttle current hierarchy (K Prateek Nayak) - Update util_est after updating util_avg during dequeue, to fix the util signal update logic, which reduces signal noise (Vincent Guittot) Scheduler topology updates: - Allow multiple domains to claim sched_domain_shared (K Prateek Nayak) - Add parameter to split LLC (Peter Zijlstra) Core scheduler updates: - Use trace_call__<tp>() to save a static branch (Gabriele Monaco) Scheduler statistics updates: - Drop now-stale mul_u64_u64_div_u64() cputime over-approximation guard (Nicolas Pitre) Deadline scheduler updates: - Reject debugfs dl_server writes for offline CPUs (Andrea Righi) - Fix replenishment logic for non-deferred servers (Yuri Andriaccio) RT scheduling updates: - Turn RT_PUSH_IPI default off for non PREEMPT_RT (Steven Rostedt) - Update default bandwidth for real-time tasks to 1.0 (Yuri Andriaccio) Proxy scheduling updates: - A series to implement Optimized Donor Migration for Proxy Execution (John Stultz, Peter Zijlstra) - Various proxy scheduling cleanups and fixes (Peter Zijlstra, K Prateek Nayak) Misc fixes, improvements and cleanups by Aaron Lu, Andrea Righi, Zenghui Yu, Chen Yu, Guanyou.Chen, John Stultz, Shrikanth Hegde, Peter Zijlstra, Liang Luo and Yiyang Chen. Thanks, Ingo
for you to fetch changes up to 67d27727854def4a7e2b386429941f5c4741ccc4: Performance events updates for v7.2: Core perf code updates: - Reveal PMU type in fdinfo (Chun-Tse Shao) Intel CPU PMU driver updates: - Fix various inaccurate hard-coded event configurations (Dapeng Mi) Intel uncore PMU driver updates (Zide Chen): - Fix discovery unit lookup bug for multi-die systems - Guard against invalid box control address - Fix PCI device refcount leak in UPI discovery - Defer ADL global PMON enable to enable_box() to save power - Fix uncore_die_to_cpu() for offline dies - Implement global init callback for GNR uncore AMD CPU PMU driver updates: - Always use the NMI latency mitigation (Sandipan Das) AMD uncore PMU driver updates: - Use Node ID to identify DF and UMC domains (Sandipan Das) Thanks, Ingo
for you to fetch changes up to 2d3bb398861ad3ddbf87959cc2e34a7001f0b3ad: Objtool updates for v7.2: - A large series of KLP fixes and improvements, in preparation of the arm64 port (Josh Poimboeuf) - Fix a number of bugs and issues on specific distro, LTO, FineIBT and kCFI configs (Josh Poimboeuf) - Misc other fixes by Josh Poimboeuf and Joe Lawrence. Thanks, Ingo
for you to fetch changes up to 4f070ccb4dc4692e3b6757819fb80655f58b4f12:
Locking updates for v7.2:
Futex updates:
- Optimize futex hash bucket access patterns (Peter Zijlstra)
- Large series to address the robust futex unlock race for real,
by Thomas Gleixner:
"The robust futex unlock mechanism is racy in respect
to the clearing of the robust_list_head::list_op_pending
pointer because unlock and clearing the pointer are not
atomic. The race window is between the unlock and clearing the
pending op pointer. If the task is forced to exit in this
window, exit will access a potentially invalid pending op
pointer when cleaning up the robust list. That happens if
another task manages to unmap the object containing the lock
before the cleanup, which results in an UAF. In the worst case
this UAF can lead to memory corruption when unrelated content
has been mapped to the same address by the time the access
happens.
User space can't solve this problem without help from the kernel.
This series provides the kernel side infrastructure to help it
along:
1) Combined unlock, pointer clearing, wake-up for the
contended case
2) VDSO based unlock and pointer clearing helpers with a
fix-up function in the kernel when user space was interrupted
within the critical section.
... with help by André Almeida:
- Add a note about robust list race condition (André Almeida)
- Add self-tests for robust release operations (André Almeida)
Context analysis updates:
- Implement context analysis for 'struct rt_mutex'.
(Bart Van Assche)
- Bump required Clang version to 23 (Marco Elver)
Guard infrastructure updates:
- Series to remove NULL check from unconditional guards
(Dmitry Ilvokhin)
Lockdep updates:
- Restore self-test migrate_disable() and sched_rt_mutex
state on PREEMPT_RT (Karl Mehltretter)
Membarriers updates:
- Use per-CPU mutexes for targeted commands (Aniket Gattani)
- Modernize membarrier_global_expedited with cleanup guards
(Aniket Gattani)
- Add rseq stress test for CFS throttle interactions (Aniket Gattani)
percpu-rwsems updates:
- Extract __percpu_up_read() to optimize inlining overhead
(Dmitry Ilvokhin)
Seqlocks updates:
- Allow UBSAN_ALIGNMENT to fail optimizing (Heiko Carstens)
Lock tracing:
- Add contended_release tracepoint to sleepable locks
such as mutexes, percpu-rwsems, rtmutexes, rwsems
and semaphores. (Dmitry Ilvokhin)
MAINTAINERS updates:
- MAINTAINERS: Add RUST [SYNC] entry (Boqun Feng)
Misc updates and fixes by Randy Dunlap, YE WEI-HONG,
Fabricio Parra, Dmitry Ilvokhin and Peter Zijlstra.
Thanks,
Ingo
nolibc changes for 7.2 Highlights: * New architectures: OpenRISC and 32-bit parisc * New library functionality: alloca(), assert(), creat() and ftruncate() * Automatic large file support * Proper 64-bit system call argument passing on x32 and MIPS N32 * Cleanups of the testmatrix * Various bugfixes and cleanups
please pull the latest timers/ptp branch from:
06-13
SC pairing
Updates for NTP/timekeeping and PTP:
- Expand timekeeping snapshot mechanisms
The various snapshot functions are mostly used for PTP to collect
"atomic" snapshots of various involved clocks.
They lack support for the recently introduced AUX clocks and do not
provide the underlying counter value (e.g. TSC) to user space. Exposing
the counter value snapshot allows for better control and steering.
Convert the hard wired ktime_get_snapshot() to take a clock ID, which
allows the caller to select the clock ID to be captured along with
CLOCK_MONONOTONIC_RAW. Additionally capture the underlying hardware
counter value and the clock source ID of the counter.
Expand the hardware based snapshot capture where devices provide a
mechanism to snapshot the hardware PTP clock and the system counter
(usually via PCI/PTM) to support AUX clocks and also provide the
captured counter value back to the caller and not only the clock
timestamps derived from it.
- Add a new optional read_snapshot() callback to clocksources
That is required to capture atomic snapshots from clocksources which
are derived from TSC with a scaling mechanism (e.g. Hyper-V, KVMclock).
The value pair is handed back in the snapshot structure to the callers,
so they can do the necessary correlations in a more precise way.
This touches usage sites of the affected functions and data structure all
over the tree, but stays fully backwards compatible for the existing user
space exposed interfaces. New PTP IOCTLs will provide access to the
extended functionality in later kernel versions.
Thanks,
tglx
please pull the latest irq/drivers branch from:
-06-13
Interrupt chip driver changes:
- Replace the support for the AST2700-A0 early silicon with a proper
driver for the final A2 production silicon
- Rename and rework the StarFive JH8100 interrupt controller for the new
JHB100 SoC as JH8100 was discontinued before production.
- Add support for Amlogic A9 SoCs to the meson-gpio interrupt controller
- Expand the Econet interrupt controller driver to support MIPS 34Kc
Vectored External Interrupt Controller mode.
- Prevent a NULL pointer dereference in the GICv4 code as the vLPI code
blindly assumes that the ITS was populated. Add the missing sanity check.
- Add support for software triggered and for error interrupts to the
Renesas RZ/T2H driver.
- Add interrupt redirection support for the loongarch architecture.
- Add multicore support to the Realtek RTL interrupt driver
- The usual updates, enhancements and fixes all over the place
Thanks,
tglx
please pull the latest timers/nohz branch from:
-06-13
Updates for the NOHZ subsystem:
- Fix a long standing TOCTOU in get_cpu_sleep_time_us()
- Make the CPU offline NOHZ handling more robust by disabling NOHZ on the
outgoing CPU early instead of creating unneeded state which needs to be
undone.
- Unify idle CPU time accounting instead of having two different
accounting mechanisms. These two different mechanisms are not really
independent, but the different properties can in the worst case cause
that gloabl idle time can be observed going backwards.
- Consolidate the idle/iowait time retrieval interfaces instead of
converting back and forth between them.
- Make idle interrupt time accounting more robust. The original code
assumes that interrupt time accouting is enabled and therefore stops
elapsing idle time while an interrupt is handled in NOHZ dyntick
state. That assumption is not correct as interrupt time accounting can
be disabled at compile and runtime.
- Fix an accounting error between dyntick idle time and dyntick idle
steal time. The stolen time is not accounted and therefore idle time
becomes inaccurate. The stolen time is now accounted after the fact as
there is no way to predict the steal time upfront.
Thanks,
tglx
please pull the latest timers/vdso branch from:
-06-13
GETTIMEOFDAY
A series of updates for the VDSO:
- Remove the redundant CONFIG_GENERIC_TIME_VSYSCALL after converting the
remaining users over.
- Rework and sanitize the MIPS VDSO handling, so it does not handle the
time related VDSO if there is no VDSO capable clocksource available.
Also stop mapping VDSO data pages unconditionally even if there is no
usage possible.
Thanks,
tglx
please pull the latest timers/clocksource branch from:
ce-2026-06-13
/scm/linux/kernel/git/daniel.lezcano/linux into timers/clocksource
Updates for clocksource/clockevent drivers:
- Add devm helpers for clocksources, which allows to simplify driver
teardown and probe failure handling.
- More module conversion work
=20
- Update the support for the ARM EL2 virtual timer including the required
ACPI changes.
- Add clockevent and clocksource support for the TI Dual Mode Timer
- Fix the support for multiple watchdog instances in the TEGRA186 driver
- Add D1 timer support to the SUN5I driver
- The usual devicetree updates, cleanups and small fixes all over the place
Thanks,
tglx
please pull the latest timers/core branch from:
-06-13
leep() error path
Updates for the time/timer core subsystem:
- Harden the user space controllable hrtimer interfaces further to
protect against unpriviledged DoS attempts by arming timers in the past.
- Add per-capacity hierarchies to the timer migration code to prevent
timer migration accross different capacity domains. This code has been
disabled last minute as there is a pathological problem with SoCs which
advertise a larger number of capacity domains. The problem is under
investigation and the code won't be active before v7.3, but that turned
out to be less intrusive than a full revert as it preserves the
preparatory steps and allows people to work on the final resolution
- Export time namespace functionality as a recent user can be built as a
module.
- Initialize the jiffies clocksource before using it. The recent
hardening against time moving backward requires that the related
members of struct clocksource have been initialized, otherwise it
clamps the readout to 0, which makes time stand sill and causes boot
delays.
- Fix a more than twenty year old PID reference count leak in an error
path of the POSIX CPU timer code.
- The usual small fixes, improvements and cleanups all over the place.
Note: There is a trivial conflict against the timers/clocksource
branch. That branch introduces devm helpers which touch the same area
of code as the timers/core branch. The resolution is to keep the
timers/clocksource changes.
Thanks,
tglx
please pull the latest smp/core branch from:
-13
eld() stubs for !CONFIG_HOTPLUG_CPU
Two small updates to the SMP/hotplug subsystem:
- Add cpuhplock.h to the maintained files
- Provide the missing stubs for lockdep_is_cpus_held() and
lockdep_is_cpus_write_held() so the usage sites can be simplified.
Thanks,
tglx
please pull the latest irq/core branch from:
-13
Interrupt core code changes:
- Rework of /proc/interrupt handling:
/proc/interrupts was subject to micro optimizations for a long time,
but most of the low hanging fruit was left on the table. This rework
addresses the major time consuming issues:
- Printing a long series of zeros one by one via a format string
instead of counting subsequent zeros and emitting a string
constant.
- Simplify and cache the conditions whether interrupts should be prin=
ted
- Use a proper iteration over the interrupt descriptor xarray
instead of walking and testing one by one.
- Provide helper functions for the architecture code to emit the
architecture specific counters
- Convert the counter structure in x86 to an array, which
simplifies the output and add mechanisms to suppress unused
architecture interrupts, which just occupy space for
nothing. Adopt the new core mechanisms.
This adjusts the gdb scripts related to interrupt counter statitics
to work with the new mechanisms.
- Prevent a string overflow in the /proc/irq/$N/ directory name
creation code.
Thanks,
tglx
please pull the latest core/rseq branch from: 6-13 A trivial update for RSEQ selftests to provide the config fragments which contain the config options required to actually run the tests. Thanks, tglx
please pull the latest irq/msi branch from: 13 A trivial update to the MSI interrupt subsystem, which fixes a couple of typos. Thanks, tglx
All commits have been in linux-next for at least a few rounds; the Rust-nat=
ive
device driver lifetime series has been shared with the DRM tree via a signe=
d
tag.
- Danilo
Driver core changes for 7.2-rc1
- deferred probe:
- Fix race where deferred probe timeout work could be permanently
canceled by using mod_delayed_work()
- Fix missing jiffies conversion in deferred_probe_extend_timeout()
- Guard timeout extension with delayed_work_pending() to prevent
premature firing
- Use system_percpu_wq instead of the deprecated system_wq
- Update deferred_probe_timeout documentation
- device:
- Replace direct struct device bitfield access (can_match, dma_iommu,
dma_skip_sync, dma_ops_bypass, state_synced, dma_coherent,
of_node_reused, offline, offline_disabled) with flag-based
accessors using bit operations
- Reject devices with unregistered buses
- Delete unused DEVICE_ATTR_PREALLOC()
- Add low-level device attribute macros with const show/store
callbacks, allowing device attributes to reside in read-only memory
- Move core device attributes to read-only memory
- Constify group array pointers in driver_add_groups() /
driver_remove_groups(), struct bus_type, and struct device_driver
- device property:
- Fix fwnode reference leak in fwnode_graph_get_endpoint_by_id()
- Initialize all fields of fwnode_handle in fwnode_init()
- Provide swnode_get()/swnode_put() wrappers around kobject_get/put()
- Allow passing struct software_node_ref_args pointers directly to
PROPERTY_ENTRY_REF()
- driver_override:
- Migrate amba, cdx, vmbus, and rpmsg to the generic driver_override
infrastructure, fixing a UAF from unsynchronized access to
driver_override in bus match() callbacks
- Remove the now-unused driver_set_override()
- firmware loader:
- Fix recursive lock deadlock in device_cache_fw_images() when async
work falls back to synchronous execution
- Fix device reference leak in firmware_upload_register()
- platform:
- Pass KBUILD_MODNAME through the platform driver registration macro
to create module symlinks in sysfs for built-in drivers; move
module_kset initialization to a pure_initcall and tegra cbb
registration to core_initcall to ensure correct ordering
- Pass THIS_MODULE implicitly through a coresight_init_driver() macro
- sysfs:
- Upgrade OOB write detection in sysfs_kf_seq_show() from printk to
WARN
- Add return value clamping to sysfs_kf_read()
- Rust:
- ACPI:
- Fix missing match data for PRP0001 by exporting
acpi_of_match_device()
- Auxiliary:
- Replace drvdata() with dedicated registration data on
auxiliary_device. drvdata() exposed the driver's bus device
private data beyond the driver's own scope, creating ordering
constraints and forcing the data to outlive all registrations
that access it. Registration data is instead scoped structurally
to the Registration object, making lifecycle ordering enforced
by construction rather than convention.
- Rust-native device driver lifetimes (HRT):
- Allow Rust device drivers to carry a lifetime parameter on their
bus device private data, tied to the device binding scope -- the
interval during which a bus device is bound to a driver. Device
resources like pci::Bar<'a> and IoMem<'a> can be stored directly
in the driver's bus device private data with a lifetime bounded
by the binding scope, so the compiler enforces at build time that
they do not outlive the binding. This removes Devres indirection
from every access site and eliminates try_access() failure paths
in destructors.
Bus driver traits use a Generic Associated Type (GAT)
Data<'bound> to introduce the lifetime on the private data,
rather than parameterizing the Driver trait itself. Auxiliary
registration data, where the lifetime is not introduced by a
trait callback but must be threaded through Registration, uses
the ForLt trait (a type-level abstraction for types generic over
a lifetime).
- Misc:
- Fix DT overlayed devices not probing by reverting the broken
treewide overlay fix and re-running fw_devlink consumer pickup when
an overlay is applied to a bound device
- Use root_device_register() for faux bus root device; add sanity
check for failed bus init
- Fix dev_has_sync_state() data race with READ_ONCE() and move it to
base.h
- Avoid spurious device_links warning when removing a device while
its supplier is unbinding
- Switch ISA bus to dynamic root device
- Fix suspicious RCU usage in kernfs_put()
- Remove devcoredump exit callback
- Constify devfreq_event_class
LoongArch KVM changes for v7.2 1. Enable FPU with max VM supported FPU type. 2. Some enhancements about interrupt injection. 3. Some bug fixes and other small changes.
This goes early for your convenience. pm-7.2-rc1 Merge tag 'pm-7.1-rc8' of to receive power management updates for 7.2-rc1. Over a half of the changes here are cpufreq updates that include core modifications, fixes of the old-style governors, new hardware support in drivers, assorded driver fixes and cleanups, and the removal of one driver (AMD Elan SC4*). Apart from that, the intel_idle driver will now be able to avoid exposing redundant C-states if PC6 is disabled and there are new sysctl knobs for device suspend/resume watchdog timeouts, hibernation gets built-in LZ4 support for image compression and there is the usual collection of assorted fixes and cleanups. Specifics: - Fix a race between cpufreq suspend and CPU hotplug during system shutdown (Tianxiang Chen) - Avoid redundant target() calls for unchanged limits and fix a typo in a comment in the cpufreq core (Viresh Kumar) - Fix concurrency issues related to sysfs attributes access that affect cpufreq governors using the common governor code (Zhongqiu Han) - Simplify frequency limit handling in the conservative cpufreq governor (Lifeng Zheng) - Fix descriptions of the conservative governor freq_step tunable and the ondemand governor sampling_down_factor tunable in the cpufreq documentation (Pengjie Zhang) - Fix use-after-free and double free during _OSC evaluation in the PCC cpufreq driver (Yuho Choi) - Rework the handling of policy min and max frequency values in the cpufreq core to allow drivers to specify special initial values for the scaling_min_freq and scaling_max_freq sysfs attributes (Pierre Gondois) - Add cpufreq scaling support for Qualcomm Shikra SoC (Taniya Das, Imran Shaik). - Improve the warning message on HWP-disabled hybrid processors printed by the intel_pstate driver and sync policy->cur during CPU offline in it (Yohei Kojima, Fushuai Wang) - Drop cpufreq support for AMD Elan SC4* (Sean Young) - Minor fixes for cpufreq drivers (Krzysztof Kozlowski, Akashdeep Kaur, Hans Zhang, Guangshuo Li, Xueqin Luo) - Clean up dead dependencies on X86 in the cpufreq Kconfig (Julian Braha) - Allow the intel_idle driver to avoid exposing C-states that are redundant when PC6 is disabled (Artem Bityutskiy) - Fix memory leak and a potential race in the OPP core (Abdun Nihaal, Di Shen) - Mark Rust OPP methods as inline (Nicol=C3=A1s Antinori) - Fix misc device registration failure path in the PM QoS core (Yuho Choi) - Add sysctl interface for DPM watchdog timeouts (Tzung-Bi Shih) - Use complete() instead of complete_all() in device_pm_sleep_init() to avoid a false-positive warning from lockdep_assert_RT_in_threaded_ctx() when CONFIG_PROVE_RAW_LOCK_NESTING is enabled (Jiakai Xu) - Use a flexible array for CRC uncompressed buffers during hibernation image saving (Rosen Penev) - Make the LZ4 algorithm available for hibernation compression (l1rox3) - Move the preallocate_image() call during hibernation after the "prepare" phase of the "freeze" transition (Matthew Leach) - Fix a memory leak in rapl_add_package_cpuslocked() in the intel_rapl power capping driver and use sysfs_emit() in cpumask_show() in that driver (Sumeet Pawnikar, Yury Norov) - Fix ValueError when parsing incomplete device properties in the pm-graph utility (Gongwei Li) There were two merge conflicts of the cpufreq changes with the tip tree in linux-next: https://lore.kernel.org/lkml/ahRZy0wqaUFv6xO9@sirena.org.uk/ https://lore.kernel.org/lkml/aiAs8hIzpPzvCjw5@sirena.org.uk/ Thanks!
This goes early for your convenience. thermal-7.2-rc1 Merge branch 'thermal-testing' Linux 7.1-rc5 to receive thermal control updates for 7.2-rc1. These add new hardware support (i.MX93 TMU, Amlogic T7, Intel Arrow Lake, QCom Nord, Shikra and Hawi), fix issues in a number of places in the thermal control core and drivers, clean up code and refactor it in preparation for future changes: - Rework the initialization and cleanup of thermal class cooling devices to separate DT-based cooling device registration and cooling device registration without DT (Daniel Lezcano, Ovidiu Panait) - Update the cooling device DT bindings to support 3-cell cooling device representation, where the additional cell holds an ID to select a cooling mechanism for devices that offer multiple cooling mechanisms, and adjust the cooling device registration code accordingly (Gaurav Kohli, Daniel Lezcano) - Remove dead code from two functions in the thermal core and simplify the unregistration of thermal governors (Rafael Wysocki) - Fix critical temperature attribute removal handling in the generic thermal zone hwmon support code and rework that code to register a separate hwmon class device for each thermal zone (instead of using one hwmon class device for all thermal zones of the same type) to address thermal zone removal deadlocks (Rafael Wysocki) - Use attribute groups for adding temperature attributes to hwmon class devices associated with thermal zones (Rafael Wysocki) - Pass WQ_UNBOUND when allocating the thermal workqueue (Marco Crivellari) - Fix potential shift overflow in ptc_mmio_write() and improve error handling in proc_thermal_ptc_add() in the int340x thermal control driver (Aravind Anilraj) - Use sysfs_emit() for cpumask printing in the Intel powerclamp thermal driver (Yury Norov) - Add Arrow Lake CPU models to the intel_tcc_cooling driver (Srinivas Pandruvada) - Add QCom Nord, Shikra and Hawi temperature sensor DT bindings (Deepti Jaggi, Gaurav Kohli, Dipa Ramesh Mantre) - Use devm_add_action_or_reset() for clock disable on the NVidia soctherm and switch it to devm cooling device registration version (Daniel Lezcano) - Add the Amlogic T7 thermal sensor along with thermal calibration data read from SMC calls (Ronald Claveau) - Fix atomic temperature read in the QCom tsens driver to comply with hardware documentation (Priyansh Jain) - Add SpacemiT K1 thermal sensor support (Shuwei Wu) - Add i.MX93 temperature sensor support and filter out the invalid temperature (Jacky Bai) - Enable by default the TMU (Thermal Monitoring Unit) on Exynos platform (Krzysztof Kozlowski) - Rework interrupt initialization in the Tsens driver and add the optional wakeup source (Priyansh Jain) - Fix typo in a comment in the TSens QCom driver (Jinseok Kim) - Fix trailing whitespace and repeated word in the OF code, remove quoted string splitting across lines from the iMX7 driver, and remove a stray space from the thermal_trip_of_attr() macro definition (Mayur Kumar) - Update the thermal testing facility code to avoid NULL pointer dereferences by rejecting missing command arguments and replace sscanf() with kstrtoint() or kstrtoul() in that code (Ovidiu Panait, Samuel Moelius) Thanks!
This goes early for your convenience. acpi-7.2-rc1 Linux 7.1-rc7 to receive ACPI support updates for 7.2-rc1. These update the ACPICA code in the kernel to upstream version 20260408, introduce support for devres-based management of ACPI notify handlers and update some core ACPI device drivers on top of that (which includes some fixes and cleanups), add _DEP support for PCI/CXL roots and Intel CVS devices, fix a couple of assorted issues and clean up code: - Fix multiple issues related to probe, removal and missing NVDIMM device notifications in the ACPI NFIT driver (Rafael Wysocki) - Add support for devres-based management of ACPI notify handlers to the ACPI core (Rafael Wysocki) - Switch multiple core ACPI device drivers (including the ACPI PAD, ACPI video bus, ACPI HED, ACPI thermal zone, ACPI AC, ACPI battery, and ACPI NFIT drivers) over to using devres-based resource management during probe (Rafael Wysocki) - Replace mutex_lock/unlock() with guard()/scoped_guard() in the ACPI PMIC driver (Maxwell Doose) - Fix message kref handling in the dead device path of the ACPI IPMI address space handler (Yuho Choi) - Use sysfs_emit() in idlecpus_show() in the ACPI processor aggregator device (PAD) driver (Yury Norov) - Clean up device_id_scheme initialization in the ACPI video bus driver (Jean-Ralph Aviles) - Clean up lid handling in the ACPI button driver and acpi_button_probe(), reorganize installing and removing event handlers in that driver and switch it over to using devres-based resource management during probe (Rafael Wysocki) - Add support for the Legacy Virtual Register (LVR) field in I2C serial bus resource descriptors to ACPICA (Akhil R) - Fix multiple issues related to bounds checks, input validation, use-after-free, and integer overflow checks in the AML interpreter in ACPICA (ikaros) - Update the copyright year to 2026 in ACPICA files and make minor changes related to ACPI 6.6 support (Pawel Chmielewski) - Remove spurious precision from format used to dump parse trees in ACPICA (David Laight) - Add modern standby DSM GUIDs to ACPICA header files (Daniel Schaefer) - Fix FADT 32/64X length mismatch warning in ACPICA (Abdelkader Boudih) - Update D3hot/cold device power states definitions in ACPICA header files (Aymeric Wibo) - Fix NULL pointer dereference in acpi_ns_custom_package() (Weiming Shi) - Update ACPICA version to 20260408 (Saket Dumbre) - Add cpuidle driver check in acpi_processor_register_idle_driver() to avoid evaluating _CST unnecessarily (Tony W Wang-oc) - Suppress UBSAN warning caused by field misuse during PCC-based register access in the ACPI CPPC library (Jeremy Linton) - Add support for CPPC v4 to the ACPI CPPC library (Sumit Gupta) - Update the ACPI device enumeration code to honor _DEP for ACPI0016 PCI/CXL host bridges and make the ACPI PCI root driver clear _DEP dependencies for PCI roots that have become operational (Chen Pei) Thanks!
USB serial updates for 7.2-rc1 Here are the USB serial updates for 7.2-rc1, including: - an updated mxuport number-of-ports encoding, and - include directive cleanups Everything has been in linux-next with no reported issues.
This is the batch of pull requests for the v7.2 merge window. This cycle is light on new uapi and heavy on infrastructure: a couple of long-standing scalability problems are fixed and a few pieces of filesystem behavior that file servers have wanted for a long time are finally exposed. Case folding behavior of local filesystems is now exposed so file servers - nfsd, ksmbd, and user space servers - can report it to clients instead of guessing. Filesystems report case-insensitive and case-nonpreserving behavior through fileattr_get and nfsd implements NFSv3 PATHCONF and the NFSv4 FATTR4_CASE_INSENSITIVE and FATTR4_CASE_PRESERVING attributes which have been part of the NFS protocols for decades. Windows NFS clients hard-require this information for Win32 applications to behave correctly, the Linux client uses it to disable negative dentry caching on case-insensitive shares, and multi-protocol NFS/SMB servers need it to participate as first-class citizens in such environments. openat2() grows two new flags. O_EMPTYPATH allows reopening the file behind an O_PATH file descriptor through an empty path string, removing the detour through /proc/<pid>/fd and the procfs dependency that comes with it. OPENAT2_REGULAR refuses to open anything but regular files, returning the new EFTYPE error code, so services can protect themselves against being redirected to fifos or device nodes. exec gains a per-task task_exec_state structure holding the dumpable mode and the user namespace captured at execve(). Both used to live on mm_struct which exit_mm() clears long before a task is reaped, so __ptrace_may_access() and several /proc visibility checks misbehaved for zombies - denying legitimate access to non-dumpable zombies that were running in nested user namespaces. exec also stops tearing down the old mm while holding exec_update_lock and cred_guard_mutex, so execve() of a large process no longer blocks ptrace_attach() and every exec_update_lock reader for the duration of the teardown. The VFS prerequisites for directory delegations land: lease holders can opt out of having specific directory change events break their delegation and fsnotify grows the helpers nfsd needs to drive CB_NOTIFY callbacks from inotify watches in a future cycle. Acquiring an inode reference becomes lockless as long as the refcount was already at least 1, so only the 0->1 and 1->0 transitions take inode->i_lock anymore. The race between cgroup_writeback_umount() and inode_switch_wbs() that could trigger "VFS: Busy inodes after unmount" and a use-after-free on percpu counters is fixed, and the global serialization in the umount path is replaced with a per-sb counter. Umount latency under cgroup writeback churn drops from ~92-138ms p50 to ~5-8ms p50. Writeback also learns to track dirty RWF_DONTCACHE pages per bdi_writeback so the flusher can be kicked in a targeted fashion, improving uncached write performance. b_end_io is removed from struct buffer_head. The completion path loses an indirect function call, struct buffer_head shrinks from 104 to 96 bytes, and a corruptible function pointer in the middle of a writable data structure goes away. All in-tree users are converted to the new bh_submit() interface. fs/eventpoll.c is extensively documented and refactored. The invariants the recent UAF fixes relied on were nowhere written down and had to be reverse-engineered, so they are now codified in source, long function bodies are split into named helpers, and the per-CTL_ADD scratch state moves off file-scope globals. epoll also gains a file-based control interface so io_uring can stop supporting nested epoll contexts, and a long-standing race that made epoll_wait() report false negatives with a zero timeout is fixed. The simple xattr infrastructure moves its hash table into a per-superblock cache and handles lazy allocation internally instead of burdening every caller. On top of this bpffs gains support for trusted.* and security.* xattrs so metadata like content hashes or security labels can be attached to pinned objects. iomap brings the vfs infrastructure required for fs-verity support in XFS with a post-EOF merkle tree, stops pointlessly zeroing the iomap on the final iteration which improves polled I/O IOPS by about 5%, and introduces the IOMAP_F_ZERO_TAIL flag needed by filesystems with a valid data length like exFAT and NTFS. The string emitted from /proc/filesystems is pre-generated and cached and the filesystems list is RCU-ified. The file is read by libselinux and thus by a surprising number of programs; open+read+close goes from ~440k to ~1.06M ops/s single-threaded and from ~600k to ~3.3M ops/s with 20 processes. procfs mounts with subset=pid are exempted from the full mount visibility checks, unblocking procfs mounts in rootless containers, and most ptrace_may_access() users in procfs now hold exec_update_lock to avoid TOCTOU races with concurrent privileged execve(). pipe writes pre-allocate pages outside pipe->mutex so readers no longer stall behind a writer doing direct reclaim under the mutex, improving throughput by 6-28% and up to 48% under memory pressure. sget() is retired with the last users converted to sget_fc(), and the exportfs support for block-style layouts is cleaned up in preparation for multi-device filesystem exports. Smaller items include a fix for the bpf dentry xattr kfuncs with negative dentries, per-instance lockdep classes for rhashtable, fixes and new helpers for the copy_struct_*() machinery, set_blocksize() error handling for a pile of legacy filesystems that crashed when mounting devices with sector size > PAGE_SIZE, SB_I_NOEXEC and SB_I_NODEV being set by default in init_pseudo(), honouring SB_NOUSER in the new mount API, a SOFTIRQ-unsafe lock order fix in fasync signaling, an FS_USERNS_DELEGATABLE flag to unbreak delegated NFS mounts in containers, documentation with guidelines for submitting new filesystems, and assorted selftest fixes and cleanups. Thanks! Christian
RCU pull request for v7.2 This pool request contains two branches: rcutorture.2026.05.24: Torture test updates. Improve kvm-series.sh script by adding examples in its header comment. Lazy RCU is more fully tested now by replacing call_rcu_hurry() with call_rcu() and doing rcu_barrier() to motivate lazy callbacks during a stutter pause. Add more synonyms for the "--do-normal" group of torture.sh command-line arguments misc.2026.05.24: Miscellaneous changes. Reduce stack usage of nocb_gp_wait() to address frame size warning when built with CONFIG_UBSAN_ALIGNMENT. The synchronize_rcu() call can detect the flood and latches a normal/default path temporary switching to wait_rcu_gp() path. Document using rcu_access_pointer() to fetch the old pointer for lockless cmpxchg() updates. Simplify some RCU code using clamp_val(). Fix a kerneldoc header comment typo in srcu_down_read_fast().
Many thanks, -- Marco ------ >8 ------ Kernel Concurrency Sanitizer (KCSAN) updates for v7.2 - Silence -Wmaybe-uninitialized when calling __kcsan_check_access() This change has had 6 weeks of linux-next exposure.
Please git pull the following tag: xen: branch for v7.2-rc1 It contains the following changes: - Several small cleanups of various Xen related drivers (xen/platform-pci, xen-balloon, xenbus, xen/mcelog) - A 3 patch cleanup series for Xen PV-mode related code (includes dropping the Xen debugfs code) - A 5 patch series dropping the additional lazy mmu mode tracking done by Xen specific code Thanks. Juergen
Sorry for not getting these to you yesterday. I was all prepared to work on them before meetings hit, and then SQUIRREL! Outside of these pull requests, there's a set of five selftests patches[1] that I have sitting in "selftests_l2_stacks" and fed into linux-next. I'm not including a pull request for that branch, as it's deliberately built on top of all the other local merges to avoid a pile of annoying conflicts (the changes allocate a proper stack for all L2 vCPUs, and so touches every test that does anything nested related). If you can apply the patches directly after merging the other pull requests, that would make me quite happy. Alternatively, I'll send a separate pull request once this batch is merged. [1] https://lore.kernel.org/all/20260610003030.2957261-1-seanjc@google.com There are two conflicts I am aware of; thankfully both are fairly trivial. Internal to these pull requests, "misc" and "svm" conflict on header includes in svm.h: take the incoming headers and the kvm_cache_regs.h => regs.h rename.
Hi Thomas,
please consider the following changes since commit
216fe4b3e06754e73c79a88b1df7e9806e41f29d:
Merge branch into tip/master: 'timers/clocksource' (2026-04-20
09:25:41 +0200)
are available in the Git repository at:
ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/daniel.lezcano/linux
tags/timers-v7.2-rc1
for you to fetch changes up to a9ac745bc320cbdc2ed3c851eb78f91f22ff975b:
clocksource: move NXP timer selection to drivers/clocksource
(2026-06-10 07:26:07 +0200)
- Remove the sifive,fine-ctr-bits property bindings because it is a
redundant information (Nick Hu)
- Remove the TCIU8 interrupt bindings on Renesas because it should not
be described as the documentation marked reserved and fix the
conditional reset line for the RZ/{T2H,N2H} (Cosmin Tanislav)
- Add the StarFive JHB100 clint DT bindings compatible string (Ley
Foon Tan)
- Extend schema condition for interrupts to cover D1 compatible
variant an add the D1 hstimer support (Michal Piekos)
- Update the ARM architected timer support to handle the ACPI GTDT v3
format and the EL2 virtual timer, enabling Linux to use the most
appropriate timer when running with VHE, while also fixing several
Device Trees to accurately reflect the underlying hardware (Marc
Zyngier)
- Cleanup and add the clocksource and the clockevent in the TI DM
timer (Markus Schneider-Pargmann)
- Add the multiple watchdogs support in the tegra186 and
tegra234. Dedicate one as a kernel watchdog (Kartik Rajput)
- Add the NXP clocksource selection for the scheduler in the Kconfig
(Enric Balletbo i Serra)
a little bit early for personal reasons. If there are any problems, comments, or concerns, please let me know. I am only aware of two conflicts, one with your current tree in compiler-clang.h [1] and another with the upcoming docs tree [2], which should be fairly trivial. [1]: https://lore.kernel.org/ah7geBSoDn696L9S@sirena.org.uk/ [2]: https://lore.kernel.org/ah7hUGlwC-lBwDvc@sirena.org.uk/ Kbuild / Kconfig changes for 7.2 Kbuild: - Remove broken module linking exclusion for BTF - Add documentation around how offset header files work - Include unstripped vDSO libraries in pacman packages - Bump minimum version of LLVM for building the kernel to 17.0.1 and clean up unnecessary workarounds - Use a context manager in run-clang-tools - Add dist macro value if present to release tag for RPM packages - Detect and report truncated buf_printf() output in modpost - Add __llvm_covfun and __llvm_covmap to section whitelist in modpost - Support Clang's distributed ThinLTO mode - Remove architecture specific configurations for AutoFDO and Propeller to ease individual architecture maintenance Kconfig: - Add kconfig-sym-check target to look for dangling Kconfig symbol references and invalid tristate literal values - Harden against potential NULL pointer dereference - Fix typo in Kconfig test comment Signed-off-by: Nathan Chancellor <nathan@kernel.org>
From: Yixun Lan <dlan@gentoo.org> Hi Stephen, All clock changes are related to PCIe for K3 SoC. Hope this isn't too late.. Yixun Lan RISC-V SpacemiT clock changes for 7.2 - Switch parent clock of PCIe - Fix PCIe clock register offset - Add PCIe DBI clock
This is the pull request with interconnect changes for the v7.2-rc1 merge window. As always, the short summary is in the signed tag. All patches have been in linux-next for two full weeks. There are possible. Thanks, Georgi This pull request contains the following interconnect updates for the 7.2-rc1 merge window: - New driver for Shikra SoC - New driver for Nord SoC - New driver for Hawi SoC including CPU/LLCC bwmon support - Add missing SDCC nodes for Eliza SoC - Misc cleanups and fixes. Signed-off-by: Georgi Djakov <djakov@kernel.org>
Hey folks, Just a single two-liner patch here on the cache front. A new driver popped up in the last few weeks but isn't ready for this cycle. Cheers, Conor. standalone cache drivers for v7.2 SiFive ccache: Add the Starfive JH7110 to the list of devices that need the non-standard cache ops, because the GPU appears to be DMA non-coherent unlike other peripherals. Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Hey folks, fixes written by yours truly. It's probable that I will have a second PR, because I am waiting for Stephen to hopefully merge my Canaan clock driver series that is a pre-requisite for the addition of the Canaan k230 SoC. I'd have sent this earlier, but I was hoping that k230 support would be ready in time. Cheers, Conor. Microchip RISC-V devicetrees for v7.2 This time around, there's nothing other than patches for Microchip boards. All of this is low priority fixes and cleanup, centred on the pic64gx and beaglev-fire boards. There is no new support added. Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Hi Rafael, please consider the following changes since commit 21c315342b81526874acfa311f11b3f72bed4e14: thermal: sysfs: remove space before tab in macro (2026-05-22 18:55:08 +0200) are available in the Git repository at: ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git tags/thermal-v7.2-rc1 for you to fetch changes up to 968098b4ca5219b0d2e0a981aed1dacfbd5adc69: thermal/drivers/qcom/tsens: Disable wakeup interrupt setup on automotive targets (2026-06-03 09:13:04 +0200) - Add the QCom Nord temperature sensor DT bindings (Deepti Jaggi) - Use devm_add_action_or_reset() for clock disable on the NVidia soctherm and switch to devm cooling device registration version (Daniel Lezcano) - Replace the devm version implementation by the helper doing the same thing (Daniel Lezcano) - Add the Amlogic T7 thermal sensor along with thermal calibration data read from SMC calls (Ronald Claveau) - Fix typo in comment, "uppper" with "upper" in the TSens QCom driver (Jinseok Kim) - Add the QCom Shikra temperature sensor DT bindings (Gaurav Kohli) - Add the QCom Hawi temperature sensor DT bindings (Dipa Ramesh Mantre) - Fix atomic temperature read in the QCom tsens to comply with hardware documentation (Priyansh Jain) - Fix trailing whitespace and repeated word in the OF code. Do not split quoted string across lines in the iMX7 driver (Mayur Kumar) - Add SpacemiT K1 thermal sensor support (Shuwei Wu) - Add the i.MX93 temperature sensor support and filter out the invalid temperature (Jacky Bai) - Enable by default the TMU (Thermal Monitoring Unit) on Exynos platform (Krzysztof Kozlowski) - Split the core code and the OF which are interleaved. Add the cooling device per index registration in order to support dedicated cooling devices controller (Daniel Lezcano) - Add DT binding to specify an index in the cooling device map (Gaurav Kohli) - Rework interrupt initialization in the Tsens driver and add the optional wakeup source (Priyansh Jain)
Hi Peter, Sorry for being a bit late on this cycle. I was trying to get the refcounted interrupt change [1] in this PR, but I feel maybe I should make that a separate patch series for more reviews, which I will send out shortly. Rust synchronization changes for 7.2: - Add "RUST [SYNC]" maintainer entry. - locking/lockdep: Replace snprintf with strscpy in seq_stats. - Mark a few completion related Rust function as inline. [1]: https://lore.kernel.org/rust-for-linux/20260526152148.30514-1-boqun@kernel.org/ Regards, Boqun
Hi Stephen and Michael, Notable change outside of this pull: Peter Griffin was added as co-maintainer to Samsung SoC and Samsung SoC clocks. See also commit 20550601bf4 in linux-next and https://lore.kernel.org/all/178015858043.36212.8088079079471293822.b4-ty@b4/ Best regards, Krzysztof Samsung SoC clock drivers changes for v7.2 1. Exynos850: Mark APM (Active Power Management) I3C clocks as critical, because they are necessary for communication with firmware but we do not have any consumer of them so far. 2. Exynos990: Correct the parents of a few muxes and propagate rate requests up.
Apple SoC DT update for 7.2 Add minimal device trees for all t8122 / base M3 based devices and some required new compatibles to the dt-bindings. These are enough to boot Linux on these devices to a simple serial console but future work is required to make these machines useful for end users. Signed-off-by: Sven Peter <sven@kernel.org>
Hi Stephen, Mike, We have a couple of minor patches lying around for some time that was'nt getting in, so took advice Brian made.. Here is the PR. I have cross checked this on top of next-20260602, applies clean, passes the build static checks and functions on all the TI K3 platforms I have access to. Thanks in advance for pulling.. Please Pull: TI K3 SCI clock updates for v7.2 - Fix incorrect application of sizeof to a pointer type in sci-clk driver - Disable clock rate caching in the keystone clock driver to ensure accurate rate reporting
Hi ARM SoC maintainers, There is a minor checkpatch report irq_lock - Check reports "struct mutex definition without comment" but it is indeed part of the structure documentation. Things look clean build wise and tests across platforms are also good as of next-20260602. TI SoC driver updates for v7.2 TI K3 TISCI: - ti_sci: Add BOARDCFG_MANAGED mode for support system suspend/resume cycles - ti_sci: Add support for restoring IRQ and clock contexts during resume. - clk: keystone: sci-clk: Add clock restoration support. SoC Drivers: - k3-socinfo: Add support for identifying AM62P silicon variants via NVMEM, along with corresponding dt-bindings update for nvmem-cells support - k3-ringacc: Fix incorrect access mode for ring pop tail IO/proxy operatio= ns Keystone Navigator (knav) Cleanup and Fixes: - knav_qmss: Multiple code quality improvements - knav_qmss_queue: Implement proper resource cleanup in the remove() path General Cleanups: - k3-ringacc: Use str_enabled_disabled() helper for consistency - knav_qmss: Use %pe format specifier for PTR_ERR() printing
Hi ARM SoC maintainers, checkpatch and dtbs_check reports the following on v7.1-rc1 ti,j722s-wiz-10g ti,j722s-phy-gmii-sel usb424,2514 st,24c02 riverdi,rvt101hvlnwc00 I picked those up in the interest of the community and these are clean on dtbs_check on next-20260602, while the usb424,2514 and st,24c02 seem to be the usual regex artifact of checkpatch. TI K3 device tree updates for v7.2 SoC Specific Features and Fixes: J722S: - Use ti,j7200-padconf compatible for pad configuration - Add MCU and wakeup domain peripherals specific to J722S - Use J722S-specific compatibles for WIZ, gmii-sel and CPSW3G nodes Board Specific Features and Fixes: AM62x (Toradex Verdin): - Add display overlays: DSI-to-HDMI adapter, DSI-to-LVDS adapter with 10.1" panel, capacitive touch displays in 7" DSI, 10.1" DSI and 10.1" LVDS configurations, and Mezzanine with 10.1" LVDS display - Add NAU8822 Bridge Tied Load audio support - Add OV5640 CSI camera overlays - Add Verdin Mezzanine CAN overlay - Reserve UART_4 for Cortex-M4F use AM625: - Add support for TQ-Systems TQMa62xx SoM and MBa62xx carrier board, including new dt-bindings compatible strings AM62x (phyBOARD-Lyra): - Add DT overlay for Lincoln LCD185-101CT OLDI panel AM62-LP SK: - Add system-power-controller node AM62A7 SK: - Add bootph-all tag to vqmmc regulator for proper boot sequencing J721S2-som: - Add bootph-pre-ram property to PMIC-B for proper early boot sequencing
aspeed: First batch of ARM devicetree changes for v7.2
New platforms:
- Rainiera6 (Meta)
- SanMiguel (Meta)
Updated platforms:
- Anacapa: SGPIO line names and interrupt configuration
- Clemente: Remove TMP421 nodes
- Kommando: Enable networking via MAC2/MDIO2
- SanMiguel: Line names and interrupt configuration
AST2600 SoC updates:
- Describe PWM/Tach
- Describe I3C controllers
- Reorganise I2C nodes
Other notes:
91b9aed7381c ("ARM: dts: aspeed-g6: Add nodes for i3c controllers") current=
ly
causes a new warning:
... /ahb/apb/bus@1e7a0000/syscon@0: failed to match any schema with compa=
tible: ['aspeed,ast2600-i3c-global', 'syscon']
The patch necessary to address it has an R-b tag from Kryzsztof[2] but as b=
est
I can tell is yet to be applied to the MFD tree. I've left the change in fo=
r now
as the warning will resolve once the binding patch is applied.
Lastly, as part of improving support for the Kommando card Anirudh has also
addressed[1] the persistent pain we've had with the phy-mode property for t=
he
AST2600 MACs. Thanks to Andrew Lunn for being on the case for a while now, =
and
for those who tested Anirudh's patch.
[1]: https://lore.kernel.org/all/20260525-asus-kommando-v3-0-e6a0ca1b4a3e@g=
mail.com/
[2]: https://lore.kernel.org/all/20260425-poised-accomplished-hyena-d2c1a0@=
quoll/
nuvoton: First batch of arm64 devicetree changes for v7.2 Just the one patch adding ethernet nodes for the MA35D1 development board.
aspeed: First batch of driver changes for v7.2
While bc13f14f5cd3 ("soc: aspeed: cleanup dead default for
ASPEED_SOCINFO") was committed just now it has been in -next for a while as
b333a0f1c857411d83a02aa6f1d9ecc7666d6179. The commit is fresh as I moved it
between branches.
Other than that it's just the one other patch from Krzysztof tidying up the
location of MODULE_DEVICE_TABLE().
Hi SoC Maintainers, Yixun Lan RISC-V SpacemiT DT changes for 7.2 For K3 SoC - Add Ziccrse extension - Add PWM support - Add PDMA support - Add USB2.0 support - Add CoM260-IFX board - Add DeepComputing FML13V05 board - Fix I/O power of pinctrl For K1 SoC - Add Micro SD card support - Add baudrate to console - Add SPI support - Enable thermal sensor - Fix 32K clock For boards of K1 - Milk-V Jupiter - Enable eMMC - MusePi-Pro - Enable EEPROM/PCIe/QSPI/USB - OrangePi R2S - Enable PMIC/USB3 - OrangePi RV2 - Enable eMMC/I2C/PCIe/PMIC/QSPI/USB
T-HEAD Devicetrees for 7.2 Enable wifi on two TH1520 boards: BeagleV Ahead and Lichee Pi 4a. The BeagleV Ahead board uses an AP6203BM WiFi module connected to SDIO1. The Lichee Pi 4A has an RTL8723DS WiFi module also connected to SDIO1. The module reset line is driven through a PCA9557 GPIO expander on the I2C1 bus.
Tenstorrent device tree for v7.2 Add a riscv,pmu node to the Tenstorrent Blackhole SoC device tree. This enables OpenSBI to expose the SBI PMU extension, allowing Linux perf to use the 4 programmable counters (mhpmcounter3-6) across 3 event classes: instruction commit, microarchitectural, and memory system events. Extend the RISC-V IOMMU device tree bindings to document the Tenstorrent IOMMU used in the Tenstorrent Atlantis SoC. A second register range is added which contains M-mode only registers like PMAs and PMPs. The binding will be used by OpenSBI and potentially other M-mode software.
A little development in auxdisplay subsystem. Nothing really critical and can be merged in either v7.1 or v7.2 cycle. Patches were soaked in Linux Next for a few weeks. Please, pull. Thanks, With Best Regards, Andy Shevchenko auxdisplay for v7.2-1 * Fix potential out-of-bound access in line-display library * Miscellaneous refactoring and cleaning up
Hi Arnd and SoC folks,
On top of previous fixes tags/memory-controller-drv-fixes-7.1
(which contains only one commit)
Best regards,
Krzysztof
Memory controller drivers for v7.2
1. Tegra MC/EMC:
- Handle system sleep, necessary to re-program registers after system
resume. A few more improvements.
- Add Tegra114 and Tegra238 Memory Controller, and Tegra114 External
MC support.
- Grow Tegra264 support.
2. Renesas XSPI: Document RZ/T2H and RZ/N2H variants, compatible with
existing devices.
Hi Arnd and SoC folks, and Rafael+Daniel+Zhang+Lukasz, This is pull with firmware drivers built on top of my previous firmware fixes: tags/samsung-drivers-fixes-7.1-2. The code here will be also necessary for thermal tree for implementing actual TMU driver. Best regards, Krzysztof Samsung SoC drivers for v7.2 Improve Samsung Exynos (and Google GS101) ACPM (Alive Clock and Power Manager) firmware driver: 1. Few code improvements. 2. Add support for protocol used to communicate with Thermal Management Unit (TMU). This will allow to implement the thermal driver working for newer Samsung Exynos and Google GS101 SoCs.
Steven, RTLA patches for v7.2 - Fix discrepancy in --dump-tasks option Due to a mistake, rtla-timerlat-hist used the CLI syntax "--dump-task" instead of the documented "--dump-tasks". Change the option to match both documentation and the other timerlat tool, rtla-timerlat-top. - Extend coverage of runtime tests Cover both top and hist tools in all applicable test cases, add tests for a few uncovered options, and extend checks for some existing tests. - Add unit tests for actions rtla's actions feature is implemented in its source file and contains non-trivial parsing logic. Cover it with unit tests. - Stop record trace on interrupt Fix a bug where an interval exists after receiving a signal in which the main instance is stopped but the record instance is not, leading to discrepancies in reported results and sometimes rtla hanging. - Restore continue flag in actions_perform() Fix a bug where rtla always continues tracing after hitting a threshold even if the continue action was triggered just once, and add tests verifying that the flag is reset properly. - Migrate command line interface to libsubcmd Replace rtla's argument parsing using getopt_long() with libsubcmd, used by perf and objtool, to reuse existing code and auto-generate better help messages. Extensive unit tests are included to detect regressions. - Add -A/--aligned option to timerlat tools Add an option to align timerlat threads, based on the recently introduced TIMERLAT_ALIGN option of the timerlat tracer, together with unit tests and documentation. - Document tests in README Document how to run unit and runtime tests in rtla's README.txt, including the dependencies needed to run them. --- Two of the commits: - 534d9a93dbff2 tools subcmd: support optarg as separate argument - da62fc3458462 tools subcmd: allow parsing distinct --opt and --no-opt do minor changes to libsubcmd code needed for rtla. libsubcmd does not have a MAINTAINERS entry, but generally follows perf commit message style, so I also followed that instead of the tracing subsystem style. The tag was built and tested (make && make unit-tests && sudo make check) on 7.1-rc5 kernel, the same was also done after test-merge into next-20260528. No new issues were found. Signed-off-by: Tomas Glozar <tglozar@redhat.com>
Thanks, Jens OP-TEE updates for 7.2 - Fix kernel-doc warnings in optee_private.h and optee_msg.h - Allow MT_NORMAL_TAGGED shared memory to support ARM64 MTE buffers
Thanks, Jens AMD-TEE update for 7.2 Store buffer ID in tee_shm->sec_world_id and remove internal tracking structures to align with other TEE drivers
SoCFPGA Clock update for v7.2 - implement the l3_main_free_clk
Hi Miguel, There's one trivial import conflict with a patch that I took through the driver-core tree. Thanks, Danilo Alloc changes for 7.2-rc1 - Fix the Vec::reserve() doc test to properly account for the existing vector length in the capacity assertion - Fix an incorrect operator in the Vec::extend_with() SAFETY comment; add a doc test demonstrating basic usage and the zero-length case - Cleanup all imports in the alloc module and its doctests to use the "kernel vertical" import style
NIOS2: updates for v7.2 - Implement _THIS_IP_ for inline asm - Add Simon Schuster as a maintainer and mark the NIOS2 as Supported
Wolfram, for v7.2-rc1. Thanks, Bartosz Immutable branch betweeb the GPIO and I2C trees for v7.2-rc1 - add the gpiod_is_single_ended() helper function
From: Bjorn, consumer API. Thanks, Bartosz Immutable branch between the GPIO and PCI trees for v7.2 - add fwnode_gpiod_get() helper to GPIOLIB
Received: from fhigh-b7-smtp.messagingengine.com (fhigh-b7-smtp.messagingengine.com [202.12.124.158])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF3213246EC;
Sat, 9 May 2026 11:04:58 +0000 (UTC)
Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.12.124.158
ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
t=1778324700; cv=none; b=WgeV1Ue+51yW252SrqUIIit0AB4oHP8Zm43QrPk/IGpj3llqKl/dmsN7Dj2ffnIjxo3obCKGXPsniC0dqaRMP9w7ARTDgft435HmSThfyq+Sy4/52w9/XBR9E9pzWmEEewM6xu8rpBRUOHWVXmIdZ59oZPBTnHTt7sRqylW7H+I=
ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
s=arc-20240116; t=1778324700; c=relaxed/simple;
bh=DOaC/TlxANKYqj189x/Vjom6E7tSoJDFYVcRTh38yA0=;
h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:
ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=shutemov.name; spf=pass smtp.mailfrom=shutemov.name; dkim=pass (2048-bit key) header.d=shutemov.name header.i=@shutemov.name header.b=iYHwp/XR; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=WWrwA2q5; arc=none smtp.client-ip=202.12.124.158
Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=shutemov.name
Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=shutemov.name
Authentication-Results: smtp.subspace.kernel.org;
dkim=pass (2048-bit key) header.d=shutemov.name header.i=@shutemov.name header.b="iYHwp/XR";
dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="WWrwA2q5"
Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43])
by mailfhigh.stl.internal (Postfix) with ESMTP id A1D357A00BC;
Sat, 9 May 2026 07:04:56 -0400 (EDT)
Received: from phl-frontend-03 ([10.202.2.162])
by phl-compute-03.internal (MEProxy); Sat, 09 May 2026 07:04:57 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov.name;
h=cc:cc:content-type:content-type:date:date:from:from
:in-reply-to:in-reply-to:message-id:mime-version:references
:reply-to:subject:subject:to:to; s=fm1; t=1778324696; x=
1778411096; bh=6oOr15lhB2hYKh+9zKzPi4kv7JyYr4PGQI35DlaGm7s=; b=i
YHwp/XRv0gFo5lo0yIQ7J3BAhxjKzc3qK9tshRBnSUZQ7Mp9aH96+Wpnu1y3GWU3
UXBfnZHHE6GUePMKSrbBXQJuHtmVhe/9KdUqGG9+g4zhdo82l7Zcl1wNVDqlWfBm
0HyAlYwth+3lEoTET+zje/53ySJiy7rVG5PyRC/qflCORE5ANufiF3gyvsqWuejS
ZVvEM4pS0vD0A/QbxyDRXtHCw20oKudQDFFA2vBKGA/Scp+UFHsrubM4oYb3YfFc
0c7fd9TxoTejQVLLp8+rWmDTLqsAcWkkeCMi+qXc9w4jFWta2dg1XrRt9DqPoEyz
mI4Y4mK1w9pcw9kRHdNuA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
messagingengine.com; h=cc:cc:content-type:content-type:date:date
:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
:message-id:mime-version:references:reply-to:subject:subject:to
:to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=
1778324696; x=1778411096; bh=6oOr15lhB2hYKh+9zKzPi4kv7JyYr4PGQI3
5DlaGm7s=; b=WWrwA2q5wWAbrLhsibxkrHgSeKPAYsHWw5tDREWL+X9KWWCjoOm
Tj0iUCm3Rmp6aAVYyK0yk+R+NKby83yPn53wIwthTfHnJz78Oa+JTVE6rGNRep91
2Of0ERtNC5HHgqoOtjNNXOjXKmsdfZCqArYTECWPnOhPpkIjBdwdNRjI3iayuNW0
Ku4e941xohI8IdchY9oU3+dABYK1gmmjISegRnmXW+cjZopAT5nlGzrBtEgMXa3y
qCIx5172E05QgX+I87hfNYsFpD260mMQHZrZOJhi9LrA3VMcHTU3EerU5NK3G0iJ
4UA1Q7m4UdN+qOzIBTgOpGiEV+Tkcj6jVig==
X-ME-Sender: <xms:1xT_acQi0EO7qMXtDm8A4xH3bnC6oCtAL9JeMPzrFxCVmjuR-8BfRA>
<xme:1xT_aWNmGsd7QfhleS57DWKqiyZWzDjMW8wMj61CqFebOs00fkcCo1J_GMYeQxRep
mzAKkJ7NWCjvQhaeV2Rr38xPLdnBsTdqskHhcNt4OXctLA0IyfBgD8>
X-ME-Received: <xmr:1xT_aRHVXMYQDA8sKpZv8qc0jHN-p59Ib5Xi6t33yZoI8iHSHcCjEf_3clsKnA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduudeftdeiucetufdoteggodetrf
dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu
rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf
gurhepfffhvfevuffkfhggtggujgesthdtredttddtvdenucfhrhhomhepmfhirhihlhcu
ufhhuhhtshgvmhgruhcuoehkihhrihhllhesshhhuhhtvghmohhvrdhnrghmvgeqnecugg
ftrfgrthhtvghrnhepfeetheejudeujeeikeetudelvdevkeefuddtkedvtdehtdetieeu
ieetjeeugedtnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh
homhepkhhirhhilhhlsehshhhuthgvmhhovhdrnhgrmhgvpdhnsggprhgtphhtthhopeef
gedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepuggrvhhiugeskhgvrhhnvghlrd
horhhgpdhrtghpthhtoheprghruggsodhgihhtsehgohhoghhlvgdrtghomhdprhgtphht
thhopehlihhnuhigqdgrrhhmqdhkvghrnhgvlheslhhishhtshdrihhnfhhrrgguvggrug
drohhrghdprhgtphhtthhopehlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgv
lhdrohhrghdprhgtphhtthhopeifihhllheskhgvrhhnvghlrdhorhhgpdhrtghpthhtoh
eptggrthgrlhhinhdrmhgrrhhinhgrshesrghrmhdrtghomhdprhgtphhtthhopehmrghr
khdrrhhuthhlrghnugesrghrmhdrtghomhdprhgtphhtthhopegrrhgusgeskhgvrhhnvg
hlrdhorhhgpdhrtghpthhtoheprhihrghnrdhrohgsvghrthhssegrrhhmrdgtohhm
X-ME-Proxy: <xmx:1xT_aWga9cOpYE_pyhIBjzdsgHr_rfOj1BkR1y3iWOZMCR7O-JxLzQ>
<xmx:1xT_aVwT2YD9zGiOAPeWGTEZQ_AWNb9NzZ_CYTvN5hhr7Mxo-WSoZQ>
<xmx:1xT_aSrdIdu-kum0CJwm9VQK2P8SdtM--gColK0Mkz7qx_7Oip9pCw>
<xmx:1xT_abXbuN040Cx3-DrAvxcS65Gg5Dm0uUpPzmm_pOfKKNSxKF2kYw>
<xmx:2BT_aavA9QRV2e0u10CUCCw742gCNFuNq8s1eS7dSWg3LPMBFYhS18xw>
Feedback-ID: ie3994620:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
9 May 2026 07:04:54 -0400 (EDT)
Date: Sat, 9 May 2026 12:04:47 +0100
From: Kiryl Shutsemau <kirill@shutemov.name>
To: "David Hildenbrand (Arm)" <david@kernel.org>
Cc: Ard Biesheuvel <ardb+git@google.com>,
linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, will@kernel.org,
catalin.marinas@arm.com, mark.rutland@arm.com, Ard Biesheuvel <ardb@kernel.org>,
Ryan Roberts <ryan.roberts@arm.com>, Anshuman Khandual <anshuman.khandual@arm.com>,
Liz Prucka <lizprucka@google.com>, Seth Jenkins <sethjenkins@google.com>,
Kees Cook <kees@kernel.org>, Mike Rapoport <rppt@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org, linux-hardening@vger.kernel.org
Subject: Re: [PATCH v4 02/15] mm: Make empty_zero_page __ro_after_init
Message-ID: <af8UEuy-gfLj6DSV@thinkstation>
References: <20260427153416.2103979-17-ardb+git@google.com>
<20260427153416.2103979-19-ardb+git@google.com>
<3d1a6b5c-f3bf-462f-879a-cdb5b60868ac@kernel.org>
Precedence: bulk
X-Mailing-List: linux-kernel@vger.kernel.org
List-Id: <linux-kernel.vger.kernel.org>
List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org>
List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org>
MIME-Version: 1.0
In-Reply-To: <3d1a6b5c-f3bf-462f-879a-cdb5b60868ac@kernel.org>
Xref: nntp.lore.kernel.org org.kernel.vger.linux-kernel:6246641
org.infradead.lists.linux-arm-kernel:1287838
org.kernel.vger.linux-hardening:30785 org.kvack.linux-mm:566521
Newsgroups: org.kernel.vger.linux-kernel,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-hardening,org.kvack.linux-mm
Path: nntp.lore.kernel.org!not-for-mail
Hi Thierry, Shared tag between memory drivers and Tegra. Best regards, Krzysztof DT bindings for memory controller drivers Tegra SoC Devicetree bindings used by memory controller drivers and DTS for Tegra SoCs.