please pull s390 updates for 7.3-rc3. Thank you, Vasily s390 updates for 7.3-rc3 - Fix NULL pointer dereferences in s390dbf when setting debug levels or resizing debug areas while logging events. Remove duplicate messages about kernel parameter overrides - Fix PAI perf crashes when per task events move to newly onlined CPUs. Add CPU hotplug callbacks to allocate and free the per-CPU data - Fix mutex use in atomic context in AES and PAES CTR code by using semaphore trylocks instead. Remove conditional locking and enable Clang CONTEXT_ANALYSIS for the crypto code - Fix scatterlist walk error handling in AES and PAES and avoid freeing PAES walk resources twice - Fix missing scrubbing of temporary AES and PAES buffers, including AES GCM error paths - Set missing CRYPTO_ALG_ASYNC and CRYPTO_ALG_NO_FALLBACK flags for PAES - Fix -EBUSY handling in PAES and PHMAC to avoid cleaning up requests already queued to the crypto engine - Fix PAES and PHMAC requests being completed twice on errors - Fix PAES and PHMAC hangs when key conversion keeps returning -EBUSY by returning -EIO after the last retry
view, there's one notable fix here, reverting an earlier bogus fix to the pointer masking code. Fortunately the practical impact appears to be small. - Paul RISC-V updates for v7.3-rc3 - Revert a bad fix, likely LLM-generated, in the pointer masking code that confused the RISC-V hardware pointer masking implementation with the Linux kernel tagged address feature - Fix unexpected faults caused by kprobe instruction slot writes when !CONFIG_STRICT_MODULE_RWX - Fix unexpected faults on minimal configurations during runtime code patching on !CONFIG_STRICT_MODULE_RWX systems - Fix a misplaced variable clear causing incorrect reuse of previous values in the RISC-V hardware feature probing code - Fix two bugs in the PMU SBI perf code on rv32: use BIT_ULL rather than BIT on 64-bit masks; and use a bitmap rather than an unsigned long on a quantity that can exceed 32 bits And a few miscellaneous cleanups: - Avoid a potential dereference-before-NULL-pointer-check bug in the PMU SBI perf driver - Simplify the rv32 bug table code by using CONFIG_GENERIC_BUG_RELATIVE_POINTERS (following x86 and PPC) - Report the RISC-V standard ISA extensions Z[v]fhmin when support is claimed for the superset RISC-V standard ISA extensions Z[v]fh; and simplify our FPU test code to only check for the presence of the D extension - Use an existing kernel string helper in place of some open-coded code in kernel/usercfi.c - Fix some yamllint issues in the RISC-V DT bindings for CPUs - Convert one use of __ASSEMBLY__ to __ASSEMBLER__ that snuck into the RISC-V CFI selftest code - Update the translation for the simplified Chinese translation of the RISC-V kernel patch acceptance policy
Here is a platform-drivers-x86 fixes PR for v7.3. Fixes - amd/pmf: Fix build on !CONFIG_AMD_PMF_DEBUG - asus-laptop: Fix ACPI event handling - hp-wmi: Fix board_params typo for 8DD6 board - x86-android-tablets: Fix Arizona and Crystal Cove GPIO lookups Regards, i. platform-drivers-x86 for v7.3-2 Fixes - amd/pmf: Fix build on !CONFIG_AMD_PMF_DEBUG - asus-laptop: Fix ACPI event handling - hp-wmi: Fix board_params typo for 8DD6 board - x86-android-tablets: Fix Arizona and Crystal Cove GPIO lookups The following is an automated shortlog grouped by driver: amd/pmf: - fix build on !CONFIG_AMD_PMF_DEBUG asus-laptop: - Fix ACPI event handling hp-wmi: - Fix board_params typo for 8DD6 board MAINTAINERS: - fix sysfs-platform-ayaneo-ec documentation path x86-android-tablets: - add Crystal Cove GPIO swnode support - drop redundant swnode group on YT3 - fix Arizona GPIO swnode references - fix gpio_secondary_fwnode_init() not working - hold device reference for secondary fwnode teardown - pass node group to gpio_secondary_fwnode_init() - use shared battery swnode group on Yoga Tab 2
Nothing too exciting, usual stream of fixes. Including fixes from Netfilter, Bluetooth and WPAN. Current release - new code bugs: - Bluetooth: hci_sync: fix not setting CE length properly - eth: enic: match mailbox replies to request numbers Previous releases - regressions: - tunnels: drop stale dst when building an ICMP error for PMTUD - ipv6: null-check fib6_node before accessing in __ip6_del_rt_siblings() (bug in the rtnl_lock -> RCU conversion) - eth: bnxt_en: fix crashes on Thor2 due to OOB coalescing buffer accesses - eth: bnxt_en: prevent queue stop with deferred completions Previous releases - always broken: - eth: ice: don't dereference pointers from TP_printk() - eth: fix OOB writes on ethtool flow rule dump in 3 drivers - eth: mlx5: fix FEC configuration with RS_544_514_INTERLEAVED_QUAD - dsa: tag_brcm: legacy FCS: request needed tailroom Misc: - net: cap tx_queue_len at S16_MAX to prevent oversized ring alloc - ipv6: flowlabel: cap duplicate leases per socket Signed-off-by: Jakub Kicinski <[email protected]>
please pull some printk fixes from - Use lazy irq_work for waking printk kthreads. - Flush pending irq_work before destroying printk kthreads. - Remove redundant WARN() when a printk kthread can't be created. - Typo fix. The primary motivation for making the irq_work lazy is that pending IRQs block suspending and entering idle states on Tegra20 and Tegra30 platforms. They even did not boot after converting uart 8250 console driver to the nbcon API. It should be acceptable because printk kthreads are used for non-emergency messages. They have to wait until they get scheduled anyway. This seems to be the least hacky solution which might even have some positive effect in reducing the IRQ noise. And it allows to keep the converted uart 8250 console driver in 7.3. The discussion about the Tegra problems can be found at https://lore.kernel.org/lkml/[email protected]/ https://lore.kernel.org/all/[email protected]/
If this is too late in the cycle, no worries, I'll wait and do it in the second week of the v7.4 merge window for its -rc1. I only discovered earlier this week that Coccinelle had missed a bunch in the v7.0 tree-wide conversions due to its (silent) failure to parse functions using scope_guard() and family[1]. Since -rc2 hadn't cut yet, I thought if you wanted these now, I could get them to you. Anyway, here's the commit log repeated: This is another run of the Coccinelle script for converting kmalloc() family of allocations to kmalloc_obj() via the existing rules in scripts/coccinelle/api/kmalloc_objs.cocci This catches both the set of kmalloc() uses added since the first kmalloc_obj() conversions in v7.0 and adds a large group missed in the first pass due to Coccinelle not interacting well with the cleanup.h scoped_...() family of macros[1]. I worked around this with spatch's "--macro-file" argument to a file with all the scoped_...() macros mapped to Coccinelle's YACFE_ITERATOR[2] as that was the closest viable control flow indicator I could find. Build tested allmodconfig on x86, arm64, arm, loongarch, mips, powerpc, riscv, and s390 with no new warnings. Link: https://lore.kernel.org/lkml/202609021314.8A9C0B8@keescook/ [1] Link: https://github.com/coccinelle/coccinelle/blob/master/standard.h [2] Thanks! -Kees kmalloc_obj conversions for v7.3-rc2 - Run scripts/coccinelle/api/kmalloc_objs.cocci for v7.3
acpi-7.3-rc2 ACPI: bus: Drop two fields from struct acpi_device_pnp Linux 7.3-rc1 to receive an ACPI support update for 7.3-rc2. This drops two structure fields that have no more users after changes merged recently. Thanks!
Including fixes from bluetooth.
Previous releases - regressions:
- page_pool: keep frag_offset aligned for odd-sized requests
- sched: fix u32 duplicate handle when node ID pool is exhausted
- udp: create exceptions before socket matching
- igmp: convert struct ip_sf_list to RCU
- ip6_gre: check tunnel info before xmit in ip6gre_tunnel_xmit
- rds: acquire the fastpath locks in rds_conn_shutdown()
- tipc:
- protect node reset trace dump with node lock
- fix NULL deref in tipc_named_node_up() on empty publication list
- bluetooth:
L2CAP: fix out-of-bounds write in l2cap_ecred_connect
hci_core: fix race condition during device registration
- eth: mlx5e: prevent stale XSK buffer release on refill retries
- eth: bridge: don't truncate the port group walk on teardown
Previous releases - always broken:
- gro: fix nesting of TCP GSO SKBs in skb_gro_receive_list()
- sched: fix skb sizing and action leak on reoffload delete
- tcp: fix use-after-free in do_tcp_getsockopt()
- af_packet: don't cast tpacket_hdr.tp_len to int in tpacket_parse_header().
- sctp: fix soft lockup from unpadded ASCONF-ACK parameter iteration
- iptunnel: fix stale transport header during tunnel decapsulation
- eth: vxlan: fix use-after-free in vxlan_mdb_remote_src_del()
- eth: bonding: fix uninitialized transport header access in alb_determine_nd()
Signed-off-by: Paolo Abeni <[email protected]>
please pull a somewhat belated (and forgotten :-\) EDAC updates lineup fo= r v7.3-rc2. Scripts are fixed to avoid such an omission in the future. Thx a lot! --- - Mark the mpc85xx and ThunderX EDAC drivers as orphaned due to lack of access to hardware - Remove the unused fake error injection interface from the EDAC debugfs code due to potential races between logging a fake and a real hw error - edac_mc_sysfs: Use sysfs_emit_at() for proper bounds checking - Remove Mark Gross from maintainer entries and move him to CREDITS - Load the AMD address translation library only on systems which can actually make use of it (have ECC memory) instead of on every AMD Zen system out there - In edac_altera, detect the SoC variant using the ECC manager's compatible string instead of the build architecture to select the correct interrupt layout, and remove leftover architecture-specific ifdeffery from the double-bit error handling path - Add a new reviewer for the Xilinx EDAC drivers - Unify address translation logic in Intel client EDAC drivers igen6 and ie31200 along with detecting memory controller counts at boot time instead of relying on hardcoded, platform specific numbers. Also, fix a bunch of issues in them; work by Qiuxu Zhuo - Add support for a new Intel processor platform Starfire which is a derivative of Panther Lake SoCs - The usual cleanups and fixlets all over
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Coccinelle patches for Linux v7.3 Sang-Heon Jeon <[email protected]> has cleaned up a number of the semantic patches in the scripts/coccinelle directory, particularly with respect to functions that no longer exist in the kernel. He and I have also done some reorganizations that improve performance. I eliminatd some false positives. $BAj1:>4(J / AIURA$B!$(JAKIRA <[email protected]> fixed an out of date URL.
This pull request contains updates for UBI and UBIFS: UBI: - Support for a per-device wear-leveling threshold - Various fixes and cleanups of error paths - Correctly preserve torture flag up wear-leveling UBIFS: - Various fixes and cleanups of error paths and kernel-doc
Could you please consider this pull request?
Thanks,
f2fs-for-7.3-rc1
In this round, key enhancements focus on reducing inode management memory
overhead, introducing resizable tail sections with unified pinned allocation,
and boosting I/O throughput via parallel multi-device flushes and asynchronous
f2fs_write_end_io() execution. We also add dynamic device alias reservations to
allow on-the-fly space donation from user partitions.
Alongside these features, critical bug fixes resolve folio race conditions,
lingering dirty flags, dentry and block counter leaks, and potential deadloops
in f2fs_fsync_node_pages(). Additional stability patches address error-path
handling across symlink, sync, and rename/unlink operations, prevent pinned file
fragmentation, and correct segment migration and free section accounting in
free_segment_range.
Enhancement:
- reduce memory footprint of ino management
- support dynamic reserve/release for device aliasing
- issue multi-device flushes in parallel
- add a way to run f2fs_write_end_io() asynchronously
- support resizable tail section and unify pinned allocation
Bug fix:
- fix to pass folio->index to f2fs_sanity_check_node_footer()
- fix folio_nr_pages() race after put in large folio invalidate
- fix to clear dirty flag on folio in error path
- accurately adjust free_sections during free_segment_range
- fix to avoid potential deadloop in f2fs_fsync_node_pages()
- fix the error path in symlink, device alias in rename/unlink,
f2fs_sync_fs,
- fix to migrate all curseg types during free_segment_range
- fix to avoid pinfile fragment on fragment:{block, segment} mode
- fix valid block count leak on data block allocation failure
- fix dentry folio leak in find_in_level
- reject overlapping move range after len expansion
- fix some bugs related to file pinning, GC functions, i_size.
And, the series includes a number of minor bug fixes.
Here is the RTC subsystem pull request for 7.3. The RZN1 driver got a fairly comprehensive cleanup. More DT binding are converted to DT schema, leaving only 5 remaining files to convert. RTC for 7.3 Subsystem: - patchwork project is moving to kernel.org - fully initialize clk_init_data - add missing MODULE_DEVICE_TABLE() - DT bindings conversions to DT schema Drivers: - ds1307: fix WADA bit for alarms on RX8130 - rzn1: add support for RZ/T2H and RZ/N2H, many fixes
Including fixes from Bluetooth, IPSec and Netfilter.
Current release - fix to a fix:
- netfilter: ipset: remove need to allocate memory on delete operations
Current release - regressions:
- macb: drop CONFIG_OF #if block, fix build
Previous releases - always broken:
- stream of fixes for SCTP continues
- inet: frags: strip GSO state from fragments before reassembly
- virtio-net: ensure that TCP packets don't overflow gso_segs
- tcp-ao: fix use-after-free of current_key on reconnect to another peer
- page_pool: remove zone/policy GFP flags when allocating XArray entries
- Bluetooth: L2CAP: reject accept queue add unless BT_LISTEN
- tls: device: fix out-of-bounds write in tls_append_frag()
- eth: bnxt:
- ring the doorbell when SW USO exits early, avoid packets stuck in Tx
- gate TPH enablement behind BNXT_SUPPORTS_QUEUE_API check, avoid users
of older NICs seeing non-actionable warning messages
- eth: qede: fix NULL pointer dereference in TPA fragment processing
Signed-off-by: Jakub Kicinski <[email protected]>
LEDs for v7.3
- New Support & Features
- Core: Extend netdev trigger speeds up to 100G.
- PWM Multicolor: Introduce default-intensity property.
- Analog Devices LTC3220: Add support for 18 channel LED driver.
- NXP PCA963x: Add multicolor LED class support.
- Improvements & Fixes
- GPIO: Clear error pointers for skipped LEDs.
- Broadcom BCM63138: Use %pe to print pinctrl error instead of %ld.
- ISSI IS31FL319x: Modernize device registration by using fwnode APIs.
- NXP PCA9532: Fix inverted GPIO output polarity.
- NXP PCA9532: Fix phantom device registration on missing hardware.
- STMicroelectronics ST1202: Correct and extend hw_pattern documentation.
- STMicroelectronics ST1202: Fix channel disable logic on zero brightness and ensure
brightness changes are applied in active mode.
- STMicroelectronics ST1202: Fix hardware pattern sequence programming, validate inputs,
and correct pattern duration calculations.
- STMicroelectronics ST1202: Validate LED reg property against channel count.
- TI LP5860: Fix a potential double-unlock during device initialization and fix error
handling path by using devm_mutex_init().
- Cleanups & Refactoring
- GPIO: Make legacy gpiolib interface optional.
- Device Tree Binding Updates
- Core: Add default-intensity property.
- Core: Document "gpio" trigger.
- Analog Devices LTC3220: Add DT binding for LTC3220 18 channel LED Driver.
- Broadcom BCM6358: Convert to DT schema.
- LaCie NS2: Convert to DT schema.
- NXP PCA963x: Add multicolor LED support.
- NXP PCA963x: Fix reg maximum for pca9635.
- TI TPS65217: Convert backlight bindings to DT schema.
Backlight for v7.3
- New Support & Features
- Silergy SY7758: Add driver for the 6-channel high-efficiency LED driver
- Improvements & Fixes
- Awinic AW99706: Fix device tree property names to match the binding, consistently
validate all property values, and honor the core blank state in `update_status()`
- Kinetic KTD2801: Add missing dependency on `GPIOLIB` in Kconfig
- Qualcomm WLED: Remove redundant `dev_err()` calls
- Cleanups & Refactoring
- Core: Use `sysfs_emit()` instead of `sprintf()` in sysfs show callbacks
- Maintainers: Update Junjie Cao's email address for the Awinic AW99706 driver
- Device Tree Binding Updates
- Marvell 88PM860X: Add missing bracket in the example
- Silergy SY7758: Document the 6-channel high-efficiency LED driver
MFD for v7.3
- New Support & Features
- MediaTek MT6397: Add mt6323 AUXADC support.
- MediaTek MT6397: Add mt6323 EFUSE support.
- Spreadtrum SC27xx: Add SC2730 regulator cell.
- Improvements & Fixes
- Apple SMC: Fix key count endianness annotation.
- Azoteq IQS62x: Reject zero-length firmware records.
- ChromeOS EC: Introduce cros_ec_read_features helper and read features during
probe to catch transfer errors.
- Cirrus Logic CS42L43: Fix regmap defaults ordering.
- Cirrus Logic CS42L43: Remove redundant NULL checks on SoundWire.
- Congatec Board Controller: Fix teardown ordering in cgbc_remove().
- HP iPAQ Micro: Fix out-of-bounds stack read in ipaq_micro_str.
- Marvell 88PM886: Initialize the battery page.
- QNAP MCU: Keep the reply buffer alive past a command timeout.
- RAVE SP: Validate received frame payload lengths.
- Silicon Labs Si476x: Drop duplicate NULL checks.
- Silicon Labs Si476x: Modernize GPIO handling.
- Silicon Motion SM501: Fix potential memory leaks during remove.
- UCB1x00: Convert Assabet gpio-keys to use software nodes and register software
node for GPIO controller.
- Viperboard: Fix native fields type in structures as little-endian.
- Viperboard: Remove redundant NULL check before kfree().
- X-Powers AXP20x: Preserve other control bits when powering off.
- Cleanups & Refactoring
- Core: Drop unused assignment of spi_device_id driver data.
- Core: Initialize spi_device_id arrays using member names.
- Core: Unify style of spi_device_id arrays.
- Maintainers: Add Intel LPSS section to follow the changes.
- Maintainers: Add a mailing list entry to MFD.
- Cirrus Logic CS42L43: Format sdw_device_id table.
- Cirrus Logic CS42L43: Use new SoundWire enumeration helper.
- ROHM PMIC: Factor out power button registration and convert gpio-keys to use
software nodes.
- ST-Ericsson DB8500: Fold dbx500 header into db8500.
- Device Tree Binding Updates
- Core: Add techvision vendor prefix.
- Marvell 88PM886: Allow vbus regulator.
- MediaTek MT8195 SCP: Add support for MT8189 SoC.
- Qualcomm SPMI PMIC: Document PMG1110.
- Qualcomm SPMI PMIC: Document haptics device.
- Qualcomm TCSR: Add compatible for Hawi and Maili SoCs.
- Qualcomm TCSR: Add compatible for Shikra.
- Qualcomm TCSR: Document the IPQ9650 TCSR block.
- STMicroelectronics STMPE: Fix typo st,stmpe601 (should be st,stmpe610).
- Syscon: Add ESWIN EIC7700 compatible.
- Syscon: Allow syscon compatible for Loongson-2K0300 chip id.
- Syscon: Disallow simple-bus with syscon.
- Syscon: Drop custom select for older dtschema.
- TI OMAP USBHS TLL: Convert to DT schema.
upcoming -rc cycle. I'm seeing no present or upcoming conflicts. Thanks. mm.git review status for linus..mm-stable Everything: Total patches: 171 Reviews/patch: 1.83 Reviewed rate: 82% Excluding selftests: Total patches: 149 Reviews/patch: 1.77 Reviewed rate: 80% Excluding selftests and maple_tree: Total patches: 129 Reviews/patch: 1.99 Reviewed rate: 89% Summary of patch series in this merge: - "mm/rmap: index MAP_PRIVATE file-backed folios by anonymous pgoff" (Lorenzo Stoakes): Index MAP_PRIVATE file-backed folios by their anonymous page offset to resolve confusion around reverse mapping for zeroed and CoW'd file-backed memory. Use this new VMA anonymous page offset tracking to eliminate index conflicts and lay the foundation for scalable CoW performance improvements. - "promote mapped executable folios after first usage for MGLRU" (Baolin Wang): Make MGLRU's protection of mapped executable file folios more reliable. Follow the classical LRU's logic, promoting mapped executable file folios after their first usage to give executable code a better chance to stay in memory and improve workload performance. - "mm: vmscan: fix node reclaim ignoring swappiness parameter" (Ridong Chen): Fix per-node proactive reclaim interface's ignoring the swappiness parameter when CONFIG_MEMCG is disabled by consolidating sc_swappiness() into a single function that checks proactive_swappiness regardless of kernel configuration. - "mm/vmscan: reduce lru_lock contention via vmstat-derived scan-balance cost" (Usama Arif): Reduce lru_lock contention in the reclaim path by deriving scan-balance costs from vmstat counters rather than lock-acquired producer updates. Read and decay these cost signals on the reclaim side under a dedicated per-lruvec lock, reducing total LRU lock wait time by over 60% without impacting scan throughput. - "zram: fix zram issues reported by sashiko" (Sergey Senozhatsky): Fix two low-risk zram bugs which Sashiko spotted in drive-by review. - "Honor XA_FLAGS_ACCOUNT in xas_split_alloc() and charge to folio's memcg" (Zi Yan): Fix xas_split_alloc() by enabling target folio memcg charging during splits and adding the missing __GFP_ACCOUNT flag for proper XArray node memory accounting. - "selftests/mm: use pattern matching in .gitignore" (Pratyush Mallick): Replace hardcoded binary names in selftests/mm/.gitignore with a generic pattern-matching rule to automatically ignore generated test files and avoid manual updates when adding new tests. - "mm/page_ext: remove pgdat_page_ext_init()" (Sang-Heon Jeon): Make the incompatibility between FLATMEM and NUMA explicit in mm/Kconfig and remove the unused pgdat_page_ext_init() function. - "zram: fix zstd error paths and add parameter validation" (Haoqin Huang): Clean up zram compression backends by removing redundant error cleanup, adding parameter and dictionary validation, auto-prefixing algorithm error logs, and resetting parameters prior to reinitialization. - "zram: fix stale scan bounds after reinitialization" (Longlong Xia): Prevent out-of-bounds slot accesses during concurrent zram resets by moving table scan bound calculations under dev_lock in writeback_store() and read_block_state(). - "add anon mTHP collapse test cases" (Baolin Wang): Extend selftests helper functions to support arbitrary page orders and add new test cases and options for mTHP collapse in khugepaged. - "selftests/mm: Handle unsupported and transient test conditions" (Muhammad Usama Anjum): Update MM selftests to report a SKIP status instead of a failure when required kernel or filesystem features are unsupported, while adding retry logic for transient page migration errors. - "mm/zswap: Fixes and improves the zswap shrink" (Hao Jia): Fix the missing zswap global shrinker when CONFIG_MEMCG is disabled and extend shrink_memcg() to support batch writeback for improved writeback efficiency. - "alloc_tag: introduce IOCTL-based filtering for MAP" (Suren Baghdasaryan): Introduce an IOCTL-based binary interface for memory allocation profiling that enables kernel-side filtering before per-CPU counter aggregation. This eliminates the text-parsing overhead of /proc/allocinfo and provides up to a 20x speedup by transferring only filtered allocation data to userspace. - "better block swap batching and a different take on swap_ops v5" (Christoph Hellwig): Refactor block swap I/O to use swap_iocb for batching instead of single-bio requests and rebase the swap_ops interface, achieving faster swap throughput during kernel builds. - "mm: kmemleak: reduce transient false positives by confirming leaks" (Catalin Marinas): Reduce false-positive kmemleak reports by combining two kmemleak enhancements that add a second confirmation scan and a configurable minimum unreferenced scan count module parameter. - "mm: kmemleak: default min_unref_scans to 2 for verbose kernels" (Breno Leitao): Auto-scanning kernels can generate false-positive memory leak reports on single scans, so this patch defaults min_unref_scans to 2 when CONFIG_DEBUG_KMEMLEAK_VERBOSE is enabled to require a second confirming scan. - "swap_ops updates" (Christoph Hellwig): Batching I/O for synchronous swap devices causes performance regressions and filesystem-based swap suffers from double-indirection overhead. This series resolves both issues by reintroducing per-folio writes for synchronous swap and allowing filesystems to directly export their own swap_ops. - "mm/khugepaged: several cleanups" (Nico Pache): khugepaged accumulated redundant state-checking patterns and outdated comments following mTHP integration. Introduce dedicated helpers for PTE validation and event counting while refreshing the internal documentation. - "maple_tree: lock checking and clean ups" (Liam Howlett): Syzbot reports incorrectly blame memory management exit paths for locking bugs, maple tree erase operations risk allocation failures without gfp flags and internal documentation lacks clarity. Improve lock error detection, update docs, fix race and allocation edge cases and optimize erase allocations using a fallback to GFP_KERNEL | GFP_NOFAIL.
hyperv-next for v7.3-rc1 - Decrypt netvsc buffer on contiguous direct-map addresses (Kameron Carr) - Drop WS2012/2012R2 & Win8/8.1 Hyper-V support (Michael Kelley) - Use more meaningful errnos for hypercall status code (Hardik Garg) - Fix lost interrupts on CPU hot-unplug for Hyper-V PCI/MSI (Naman Jain) - Reserve more MSHV vectors for Linux root partition (Wei Liu)
thermal-7.3-rc1-2 thermal/drivers/qcom-spmi-mbg-tm: Add module namespace import for IIO_CONSUMER 'thermal-tools' to receive the second part of thermal control updates for 7.3-rc1. This mostly consists of assorted updates of thermal drivers, including new hardware support (Airoha AN7583, Qualcomm Master BandGap thermal monitor, QCom PMIC5 Gen3 ADC), but it also includes two reverts of recent cosmetic thermal core updates that went against driver core plans to eliminate class_create(): - Fix missing bitfield include headers in Armada and QCom SPM BMG drivers (Daniel Lezcano) - Fix missed file when manually applying a change after a conflict resolution for the QCom SPMI ADC TM5 Gen3 (Daniel Lezcano) - Move thermal_zone_device_enable() to the right place in order to prevent calling it if the thermal zone registration failed (Dan Carpenter) - Improve bitfield manipulations on Armada (Bryan B. Lima) - Remove unneeded 'fast_io' on Sun8i and Armada (Wolfram Sang) - Fix wrong boundary when clamping the low values in the set_trips() callback and fix wrong mask when setting the temperature interval on Airoha (Christian Marangi) - Make use of the regmap API to support Airoha AN7583 (Christian Marangi) - Fix adc_tm5_get_temp() return check value on the QCom SPMI ADC sensor (Rakesh Kota) - Fix unbalanced clock enablement when the resume fails on the iMX driver (Can Peng) - Add Qualcomm Master BandGap thermal monitor support (Satya Priya Kakitapalli) - Add Maili Temperature bindings compatible (Haritha S K) - Add a devm action to clean hardware interrupts, sampling, and control registers on Spacemit K1 (Pei Xiao) - Fix trivial typo in a thermal OF code comment (Marek Vasut) - Remove unnecessary print on Qcom SPMI ADC driver when a call to devm_request_threaded_irq() fails as this one already prints a message (Jishnu Prakash) - Add support for QCom PMIC5 Gen3 ADC by using auxiliary driver and shared interrupt with the IIO driver (Jishnu Prakash) - Make resets optional on MT8196 and add the corresponding property in the DT bindings (AngeloGioacchino Del Regno) - Fix clock staying enabled on failing resume operation on Qoriq (Can Peng) - Fix wrong closing brace position in thermal library header (Andreas Haufler) - Fix low and high trip point validation by moving the check after the clamp on the spacemit driver (surendra) - Remove redundant error messages on IRQ request failure (Pan Chuang) - Add IIO_CONSUMER namespace import to the qcom-spmi-mbg-tm thermal driver to avoid modpost warnings that would appear after merging the iio tree against the thermal updates (Nathan Chancellor) - Revert two recent cosmetic updates of the thermal core conflicting with driver core plans to eliminate class_create() (Rafael Wysocki) Thanks!
pm-7.3-rc1-2 Merge tag 'pm-7.3-rc1' of to receive more power management updates for 7.3-rc1. These fix two issues in the intel_rapl power capping driver, fix a potential issue in the schedutil cpufreq governor on 32-bit systems, fix a runtime PM issue related to failing system suspend, and update the intel_pstate cpufreq driver: - Fix a kernel panic during PMU unbind in the intel_rapl power capping driver and sign-extend the PMU delta on counter wraparound in it to avoid misreporting energy (Sumeet Pawnikar and Yifan Li) - Unblock runtime PM when device prepare fails that was not done by mistake (Shibo Zhu) - Fix possible rate limit overflow on 32-bit systems in the schedutil cpufreq governor (Hui Su) - Consolidate HWP P-states initialization in the intel_pstate cpufreq driver and make that driver avoid using the DESIRED_PERF HWP hint when the Dynamic Efficiency Control (DEC) is enabled in the processor to avoid inconsistent behavior (Rafael Wysocki) Thanks!
acpi-7.3-rc1-2 Merge tag 'acpi-7.3-rc1' of to receive more ACPI support updates for 7.3-rc1. These update documentation to reflect recent changes in the upstream ACPICA project, fix issues in the core ACPI device enumeration code (one of which has been introduced recently), improve the primary "physical" device lookup for ACPI device objects in that code, and update ACPI device drivers: - Update MAINTAINERS, CREDITS and ACPI subsystem documentation to reflect recent changes in the upstream ACPICA project (Rafael Wysocki) - Prevent the core ACPI enumeration code from combining device resources that overlap completely in order to avoid resource conflicts during platform device registration because there are drivers that expect such resources to be present (Rafael Wysocki) - Defer device power initialization during ACPI-based device enumeration to the point when the given device is known to be present and functional and all of its dependencies have been met (Peixin Xie) - Fix bus ID cleanup on device_add() failures during ACPI device object registration (Hongyan Xu) - Introduce a new helper function for looking up the primary "physical" device for a given ACPI device object and update the core ACPI device enumeration code to use that function (Rafael Wysocki) - Protect all battery properties with a separated mutex in the ACPI battery driver to prevent race conditions from occurring and avoid evaluating the _BST ACPI control method multiple times in parallel for the same battery device (Rong Zhang) - Add DMI quirk for the Razer Blade Pro 17 early 2020 lid switch to the ACPI button driver (Robin Everaars) - Convert fixed clock rates in the ACPI driver for AMD SoCs (APD) to use HZ_PER_MHZ and add a clock frequency for the HJMC01 I2C controller to it (Hongnan Li and Xiangyang Yu) - Fix a stack buffer overflow in query_capability() in the ACPI platform firmware runtime update driver (Anirudh Prasad) This material had a merge conflict against the driver core tree in linux-next as per https://lore.kernel.org/lkml/[email protected]/ Thanks!
A handful of late-arriving fixes, a Japanese translation that was ready long ago but fell through the cracks, and an update to the Italian translations.
I know this is running late, I have an alternate PR with just the bug
fixes if you prefer. I ended up having to drop a couple of patch sets,
and pulled in a couple of the simpler bug fixes late. I have a few
more bug fixes coming but they will have to wait a week or two.
These patches have all been merge, build, and regression tested
against your tree as of yesterday. The majority of the code has had
several weeks of testing, both in linux-next and the Ubuntu kernels.
The biggest functional change is Jann Horn's fix for how aparmor is
doing stale cred updates after a policy replacement.
apparmor: fix cred UAF caused by begin_current_label_crit_section()
It moves the update to be done during task_work at the end of the
syscall.
The current patch set has one major feature which is allowing policy
to be compressed in userspace instead of after the fact (in kernel) if
we need to hold onto it for CRIU/introspection. This is responsible
for the majority of the diffstat in apparmorfs.c
The other major change is to do with network mediation. It is a lot of
code churn but does not do any functional changes to mediation. It
moves the code around, and refactors it to use newer patterns for
consistency, and in preparation for some improvements in mediation in
a future patchset. This change is responsible for the majority of the
diffstat in lsm.c and af_inet.c
The cleanup of the mount mediation to the newer patterns and macros is
responsible for the majority of the mount.c diffstat.
With the constification of code being the next largest contributor to
the diffstat.
thanks
- john
+ Features
- support loading compressed policies
- add audit mode to provide a mechanism to silence complain messages
- refactor network mediation to use new patterns, and prepare
to for extended inet mediation (no functional change)
+ Cleanups
- switch website link to https
- make include headers self-contained, and fix circular include
- constify aa_label, aa_dfa, aa_profile, and aa_perms paraneters
- mark static tables and structs as read only
- drop use of _confined variant for iteration
- refactory mount to use check_perms
- refactor network mediation code to be together
- refactor xattr attachment, to take the file path
- optimize current_label_crit_section()
- leverage audit_log_n_untrustedstring() when possible
+ Bug Fies
- initialized policy lists heads before fail path
- fix deadlock in complain-mode change_hat
- auditing of mount binary data
- fix error debug output in fn_label_build
- fix race condition in label replacement
- fix unconfined user namespace restriction forced stack
- fix error handling for copy_from_user in policy_update
- fix out-of-bounds write when null terminating a label vec
- fix integer overflow in verify_tags() bounds check
- fix cred UAF caused by begin_current_label_crit_section()
- use SEND_SIG_NOINFO instead of NULL in aa_audit()
of the power sequencing updates and it does a tree-wide rename of two of the public functions to better reflect their actual semantics. This has been acked by the maintainers of the affected subsystems. Thanks, Bartosz power sequencing updates for v7.3-rc1 - rename pwrseq_power_on/off() to pwrseq_enable/disable() tree-wide
hwspinlock updates for v7.3 Propagate single-lock registration failures from radix_tree_insert(), making caller sanity checks effective. Update the hwspinlock MAINTAINERS repository URL to the current remoteproc tree.
rpmsg updates for v7.3 Fix a GLINK endpoint teardown deadlock during driver detach and order SMEM FIFO reads after the remote-updated availability check. Prevent duplicate rpmsg character endpoint teardown when remoteproc shutdown races with RPMSG_DESTROY_EPT_IOCTL. Replace unsafe string and sysfs formatting helpers, and correct the unregister_rpmsg_driver() return value documentation.
remoteproc updates for v7.3 Add a remoteproc driver and binding for AMD MicroBlaze/V soft cores executing from dual-port BRAM, with clock and reset control and support for firmware without a resource table. Introduce a generic Qualcomm PAS service with SCM and OP-TEE backends, and migrate the PAS, MSS, and WCNSS remoteproc drivers to it. Add Nord ADSP and CDSP support, Eliza CDSP support, Maili ADSP/CDSP bindings, and late-attach SoCCP support for Kaanapali, Hawi, Maili, and Glymur. Enable BAM-DMUX child devices for PAS modems and fix PAS memory protection, handover, shutdown, and resource lifetime handling. Harden remoteproc lifecycle handling by attaching asynchronously, stopping crashed processors, synchronizing crash work with removal, and forcing shutdown before device resources are released. Reallocate resources during attach recovery and fix several reference and error-path leaks. Add Xilinx R5 crash detection and move RPU start and stop sequencing into the platform firmware driver. Consolidate write-combining carveout mapping callbacks, use correct I/O-memory accessors, and share optional ELF resource-table handling across drivers. Convert the TI Wakeup M3 binding to DT schema, correct Qualcomm and generic remoteproc bindings, and harden resource-table iteration against signed-offset out-of-bounds accesses.
Could you consider these extra patches for 7.3-rc1?
All commits are quite small, so I guess there's no need to delay them.
One patch from Geert addresses EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS
again, so that "make savedefconfig" won't write the needless default
value to the defconfig file. It avoids unnecessarily enlarging the
defconfig files and reduces churn when updating them.
In addition, there are small changes to enhance the page cache sharing
feature to support SEEK_{HOLE,DATA}, splice(), and large folios.
The remaining one fixes an issue in z_erofs_gbuf_growsize() as below.
All commits have been in -next and no potential merge conflict is
observed.
Thanks,
Gao Xiang
Changes since last update:
- Fix up the EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS default logic so that
"make savedefconfig" won't write the needless default value to the
defconfig file
- Add support for SEEK_{HOLE,DATA}, splice() as well as enable large
folios in inode_share mode
- Fix z_erofs_gbuf_growsize() after the previous buffer resizing fails
TTY / Serial driver updates for 7.3-rc1 Here is the "big" set of tty and serial driver updates for 7.3-rc1. Not really all that much happened this development cycle for this subsystem, changes in here are: - removal of the ipwireless driver as it's no longer used or needed - new 8250_mxpcie driver added - qcom serial driver updates and additions - vt mode validation addition - lots of other small serial driver updates and additions All of these have been in linux-next for weeks with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]>
USB / Thunderbolt changes for 7.3-rc1
Here is the big set of USB and Thunderbolt driver updates for 7.3-rc1.
Lots of driver work for new devices and systems, and many other minor
fixes and updates. Included in here are:
- Thunderbolt subsystem driver updates and additions
- typec driver updates and additions
- usb gadget fixes all over the place, seems like people are finally
paying attention to these drivers for some reason
- xhci driver updates and fixes based on lots of reports
- usb-serial driver updates and additions
- new device ids
- other minor USB driver updates and fixes
All of these have been in linux-next for a while with no reported issues
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Staging driver updates for 7.3-rc1
Here is the big set of drivers/staging/ updates for 7.3-rc1.
Nothing major in here at all, just lots of tiny coding style cleanups,
refactoring, and minor "fixes" as found by some tools. Included in here
- loads of coding style and refactoring in the rtl8723bs wireless
driver
- minor greybus driver cleanups
- minor sm750fb driver cleanups
- other even smaller driver cleanups
All of these have been in linux-next for a weeks with no reported
issues.
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Char/Misc/IIO/etc driver update for 7.3-rc1
Here is the big set of char, misc, iio, counter, fpga, and other small
driver subsystems for 7.3-rc1.
Overall, due to some driver removals we only added a bit more code than
removed, which was a nice change. Highlights in this merge request are:
- Loads of IIO driver updates and additions
- binder driver updates (more on that below...)
- Removal of the SGI XP and GRU drivers as they are not used anymore
and turn out to be pretty insecure overall
- Removal of the obsolete ibmasm driver as it's not being used anymore
- Coresight driver updates and additions
- Mei driver udpates
- Counter driver updates
- FPGA driver updates
- ICC driver updates
- lots and lots of other tiny driver updates to resolve reported
issues
All of these have been in linux-next for a while, with the only reported
issues being some major merge conflicts. Miguel pointed out some of
these with the Rust tree merge, which is the majority of them. I'll
follow up with a diffstat of the merge resolution I made against your
most recent tree, which works for me.
Signed-off-by: Greg Kroah-Hartman <[email protected]>
This is ntfs update pull request for v7.3-rc1. I add a description of Thanks! This contains 52 commits with improvements to compression support, metadata handling, error propagation, and filesystem robustness. New feature: - Add optional read support for Windows System Compression (WOF). Add CONFIG_NTFS_FS_WOF_COMPRESSION and support reading WOF-compressed files through the NTFS page-read path. This includes parsing REPARSE_TAG_WOF, handling resident and non-resident WOF metadata and compressed chunks, and adding kernel-side XPRESS 4K/8K/16K and LZX 32K decompressors. The codecs use a common transparent compression interface shared with LZNT1. WOF support is read-only and disabled unless explicitly enabled. Other changes: - Harden malformed filesystem handling and error paths. Add bounds and consistency checks for mapping pairs, run lengths, MFT locations, update-sequence offsets, non-resident attributes, compressed attributes, index roots, and bitmap scans. Prevent out-of-bounds accesses in decompression, MFT allocation, and index conversion paths, clean up MFT mappings and attribute search contexts on failure, and propagate attribute and inode initialization errors correctly. - Improve compressed-file I/O path. Fix compressed writes on large-page and highmem systems, reuse compression contexts and output workspaces, avoid unnecessary reads for full-unit overwrites, and submit one bio per compressed write unit. Write replacement data before publishing the new mapping, correctly handle zero-filled compressed blocks, and fix initialized-size and folio state updates after compressed writes. - Synchronize resident reads with MFT record updates. - Validate the final EA stream size before modifying existing data, rewrite the stream safely when replacing entries, restore the previous state when metadata updates fail, and remove the EA attribute pair when the last entry is deleted. - Apply Windows filename restrictions only when windows_names is enabled. - Allow index roots to relocate to extent MFT records when the base record lacks sufficient space. - Move non-resident attribute payload data before shrinking its record. - Correct resident-to-non-resident conversion when compression or sparse flags are enabled. - Prepare file allocation and initialized-size updates before buffered or direct I/O submission, and use pagecache_isize_extended() when extending the file size. - Fix highmem and page/folio access in compressed I/O paths by using the correct local mappings and page helpers. - Apply per-file $LXMOD permissions instead of mount masks when available, and prevent unprivileged writes to reserved $LX* attributes. - Update the NTFS maintainer mailing list. - Four small cleanups.
Sorry for sending this pull request last minutes. This branch missed the last
merge window and had been sitting in the for-next branch; I nearly forgot about it.
Bootconfig updates for v7.3:
- bootconfig: Support build-time command line rendering for embedded bootconfig
. bootconfig: render descendant keys when xbc_snprint_cmdline() root has a
value. Fix xbc_snprint_cmdline() to render descendant keys when the root
has both a value and subkeys, and treats empty subtrees correctly.
. bootconfig: render embedded bootconfig as a kernel cmdline at build time.
Add build-time pipeline using tools/bootconfig -C to render the embedded
bootconfig "kernel" subtree into .init.rodata as a cmdline string.
. bootconfig: clean build-time tools/bootconfig from make clean.
. bootconfig: add xbc_prepend_embedded_cmdline() helper.
Add helper to prepend embedded bootconfig cmdline into boot_command_line
early before parse_early_param().
. x86/setup: prepend embedded bootconfig cmdline before parse_early_param.
Wire early prepend helper in x86 setup_arch() so early_param handlers see
values from the embedded bootconfig. (So this feature is currently x86 only)
. bootconfig: skip runtime kernel.* render once prepended early.
Avoid duplicating "kernel" keys in setup_boot_config().
. init/main.c: use bootconfig_cmdline_requested() for the runtime opt-in.
Refactor setup_boot_config() to share bootconfig_cmdline_requested().
. Documentation: bootconfig: document build-time cmdline rendering.
Document CONFIG_CMDLINE_FROM_BOOTCONFIG usage, requirements, and precedence.
bootconfig-v7.3
Hello Linus,
As usual bunch of new device and driver support and updates to existing
drivers and addition of Manivannan to help with reviews.
phy updates for 7.3
As usual bunch of new device and driver support and updates to existing
drivers and addition of Manivannan to help with reviews.
- New Support
- Mediatek MT8196 DSI PHY support
- Renesas RZ/G3L usb2 support
- Qualcomm SM8475 QMP USB PHY and PCIe phy, IPQ9650 QMP PCIe PHY, QUSB2
Phy for Shikra SoC, Hawi support for QMP PCIe phy and UFS PHY. Glymur
QMP PCIe Multi-PHY driver and multiple link-mode support, ipq5210 PCIe
phy support
- Spacemit USB3/PCIe comb PHY driver
- Updates
- Samsung hdptx driver improvements for modernizing the register
access and code cleanup
- Qualcomm drop duplicate v8 DP headers, improved runtime handling for qmp
drivers
- Rockchip clock lane phase tuning and 2500 Mbps support and TMDS rate
handling
- Freescale imx8mq improvements for runtime pm, pd handling.
Hi Linus,
api, a new Mediatek device support and updates led by dw-dma driver and
few others.
dmaengine updates for v7.3
Core:
- New API to combine configuration and preparation and users
New Support:
- Mediatek MT8189 SoC uart dma support
Updates:
- Designware dma driver flatten desc structures and simplify code,
interrupt-path groundwork changes, first part of PCI EP DMA support
- Updates to zynqmp_dma with runtime PM and device removal improvments
- Xilinx dma optimizations for AXIDMA and MCDMA channel management
Hello Linus Bunch of driver changes in this cycle. soundwire updates for 7.3 - Bunch of Intel dmi quirks ghost list handling for Asus Zenbook Duo, Asus ROG Zephyrus Duo and Asus Expertbook. Intel Peripheral bra_block_alignment handling - Cadence library BRA_NumBytes[8] support - Qualcomm SCP address paging, bus mclk_freq support. Increase of data ports to 17 and driver improvements.
second dma-mapping update for Linux 7.3: - important dma-mapping update for confidential-computing, which adds proper tracking of the shared DMA state through direct, pool and swiotlb paths (Aneesh Kumar K.V)
mailbox: updates for v7.3
- mhuv2: convert channel translation to fw_xlate() and use generic device
property APIs
- axiado: add AX3005 mailbox controller driver and DT bindings
- bcm2835: use platform_get_irq() and simplify probe error handling
- cix: fix DT property string typo and use dev_err_probe()
- exynos: add Exynos850 mailbox driver support and DT bindings
- microchip: add null check for devm_kasprintf()
- pcc: fix missed-interrupt command timeout, verify shared memory signature,
and notify clients on polled completion
- qcom: fix CPUCP PREEMPT_RT deadlock and NULL data crash, fix IPCC duplicate
channel allocation across holes, and add IPQ5210 APCS and Nord
IPCC bindings
- riscv: validate RPMI notification buffer lengths and event payload bounds
- rockchip: manage peripheral clock with devm helper and drop unused
struct field
- ti-msgmgr: convert bindings to DT schema
- misc: remove redundant dev_err()/dev_err_probe() on IRQ request failures
across drivers
dma-mapping updates for Linux 7.3: - swiotlb: added new configuration option for the default pool size (Jagadeesh Pagadala) and reduced overhead for high watermark tracking (chenhuguanshen) - minor code cleanups and improvements (Vova Sharaienko, Honglei Huang and Marek Szyprowski)
please pull the latest slab updates from: There's a semantic conflict with changes in char-misc that will break Rust build due to a change of kvfree_call_rcu() parameter type. In linux-next this was solved by this fixup applied as part of the merge commit of whichever of the trees is merged later: https://lore.kernel.org/all/[email protected]/ Thanks, Vlastimil - Addition of kfree_rcu_nolock() that can be used from contexts where spinning on a lock might be unsafe, such as a BPF program attached to an arbitrary function, or in NMI context. This complements the existing kfree_nolock() support. (Harry Yoo) - Runtime instead of compile-time slabobj_ext sizing. Avoids wasting memory when memory allocation profiling is compiled but not enabled, with initial partial support to also avoid wasting memory for objcg pointers when those are not needed, while profiling is enabled. (Vlastimil Babka) - Various non-urgent fixes, cleanups and optimizations. (Hao Li, Hongling Zeng, Li RongQing, Li Xiasong, Seongjun Hong, Shengming Hu) slab changes for 7.3
Here is the main PDx86 PR for v7.3.
Highlights:
- amd/halo: Add Halo RGB LED driver
- amd/hsmp:
- Properly serialize probe, remove, and data paths
- Add support for protocol v7 used by Family 1AH Model 80H
- Fix error checking corner cases (largely from AI review)
- Reject negative power cap
- amd/pmc:
- Improve behavior on platforms that do not support STB
- Add T14 Gen2 AMD (20XL) to s2idle quirk list
- amd/pmf:
- Add ioctl interface to retrieve device metrics
- Add support for new metrics tables used by Family 1AH Model 80H
- arm64: qcom-hamoa-ec: Reject short responses
- asus-nb-wmi: Support ProArt key on ASUS ProArt PX13
- asus-armoury:
- Gate PPT writes behind active fan curve
- Add power limits for more models
- dell-wmi-base: Fix handling of ultra performance key
- dell-wmi-sysman: Don't hex dump attribute security buffer
- hp-bioscfg:
- Various fixes
- Improve reduced ACPI packages support (necessary for HP EliteBook 840 G2)
- lg-laptop:
- Fix LED resource handling
- Add support for events used in newer models
- Fix keyboard backlight support on LG Gram 16T90SP
- hp-wmi:
- Generalize thermal params to board params
- Manage CPU and GPU PWM independently
- Add GPU MUX switch support
- Add Victus 15-fb0xxx support
- Add OMEN MAX 16-ak0xxx, OMEN 16-n0xxx, OMEN 16-wd0xxx, OMEN
16-wf0xxx, and OMEN board ID 8D88 support
- Add OMEN Transcend 16-u0xxx support
- huawei: Add support for Fn-lock ACPI interface found on newer Huawei
laptops such as MateBook 14 2024
- ISST:
- Improve input validation (many fixes)
- Disallow SST-CP (core-power) feature if perf profile add fails
- lenovo/yb9-kbdock: Add driver for Yoga Book 9 14IAH10
- lenovo/ymc:
- Extend hinge switch query to support Yoga 9 2-in-1 14IPH11
- Prevent loading on Yoga Book 9 14IAH10 to avoid duplicated input
nodes
- msi-ec: Add MSI Raider A18 HX A9WJG and MSI Katana GF76 11UEK support
- msi-wmi: Add MSI Claw M-Center keys support
- oxpec: Add support for OneXPlayer X2 Mini Pro
- redmi-wmi: Report kbd backlight cycle, OEM preset power mode, and FnLock
toggle events to userspace
- samsung-galaxybook: Add Samsung Galaxy Book6 Pro support
- thinkpad_acpi: Add USB-C Security support
- uniwill-laptop:
- Add keyboard backlight, AC auto boot, and USB powershare support
- Add MACHENIKE L16 Pro, AiStone X4SP4NAL, and Avell A60 MUV support
- Make lightbar max brightness configurable and add support for
LAPQC71A/B
- Major refactoring efforts:
- Stop setting acpi_device_name/class() and pnp.device_class to
faciliate their eventual removal
- Many rollback/remove path fixes (presumably mostly found by AI)
- Miscellaneous cleanups / refactoring / improvements
Regards, i.
platform-drivers-x86 for v7.3-1
Highlights:
- amd/halo: Add Halo RGB LED driver
- amd/hsmp:
- Properly serialize probe, remove, and data paths
- Add support for protocol v7 used by Family 1AH Model 80H
- Fix error checking corner cases (largely from AI review)
- Reject negative power cap
- amd/pmc:
- Improve behavior on platforms that do not support STB
- Add T14 Gen2 AMD (20XL) to s2idle quirk list
- amd/pmf:
- Add ioctl interface to retrieve device metrics
- Add support for new metrics tables used by Family 1AH Model 80H
- arm64: qcom-hamoa-ec: Reject short responses
- asus-nb-wmi: Support ProArt key on ASUS ProArt PX13
- asus-armoury:
- Gate PPT writes behind active fan curve
- Add power limits for more models
- dell-wmi-base: Fix handling of ultra performance key
- dell-wmi-sysman: Don't hex dump attribute security buffer
- hp-bioscfg:
- Various fixes
- Improve reduced ACPI packages support (necessary for HP EliteBook 840 G2)
- lg-laptop:
- Fix LED resource handling
- Add support for events used in newer models
- Fix keyboard backlight support on LG Gram 16T90SP
- hp-wmi:
- Generalize thermal params to board params
- Manage CPU and GPU PWM independently
- Add GPU MUX switch support
- Add Victus 15-fb0xxx support
- Add OMEN MAX 16-ak0xxx, OMEN 16-n0xxx, OMEN 16-wd0xxx, OMEN
16-wf0xxx, and OMEN board ID 8D88 support
- Add OMEN Transcend 16-u0xxx support
- huawei: Add support for Fn-lock ACPI interface found on newer Huawei
laptops such as MateBook 14 2024
- ISST:
- Improve input validation (many fixes)
- Disallow SST-CP (core-power) feature if perf profile add fails
- lenovo/yb9-kbdock: Add driver for Yoga Book 9 14IAH10
- lenovo/ymc:
- Extend hinge switch query to support Yoga 9 2-in-1 14IPH11
- Prevent loading on Yoga Book 9 14IAH10 to avoid duplicated input
nodes
- msi-ec: Add MSI Raider A18 HX A9WJG and MSI Katana GF76 11UEK support
- msi-wmi: Add MSI Claw M-Center keys support
- oxpec: Add support for OneXPlayer X2 Mini Pro
- redmi-wmi: Report kbd backlight cycle, OEM preset power mode, and FnLock
toggle events to userspace
- samsung-galaxybook: Add Samsung Galaxy Book6 Pro support
- thinkpad_acpi: Add USB-C Security support
- uniwill-laptop:
- Add keyboard backlight, AC auto boot, and USB powershare support
- Add MACHENIKE L16 Pro, AiStone X4SP4NAL, and Avell A60 MUV support
- Make lightbar max brightness configurable and add support for
LAPQC71A/B
- Major refactoring efforts:
- Stop setting acpi_device_name/class() and pnp.device_class to
faciliate their eventual removal
- Many rollback/remove path fixes (presumably mostly found by AI)
- Miscellaneous cleanups / refactoring / improvements
The following is an automated shortlog grouped by driver:
acer-wmi:
- reject missing gaming WMI results
amd/hsmp:
- ACPI HSMP refcounted sockets and coordinated release
- Add HSMP messages for Family 1Ah, Model 50h-5Fh
- Add IOCTL_GET_TELEMETRY_DATA for metric table reads
- Clear mdev.this_device on deregister
- Enable protocol version 7 metric tables on the ACPI driver
- Gate the data plane on a fully initialized socket
- Map the metric table with ioremap() and unmap it explicitly
- Pass struct device explicitly to ACPI mailbox parsers
- Reject negative power cap writes in hwmon
- Serialize ACPI HSMP probe and remove with an rwsem
- Serialize per-socket metric table reads with a mutex
- Serialize the data plane against socket teardown
- Source metric-table size from firmware
- Unify response_sz validation to an upper-bound check
- Validate ACPI UID before parsing socket index
- Validate _DSD mailbox sub-package element count
amd:
- Introduce Halo Box RGB LED driver
amd/pmc:
- Add T14 Gen2 AMD (20XL) to s2idle quirk list
- Do not fail probe when STB init fails
- Fix LPS0 and debugfs leaks when STB init fails
- Fix msg_port restoration in amd_stb_debugfs_open_v2()
- Only expose stb_read after telemetry buffer is mapped
- Propagate SMU errors and validate S2D address
- Restore msg_port on amd_stb_s2d_init() error paths
amd/pmf:
- Add 1AH_M80H device IDs and extended SMU mailbox registers
- Add 1AH_M80H metrics table and NPU metrics support
- Add missing newline in dev_err message
- Add util layer and userspace character device interface
- Implement util layer ioctl handler
- Introduce AMD PMF testing tool for driver metrics and features
- Move debug helper functions to UAPI header
- Move metrics code to dedicated file
- Refactor NPU metrics for platform extensibility
- store BIOS output values for user-space metrics via util IOCTL
- Store commonly used enums in the header file
- Use per-SoC smu_regs struct for SMU mailbox registers
- Use upper/lower_32_bits() in amd_pmf_set_dram_addr()
arm64: qcom-hamoa-ec:
- reject incomplete responses
asus-armoury:
- Add power limits for ROG Strix SCAR 16 (G635LX)
- Add power limits quirk for FA401KM
- Add power limits quirk for FA608WV
- add support for FX517ZR
- add support for HN7306EA and HN7306EAC
- fix Use-After-Free and memory leak in driver init
- gate PPT writes behind active fan curve
- use cleanup.h to manage tunables
asus-laptop:
- Stop setting acpi_device_name/class()
asus-nb-wmi:
- map ProArt key (0x8b) to KEY_PROG3
asus-wireless:
- Fail probe when there is no ACPI match
asus-wmi:
- fix resource leaks on probe failure
dell-ddv:
- Use no_free_ptr() to simplify error handling
dell-privacy:
- Fix race condition
dell-smbios:
- Pass device to callbacks
dell-smbios-wmi:
- Fix chardev resource management
- Replace global list with single item
dell-wmi-base:
- Fix handling of ultra performance key
- Fix resource leak on module load failure
dell-wmi-sysman:
- Don't hex dump attribute security buffer
- Fix instance ID bounds
Documentation/ABI:
- add testing entry for AMD PMF character device interface
eeepc-laptop:
- Stop setting acpi_device_name/class()
fujitsu-laptop:
- Stop setting acpi_device_name/class()
fujitsu-tablet:
- Stop setting acpi_device_name/class()
hp-bioscfg:
- accept reduced ACPI packages from older HP BIOS
- advance elem past consumed array elements
- bound ordered-list parsing by the package count
- fix heap OOB read in sk_store() and kek_store()
- fix heap OOB read on empty password write
- fix new_password_store() overwriting current_password
- fix off-by-one write in hp_get_string_from_buffer()
- fix ORD_LIST_ELEMENTS never being parsed
- fix password encoding bounds check
- pass validated element count to package parsers
- warn on element type mismatch instead of failing
hp-wmi:
- Add dual-channel PWM fan control
- Add GPU MUX switch support
- Add OMEN board 8A43 thermal profile support
- Add OMEN board 8BA9 thermal profile support
- Add OMEN board 8BAA thermal profile support
- Add OMEN board 8D88 thermal profile support
- Add OMEN Transcend 16 8BB3 support
- Add support for OMEN MAX 16-ak0xxx (8DD6)
- Add Victus 15-fb0xxx support
- Drive fan control from board data
- Introduce board-specific feature data
huawei-wmi:
- add ACPI fallback for Fn-lock on newer models
ideapad-laptop:
- Fix driver unregistration order
int1092:
- Fix info leak in parse_package()
- Fix potential memory leak in sar_probe()
intel/pmc:
- initialize empty PMT read result
ishtp_eclite:
- Fix ACPI device reference leak in probe error path
ISST:
- Add a NULL check for sst_inst[]
- Just allow 2 bits for SST feature enable
- Return error during profile addition
- Use PP level enable mask
- Validate level in perf mask ioctls
- Validate logical CPU id and clos id
- Validate max level for set feature
- Validate parameter for core power state
- Validate parameter for frequency and priority
- Validate socket ID in clos_assoc ioctl
lenovo:
- Add Yoga Book 9 keyboard dock detection driver
lenovo: lenovo-ymc:
- Suppress probe on Yoga Book 9 14IAH10
lenovo/ymc:
- Only match lower byte in WMI lid switch query response
lg-laptop:
- Add support for additional events
- Add support for native ACPI events
- Fix keyboard backlight support on LG Gram 16T90SP
- Fix LED resource handling
- Improve WMAB control method support
MAINTAINERS:
- update Intel PMC Core maintainer contact
mlxbf-bootctl:
- fix the build error with FIELD_PREP()
mlxbf-pmc:
- Check ACPI_COMPANION() against NULL
msi-ec:
- Add MSI Katana GF76 11UEK EC firmware
- Add MSI Raider A18 HX A9WJG EC firmware
msi-wmi:
- Add MSI Claw M-Center keys
- Reformat msi_wmi_notify()
oxpec:
- Add support for OneXPlayer X2 Mini Pro
panasonic-laptop:
- Fix sentinel write past pcc->sinf[]
- Stop setting acpi_device_name/class()
power: supply: surface_{battery,charger}:
- Consistently define ssam_device_ids using named initializers
redmi-wmi:
- report EC state change events
samsung-galaxybook:
- Add SAMB430 device ID
sony-laptop:
- Stop setting acpi_device_class()
sonypi:
- Stop setting acpi_device_name/class()
surface: acpi-notify:
- Check ACPI companion before use
surface: aggregator:
- Consistently define ssam_device_ids using named initializers
surface: surfacepro3_button:
- Stop setting acpi_device_name()
think-lmi:
- Fix certificate thumbprint sysfs output
- Fix current password length check
- Free system certificate signatures
thinkpad_acpi:
- Add USB-C Security (USCS) support
- Fix fan speed reporting on Edge E330
- Fix USB-C Security probe failure on unsupported platforms
- Stop setting acpi_device_class()
topstar-laptop:
- Stop setting acpi_device_name/class()
toshiba_acpi:
- Do not use uninitialized device_class
toshiba_bluetooth:
- Use more common error handling code in toshiba_bt_rfkill_probe()
toshiba_haps:
- Do not use uninitialized device_class
uniwill-laptop:
- Add 2 new feature defines for TUXEDO devices
- Add AC auto boot support
- Add Avell A60 MUV support
- Add keyboard backlight support
- Add lightbar support for LAPQC71A/B
- Add support for the AiStone X4SP4NAL
- Add support for the MACHENIKE L16 Pro
- Add support for USB powershare
- Handle screen-related events
- Remove single color keyboard detection
- Split uniwill_kbd_led_init()
x86/platform/olpc: xo15:
- Stop setting acpi_device_name/class()
xo15-ebook:
- Stop setting acpi_device_name/class()
as anticipated, here is the second part of the I2C pull request for v7.3. I waited a little before sending it because I wanted to give the branch a few more days of testing after merging the Rust pull request. It contains a few small fixes and cleanups around probe error handling, resource management and a minor Rust cleanup. (I added this short introduction to the tag log, as I noticed you copied it from there in the past.) The branch is rebased onto your I2C part 1 merge commit. That should be all from I2C for v7.3. Thank you, Andi i2c for v7.3, part 2 Fixes and cleanups around probe error handling, resource management and a minor Rust cleanup. Drivers: - several drivers: drop duplicate IRQ error reporting - imx-lpi2c: improve probe initialization and error cleanup - mxs: fix DMA channel leak on probe failure - ocores: fix clock cleanup on resume failure - rcar: handle reset controllers without status support Muxes: - demux-pinctrl: fix OF node leak on allocation failure Rust: - mark trivial I2cAdapter reference-counting methods inline
Here are the changes for configfs for v7.3-rc1. Changes in this pull request: - Update configfs MAINTAINERS entry. Breno Leitao will maintain configfs C code going forward. Andreas will continue maintaining configfs Rust parts. FYI, I expect Breno will send configfs fixes after rc1. Best regards, Andreas Hindborg configfs changes for v7.3-rc1
Little PR for some auxdisplay drivers and common code. A bit late due to one fix to be soaked in Linux Next which ends up well, no regressions were reported. Please, pull. Thanks, With Best Regards, Andy Shevchenko auxdisplay for v7.3-1 * Cancel backlight work on panel registration failure * Miscellaneous cleanups
HEAD #: 8b5b048277e2c43b9012f0196f4097c4e92025a1: scftorture: Make invoker threads actually wait for all threads to start (2026-07-23 10:39:57 -0700) smp_call_function() torture-test updates: * Count single_rpc offline failures in statistics output. * Make invoker threads actually wait for all threads to start.
RCU updates: Make expedited grace periods expedite normal RCU callbacks Miscellaneous fixes: * Improve diagnostic output with character task states. * Mark accesses to inform KCSAN of concurrency design. * Move from kmalloc() to kmalloc_obj(). * Documentation updates. * Improve handling of RCU deferred quiescent states. * Clean up unused function arguments and structure fields. * Reduce show_rcu_gp_kthreads() stack space. Tasks RCU updates: * Clean up after SRCU re-implementation of Tasks Trace RCU. * Mark accesses to inform KCSAN of concurrency design. * Add ->lazy_timer status to diagnostic output. * Remove an unnecessary memory barrier. * Fix a data race, courtesy of KCSAN. * Documentation updates. * Convert cond_resched_tasks_rcu_qs() from macro to static inline function. SRCU updates: * Add Rust helpers for SRCU. * Avoid losing queued work at cleanup_srcu_struct() time. Torture-test updates: * Preparation work for immediate RCU priority deboosting. * Test RCU readers from real interrupt handlers (as opposed to softirq). * Simplify code through use of cpumask_next_wrap(). * Improve diagnostic output with character task states. * Add rcutorture.nwriters parameter to allow lightweight stall testing, and rcutorture.stall_only to make doing so easier. * Test an RCU Tasks Trace grace period implying an RCU grace period. * Make RCU Tasks Trace torturing track reader batches. * Fix a data race, courtesy of KCSAN. * Plug a shuffle_tmp_mask memory leak on kthread spawn failure.
Here is the i3c subsystem pull request for 7.3. We get a new driver this cycle, for the AMD AXI I3C controller. There are also new features such as IBI wakeup support, SETAASA device discovery and ACPI support for the the DAA methods, meaning we can now communicate with the SPD devices on DDR5 modules. I3C for 7.3 New driver: - AMD AXI I3C master controller Subsystem: - I3C Common Command Code (CCC) handling improvements, especially around GET CCCs - SETAASA device discovery support - ACPI support for all existing DAA methods like SETDASA, SETNEWDA as well as I2C devices on I3C bus - IBI-based wakeup support Drivers: - dw: SETAASA support - mipi-i3c-hci: advertise IBI wakeup capability, AMD_PT I3C controller support, PIO queue management support for HCI v1.2 - renesas: improve suspend to RAM support, add runtime PM support
Resource management:
- Add hotplug reservation only once (not at each level of the hierarchy)
so bridge windows don't grow more than necessary (Ilpo Järvinen)
Driver binding:
- Rework device matching so device ID lifetime only needs to cover the
probe path since dynamic IDs can be removed at any time (Gary Guo)
Error handling:
- Update mappings of AER errors to agent & layer and log them for each
individual error when multiple errors detected (Lukas Wunner)
- Log Error Source only once, not twice in separate messages (Lukas
Wunner)
- Emit TLP Log only for unmasked errors (Lukas Wunner)
- Support Advisory Non-Fatal Errors (Lukas Wunner)
- Allow DPC on all Downstream Ports, not just Root Ports, when OS
controls AER (Darshit Shah)
ASPM:
- Program the same ASPM Control values for every function of
multi-function devices, as recommended by the PCIe spec (Krishna
Chaitanya Chundru)
- Avoid L0s for Realtek RTS525A, where it causes an AER interrupt storm
(Max Lee)
- Avoid ASPM L0s, L1, and L1 PM Substates based on 'aspm-no-l0s',
'aspm-no-l1' [1], and 'aspm-no-l1ss' DT properties (Krishna Chaitanya
Chundru)
Power management:
- Allow D3 for native hotplug-capable Root Ports on non-x86 platforms (we
avoid D3 for these ports on x86 because some old platforms didn't
validate it) (Manivannan Sadhasivam)
- Allow portdrv to claim Ports even if they don't support services (AER,
PME, DPC, hotplug, etc) so it can do power management (Brian Norris)
Power control:
- Add support for PCIe WAKE# interrupt when described via DT (Krishna
Chaitanya Chundru)
- For the TC9563 PCIe switch:
- Take a reference on the I2C adapter to avoid uninterruptible hang
when unloading an I2C module while in-use (Johan Hovold)
- Update DT binding and driver to restrict Tx Amplitude, DFE and N_FTS
to USP, DSP1 and DSP2 (Manivannan Sadhasivam)
- Power off only external-facing ports (DSP1, DSP2), leaving USP and
DSP3 (aka VDSP) powered up (Manivannan Sadhasivam)
- Move integrated MAC Endpoint out of the list of internal ports and
configure it separately (Manivannan Sadhasivam)
Virtualization:
- Add ACS quirk for Pericom PI7C9X2G608 switches (Tim Harvey)
- Fix a long-standing bug in the Intel PCH Root Port MPC ACS quirk that
didn't update the intended INTEL_MPC_REG_IRBNCE bit because it used a
16-bit config write when a 32-bit write was intended (Mohamad
Raizudeen)
Procfs:
- Avoid spurious runtime PM wakeup on config space accesses that are
outside config space and fail before reaching PCI (Krzysztof
WilczyĹski)
- Warn on user-space writes to kernel-exclusive config space regions, as
we already do for sysfs (Krzysztof WilczyĹski)
- Check credentials of opener, not reader, for config space reads, as we
already do for sysfs (Krzysztof WilczyĹski)
Sysfs:
- In pci_write_legacy_io(), avoid out-of-bounds reads from the user
buffer and fix incorrect ioport write data (1-byte writes on
little-endian powerpc, 2- and 4-byte writes on big-endian powerpc)
(Krzysztof WilczyĹski)
- In pci_read_legacy_io(), fix incorrect ioport read data for 2- and
4-byte reads on big-endian powerpc (Krzysztof WilczyĹski)
- Fix I/O port accessor argument order in Alpha pci_legacy_write()
(Krzysztof WilczyĹski)
- Avoid spurious runtime PM wakeup on config space accesses that are
outside config space and fail before reaching PCI (Krzysztof
WilczyĹski)
- Return -EINVAL, not -ENODEV, for mmap of I/O BAR that fails because the
arch doesn't support it, as we do for procfs (Krzysztof WilczyĹski)
- Check for LOCKDOWN_PCI_ACCESS for legacy_io and legacy_mem, as we do
for other config space accessors (Krzysztof WilczyĹski)
Peer-to-peer DMA:
- Add Nvidia Vera Rubin to list of platforms that support P2PDMA (Leon
Romanovsky)
Endpoint framework:
- Check doorbell SUCCESS bit in pci_endpoint_test to avoid treating some
failures as successes (Niklas Cassel)
- Fail doorbell test when the trigger IRQ is missed (Niklas Cassel)
New native PCIe controller drivers:
- Add DT binding and driver for NVIDIA Tegra264 (Thierry Reding)
Native PCIe controllers:
- Use common wait time definitions for PCIe link monitoring instead of
defining driver-private duplicates (Thierry Reding)
Generic host bridge driver:
- Fix NULL pointer dereference that caused enumeration failures on 32-bit
CAM systems (Steffen Persvold)
Amlogic Meson PCIe controller driver:
- Correct the PERST# GPIO state so it remains asserted until power and
REFCLK become stable to fix enumeration failure (Ronald Claveau)
ASPEED PCIe controller driver:
- Switch to irq_domain_create_linear() so we can obsolete
irq_domain_add_linear() (Jiri Slaby)
Cadence PCIe controller driver:
- Add MODULE_DEVICE_TABLE to generate module aliases for OF-based module
autoloading (Pengpeng Hou)
- Add debugfs 'ltssm_status' file for LGA- and HPA-based Cadence
controllers (Hans Zhang)
- Support up to x4 (not x2) lanes for J200 (Takuma Fujiwara)
- Fix host/endpoint dependencies for cadence-plat driver to fix link
error when cadence-plat is built-in but the host or endpoint driver is
modular (Aksh Garg)
Freescale i.MX6 PCIe controller driver:
- Add imx6 intr/aer/pme interrupt lines for i.MX95 (Richard Zhu)
- Remove PERST# checking from pci_host_common_parse_port() so callers can
decide whether to fall back to legacy DT binding with PERST# in the
host bridge (Sherry Sun)
- Fix build issues when PCI_PWRCTRL_GENERIC or PCI_HOST_COMMON is a
module (Arnd Bergmann)
- Create pwrctrl devices only once by doing it from imx_pcie_probe()
instead of imx_pcie_host_init(), which is used during both probe and
resume (Sherry Sun)
- Use 'dw_pcie_rp->skip_pwrctrl_off' to avoid powering off devices during
suspend to preserve wakeup capability (Sherry Sun)
- Add runtime PM support for i.MX95 to allow dynamic power management
when the link is idle (Richard Zhu)
Intel VMD host bridge driver:
- Support device ID 0x28C1 and assume that BIOS has already enumerated
the hierarchy below VMD and stored bus range info for OS to use (Nirmal
Patel)
- Add support for VMCONFIG BUS_RESTRICT_CFG=3, which makes it possible to
enumerate downstream devices on Intel Arrow Lake-HX systems and
probably others (Ali Alaei)
- Pay attention to _OSC negotiation for VMD hierarchy only when running
on bare metal, not when running in a VM (Nirmal Patel)
- Add Nova Lake (NVL) and Dunlow (DNL) Device IDs (Szymon Durawa)
MediaTek PCIe controller driver:
- Add support for PCIe controller in EcoNet EN7528 and EN751221 SoCs
(Caleb James DeLisle)
MediaTek PCIe Gen3 controller driver:
- Add mediatek-gen3 'memory-region' for restricted DMA buffer (Chen-Yu
Tsai)
NVIDIA Tegra264 PCIe controller driver:
- Distinguish Tegra264 C0 PCIe controller for internal GPU from C1-C5
controllers so the unit address matches the first 'reg' entry (Thierry
Reding)
- Add Tegra264 Root Port stanzas to prepare for generic WAKE# handling
(Thierry Reding)
Qualcomm PCIe controller driver:
- Add IPQ9650 compatible with global interrupt (Kathiravan Thirumoorthy)
- Add IPQ5210 compatible with IPQ9574 fallback (Varadarajan Narayanan)
- Add DT binding and driver support for Hawi SoC (Matthew Leung)
- Skip PERST# GPIOs provided by downstream PCIe devices, which should be
handled by drivers of those devices (Manivannan Sadhasivam)
- Stop advertising Attention Button Present (no Qcom SoCs support
Attention Buttons) so pciehp can use Presence Detect Changed events
(Qiang Yu)
Renesas R-Car PCIe controller driver:
- Add rcar-gen4-pci-host optional 'msi-parent' for GIT ITS (Marek Vasut)
- When MSI is enabled but iMSI-RX is not used, configure AXIINTC to allow
GIT ITS to handle MSI (Marek Vasut)
- Refactor GIC600 implementation to make it easier to add platforms that
only support 32-bit addressing (Marek Vasut)
- Add Renesas R-Car Gen4 S4/V4H/V4M to the list of GIC600 integrations
that only support 32-bit addressing (Marek Vasut)
Renesas RZ/G3S PCIe controller driver:
- Add DT binding and driver support for RZ/V2H(P) SoC, which contains two
PCIe controllers, configured either as a single x4 link or two
independent x2 link controllers (Lad Prabhakar)
SpacemiT K1 PCIe controller driver:
- Add missing MODULE_DEVICE_TABLE() to generate module alias info for
OF-based module autoloading (Pengpeng Hou)
StarFive PCIe controller driver:
- Fix resource leaks on error paths in host_init() (Ali Tariq)
- Fix runtime PM handling and teardown ordering to avoid register access
while power or clocks are disabled (Ali Tariq)
- Check for runtime PM resume failure to avoid register access while
power or clocks are disabled (Ali Tariq)
Synopsys DesignWare PCIe controller driver:
- Add LECARC PMU IDs to the DWC RAS/DES VSEC list so it can take
advantage of the existing debugfs support for silicon debug, error
injection, and event counters (Brett Zhou)
- Factor pcie_valid_speed() and pci_bus_speed2lnkctl2() out of bwctrl so
they can be shared by the DWC core (Hans Zhang)
- Flush MSI writes from endpoint before unmapping the iATU, as we already
do for MSI-X writes (Niklas Cassel)
- Unmap MSI iATU window before mapping MSI-X window, to avoid a
subsequent MSI write using a disabled aperture and losing the interrupt
(Niklas Cassel)
- Change endpoint .pre_init() and .init() callbacks to return errors and
handle them (Marek Vasut)
UltraRISC PCIe controller driver:
- Add 'core', 'dbi', and 'aux' clocks to DT binding and manage them in
the driver (Jia Wang)
- Use module_platform_driver() since this may be built as a module,
though not removable because IRQs can't be safely disposed (Jia Wang)
MicroSemi Switchtec management driver:
- Add Microchip PCI1008 device ID and include it in NTB DMA alias quirk
(Logan Gunthorpe)
Miscellaneous:
- Document how to write PCI Host Controller drivers (Manivannan
Sadhasivam)
- Fix typos in documentation (D'Orus Tsitera)
- Use %pe format specifier to print error pointers so we get symbolic
errname when available (Krzysztof WilczyĹski)
The s390 cpuidle driver series adds a new driver under drivers/cpuidle/ and the corresponding MAINTAINERS entry. The driver was reviewed by Christian Loehle, and the whole series was acked by cpuidle maintainer Rafael J. Wysocki: https://lore.kernel.org/all/[email protected]/ The series also removes now unused generic arch_needs_cpu() hook: include/linux/tick.h | 3 - s390 updates for 7.3 merge window - Add a cpuidle driver with polling and enabled wait states using the existing CPU idle infrastructure and idle governor to improve latency for frequent sleep/wakeup cycles. Remove the obsolete tick delay heuristic and generic arch_needs_cpu() hook. Add the corresponding driver entry to MAINTAINERS - Add kCFI support using the generic support provided by Clang - Enable Clang CONTEXT_ANALYSIS for various architecture code and for char, PCI, CIO and virtio drivers. Add required lock annotations, exclude unsupported mm helpers and remove conditional PCI locking - Fix secure storage access exception handling and reintroduce DCACHE_WORD_ACCESS previously removed as a workaround - Fix cpum_cf perf crashes when CPUs are brought online while per-task events are active. Allocate and remove per-CPU counter data from CPU hotplug callbacks - Fix a deadlock when an s390dbf debug area is unregistered while one of its debugfs files is being written to - Fix MVIY_PERCPU() with binutils older than 2.39, where an assembler macro silently omitted an instruction needed to repair interrupted operations after CPU migration - Remove/replace cond_resched() calls which are no-ops with the supported s390 preemption models - Fix AP queue depth and maximum message length decoding according to the architecture. Current hardware is not affected, but future hardware could report values which were handled incorrectly - Reflect the configured CPU state in cpu_enabled_mask so deconfigured CPUs are not presented as available for onlining - Restore the vDSO GNU_EH_FRAME program header which was lost when the build switched to direct linker invocation, and mark it read-only - Add SCLP action qualifiers used by Spyre for card initialization, recoverable error and telemetry reporting - Move KMSAN interrupt flag helpers out of line to fix -Wstatic-in-inline build warnings - Use level-specific page table entry accessors for hugetlb entries and ptep_get() when accessing crashed kernel memory in kdump - Make forced AP bus rescans killable so that a user process blocked behind an ongoing scan can still be terminated with SIGKILL - Rework pkey ioctl error paths to remove duplicated cleanup code and avoid freeing error pointers - Allow the protected guest SWIOTLB buffer to be allocated outside the first 2GB. Also enable dynamic SWIOTLB growth and the coherent atomic pool fallback to improve I/O behavior when the initial pool is exhausted - Add program check statistics and spinlock contention tracepoints. Increase the lockdep chain capacity to keep lockdep enabled for complex code paths such as btrfs - Simplify IPL, trap and syscall code and remove the obsolete unistd_32.h generation entry
This is the second part of liveupdate changes for v7.3-rc1. The changes here depend on the work merged via Andrew's tree, so I waited for his pull request to go in. kho: make boot time huge page allocation work nicely with KHO Today allocation of gigantic pages in HugeTLB cannot work reliably with KHO: * HugeTLB allocates gigantic pages using memblock and autoscaling of KHO scratch accounts for these allocations. When gigantic pages occupy half of the memory of more, KHO fails to allocate its scratch memory. * After kexec handover, memblock allocations exclusively use KHO scratch that is not supposed to contain preserved memory. This essentially blocks preservation of HugeTLB with gigantic pages. Extend early memory pools available for KHO kernel with areas that are guaranteed not to contain preserved memory.
This is ksmbd server update pull request for v7.3-rc1. I add a description of Thanks! This contains a set of 142 SMB server updates focused on SMB2 command sequencing, SMB3 request replay and encryption, Apple Time Machine interoperability, protocol-compatibility fixes validated with smbtorture, security hardening, SMB Direct transport support, connection reliability, and other correctness improvements. New features: - Implement the SMB2 command sequence window. Enforce the credit-based MessageId range for each connection, rejecting out-of-window, duplicate, and wrapped sequence numbers. This prevents invalid requests and same-channel replays from being processed. - Add SMB3 request replay support. SMB3 clients may resend requests with SMB2_FLAGS_REPLAY_OPERATION after a channel disconnect when the original response was lost. Track the required channel and open state to safely handle durable CREATE replays and make oplock, lease, and lock replays idempotent, avoiding duplicate state changes and improving multichannel reconnect reliability. - Add opt-in Apple Time Machine support. Implement the AAPL negotiation and related Finder, stream, COPYCHUNK, sparse-file, CHANGE_NOTIFY, and RPC compatibility required for Time Machine shares, allowing macOS backupd to use ksmbd for backups. - Add per-share SMB3 encryption support. Allow individual shares to require SMB3 encryption by advertising SMB2_SHAREFLAG_ENCRYPT_DATA in TREE_CONNECT responses and rejecting unencrypted tree connects and plaintext requests for protected shares. - Add SMB Direct RDMA encryption support. Extend SMB Direct to support SMB3 encrypted payloads over RDMA, with transform negotiation and encryption/decryption for RDMA READ/WRITE. Other changes: - Parse and retain AppInstanceVersion contexts, enforce version ordering, close older active handles for newer takeovers, and reject invalid or unversioned opens according to the SMB2 semantics. - Accept durable reconnect requests that omit VolatileFileId when the persistent ID and reconnect context identify the handle, while continuing to reject explicit volatile-ID mismatches. - Fix SMB2/SMB3 protocol validation and security issues, including request offsets, file and object IDs, IPC responses, output buffer sizes, SMB3.1.1 binding validation, signing-required handling, durable handles, ACLs, maximal access, and security information. - Fix heap out-of-bounds accesses, use-after-free bugs, memory leaks, invalid pointer dereferences, and sensitive-data lifetime issues in authentication, Kerberos, preauthentication, sessions, connections, and module teardown. - Correct alternate-data-stream and named-stream handling, COPYCHUNK behavior, sparse-file and compression attributes, allocated-range queries, file trimming, duplicate extents, DOS attributes, snapshots, normalized names, and partial information responses. - Fix locking, lease, oplock, durable reconnect, async request, and CHANGE_NOTIFY races, including deferred-lock rollback, parent directory lease notifications, and connection teardown lifetime bugs. - Fix SMB3 encryption handling for compressed requests, expired encrypted sessions, interim responses, bound multichannel connections, and decryption failures. - Fix SMB3 multichannel session lookup and session state transitions so changes are scoped to the correct bound connections and cannot revive connections that are already shutting down. - Fix DACL access checks so ACE walks are bounded by the declared DACL size, preventing data beyond the DACL boundary from being interpreted during access validation. - Fix session accounting and lifetime issues, including session counter updates during publication and removal, session leaks on registration failure, and procfs creation diagnostics. - Improve TCP connection reliability by enabling TCP keepalive for accepted connections and preserving TCP timers for kernel sockets, preventing silent peers from holding connections indefinitely. - Fix smbdirect RDMA cleanup ordering for completion queues, QPs, child sockets, and listener locking. - Improve async response framing, multi-iovec signing, RPC pipe status handling, and ksmbd procfs monitoring for server, share, connection, session, and open-file state. - Remove the obsolete DES crypto header and Kconfig dependency now that NTLMv1 support has been removed. - Update the ksmbd repository URL in MAINTAINERS and add an additional KSMBD reviewer.
cycle. I'm seeing no present or upcoming conflicts at this time. Thanks. mm.git review status for master..mm-nonmm-stable Total patches: 95 Reviews/patch: 0.63 Reviewed rate: 56% Summary of patch series in this merge: - "ocfs2/dlm: bound peer-controlled lengths in the o2dlm" (Bryam Vargas): Validate and bound all input lengths and count fields in the o2dlm migration and recovery receive handlers to prevent memory corruption and kernel panics from malformed cluster messages - "ocfs2: validate xattr entry bounds" (Cen Zhang): Validate OCFS2 extended attribute entry name and value bounds during metadata reads to prevent out-of-range memory accesses during retrieval or listing operations. - "taskstats: fix cgroupstats invalid fd handling and add selftests" (Yiyang Chen): Return -EBADF when cgroupstats receives an invalid file descriptor to prevent caller hangs and misleading success ACKs. Add a kselftest to validate valid cgroup v1 queries and verify proper error handling across different Netlink flag combinations. - "misc lib/raid/ improvements v2" (Christoph Hellwig): Improve benchmark-based algorithm selection for the XOR and RAID6 libraries, add KUnit benchmark tests, and cleanup minor implementation details. - "ocfs2: cluster: o2hb_region_pin() fixes" (Joseph Qi): Fix sleeping-in-atomic, lock order inversion and error-path cleanup bugs in o2hb_region_pin() by releasing o2hb_live_lock across sleeping configfs_depend_item() calls and using unlocked variants from callback context. Ensure failed pin attempts properly decrement user counts and unpin partially initialized heartbeat regions to prevent memory leaks and unprotected states. - "lib/ucs2_string.c: fix out-of-bounds read in ucs2_strnlen()" (Vincent Mailhol) Fix an off-by-one which could cause an out-of-bounds read. - "ocfs2: harden heartbeat teardown races" (Cen Zhang): Fix two OCFS2 heartbeat/o2net teardown races found by KASAN. - "taskstats: tidy up the cpumask command path" *Bradley Morgan) make two small cleanups in kernel/taskstats.c. - "ocfs2: validate active orphan slots during inode read" (ZhengYuan Huang): Validate active ordinary and append-DIO orphan slots read from OCFS2 dinodes at the metadata boundary to prevent corrupted slot indices from causing out-of-bounds array accesses. - "ocfs2: bound-check both readdir re-validation scans" (Zhan Xusheng) Enforce strict boundary checks on directory entry record lengths and offset calculations during OCFS2 directory re-scans to prevent out-of-bounds memory reads and directory position corruption.
Just one trivial patch fixing up documentation. thanks, -serge Capabilities update for 7.3 This branch contains just one trivial patch: capability: remove non-kernel-doc comments which corrects two comments to avoid kernel-doc warnings. It's available at
This is exfat update pull request for v7.3-rc1. I add a description of Thanks! This contains a set of nine exfat fixes covering shared writable mappings, entry error handling, allocation cleanup, FITRIM bounds, and locking: - Fix valid_size extension over shared writable mappings by lazily zeroing page-cache gaps and ensuring racing stores cannot be overwritten or extend beyond valid_size. - Clean up partially written directory entries on add-entry failure and safely free new directory clusters. - Free a newly allocated directory cluster when zeroing it fails. - Write the destination entry before removing the source entry during rename, preserving the source if the destination write fails. - Keep FITRIM within the requested range, even when the free-space search wraps around the allocation bitmap. - Fix truncated FS_IOC_GETFSLABEL results by passing the destination buffer size in bytes to the UTF-16-to-NLS conversion. - Fix overflow in the cluster-to-dentry calculation, which could cause readdir to stop early on large volumes. - Replace the per-inode truncate_lock with inode_lock, using shared locking in bmap to serialize against concurrent truncation. - Update the exfat mailing list address in MAINTAINERS.
firewire updates for v7.3 This update includes error checks, a potential bug fix, and KUnit tests. Sreeraj S Kurup addressed an error case when generating the contents of the configuration ROM with parameters supplied by in-kernel implementations such as unit drivers. Some error checks were added to handle failures in this path. Abdun Nihaal identified a potential memory leak when an invalid self-ID sequence causes an error while building the internal node tree. KUnit tests have been added to trigger this case. This memory leak has existed since the first commit and has now been fixed.
Please consider pulling the following changes in perf tools for v7.3.
Thanks,
Namhyung
perf tools updates for v7.3
perf c2c:
- Add 'function view' in perf c2c report TUI (switched by pressing 'TAB'
in the cacheline view) to organize samples around functions rather than
cachelines in 3-level hierarchy:
Level 1: Read-side function (sorted by estimated Cycles %)
Level 2: Contending writer functions (sorted by Store count)
Level 3: Shared cacheline addresses
Users can navigate the entries and fold/unfold using 'e' key. An example
output would look like below:
Shared Data Functions Table (19 entries, sorted on Cycles %)
Cycles Store
% count Function / Contending function / Cacheline
----------------------------------------------------------------------
+ 35.67% 876 + [k] cpupri_set
+ 24.31% 424 + [k] pull_rt_task
- 16.53% 555 - [k] dequeue_pushable_task
145 - [k] pull_rt_task
145 0xff2d0082809da080
139 - [k] enqueue_pushable_task
70 0xff2d00a2071f9640
69 0xff2d0082809da000
python module support:
- Extend "perf" python module so that it can be fully functional. The goal
is to run scripts directly, not by 'perf script' command. This would give
better performance as well as more control to build standalone programs
with UI.
- Add LiveSession helper (perf_live.py) to enable live event collection
directly from Python using perf.evlist and perf.parse_events.
perf stat:
- Add --hide-zero-events option to suppress zero-count events.
- Reject conflicting --field-separator and --json-output options.
- Fix duplicate event output with --for-each-cgroup.
perf sched latency:
- Add -H/--histogram and --hist-mode (log|linear) options to show scheduler
wait latency histograms.
- Add --time option to filter analysis by time span in 'perf sched latency'.
ARM CoreSight:
- Synthesize callchains for instruction samples from CoreSight trace
using thread stack ('--itrace=g...').
- Support call indentation ('perf script -F +callindent') to display call
depth hierarchy on branch samples.
- Decode ETE (Embedded Trace Extension) exception packets.
Build system:
- Add 'make install-build-deps' target to install required packages.
- Parallelize JSON and metric pre-computation in jevents.py for faster builds.
Vendor event/metric updates:
- Add Intel Nova Lake events and update tables for existing models.
- Update AMD Zen 5 and Zen 6 core events.
- Update Arm64 Tegra410 metrics and PowerPC hcalls.
Internal changes and fixes:
- Harden trace-event and synthetic event parsing against corrupted data.
- Fix unwinding of multi-threaded processes in libdw unwinder.
- Fix memory leaks in various commands and python bindings.
- Speed up 'perf test' shell tests.
Signed-off-by: Namhyung Kim <[email protected]>
Subject: [GIT PULL] power-supply changes for 7.3 MIME-Version: 1.0 Hi Linus, power supply and reset changes for the 7.3 series * power-supply core - Add PbAc, NiZn, RAM, and ZnAr battery chemistry types - Create LED triggers based on properties instead of device type - Provide power_supply_get_system_batteries() for usage with USB-C - Add registration init callback for race-free device setup * power-supply drivers - new TI BQ25630 charger driver - new SG Micro sgm41542 charger driver - bq257xx: Add support for BQ25792 - max8903: add DC and USB input current-limit controls - max17042_battery: Initialize MAX17055 from battery info - sbs-battery: map newly introduced battery chemistries - drop extra error messages for IRQ request failures - lot's of driver removal race condition fixes - misc. small cleanups and fixes * reset drivers - add MCF5441x RCM power-on reason driver - misc. small cleanups and fixes
Here's the pull-request with updates for MMC for v7.3. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson MMC core: - Reject invalid perdev_minors for the block device before division - Document DT fixed-layout NVMEM provider support for eMMC cards MMC host: - Convert a couple of plain text DT bindings to the yaml format - bcm2835: DMA mapping improvements - cqhci: Fix sparse warnings for endian conversions - dw_mmc: Stop and complete DMA also in busy state - dw_mmc-rockchip: Add support for the RV1106 variant - litex_mmc: Add dynamic bus width support - moxart: Propagate error for DMA completion timeout - pxamci: Remove PXA remnants for the PXA93x support - rtsx_usb_sdmmc: Avoid USB I/O in runtime autosuspend - rtsx_usb_sdmmc: Suppress false CD after init timeout - sdhci_am654: Add Judith Mendez as maintainer - sdhci-esdhc-mcf: Do not use readl()/writel() on ColdFire - sdhci-msm: Extend the DT bindings for ICE - sdhci-tegra: Add support for Tegra264/Tegra238 variants - sunxi: Add support for the Allwinner A733 variant - via-sdmmc: Clean up card detect work at remove and in probe error path
please pull the latest livepatching changes from - Move consistency checks to catch missing func->old_name before the first access - Allow to run livepatching selftests from top-level directory
- switch gpio code to use swnodes - rework of TXX9 gpio code - enable multi-vpe for econet - cleanups and fixes
Modules changes for 7.3-rc1 - Remove unnecessary module::args. Nowadays, no parameter-handling code points into the module::args buffer. The last user of module::args in xtensa/simdisk is updated and the data is then removed. - Add Rust support for boolean parameters. This will initially be used by the Rust null block driver. - Fix clearing the current charp parameter value when setting a new one fails due to an allocation failure. - Improve the debugging code for kmod (request_module()) duplicates. Fix a potential use-after-free when waiting on a duplicate request and make several general improvements to the code. - Fix the symbol size returned when looking up a data symbol through kallsyms. - The remaining changes are smaller fixes and cleanups.
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,
point of view, there's a new header file include added into one of the
ACPI driver files. This doesn't affect existing ACPI-enabled
architectures.
thanks
- Paul
RISC-V updates for v7.3
- Add initial definitions and discovery for the Smcsrind, Sscsrind,
Smcntrpmf, Ssccfg, Smcdeleg, Zicclsm, Ziccamoa, Ziccif, Ziccrse,
Za64rs, and Ssqosid RISC-V ISA extensions
- Improve the RISC-V update_mmu_cache_range() implementation by using
flush-by-ASID, enabling performance improvements on
microarchitectures that support related optimizations; and by taking
advantage of the Svinval RISC-V ISA extension on microarchitectures
that support it
- Shrink CFI shadow stack allocation further (to 512MB) to save
virtual address space (and physical memory on systems with strict
overcommit policies)
- Add initial CPU context switch support for QoS tagging (Ssqosid)
- Change our vector misaligned access speed test code to be
synchronous, avoiding a bunch of bugs related to unnecessary
asynchronicity
- Enable ARCH_HAS_ACPI_TABLE_UPGRADE for RISC-V to help with ACPI
table debugging (similar to ARM64 and x86)
- Extract vDSO section offsets at build time, rather than run time, to
avoid the boot time overhead
- Use assembler directives to control the use of instructions from the
RISC-V ISA extensions Zacas and Zabha, rather than compiler -march
flags that could affect the whole kernel (similar to ARM64)
- Add a kselftest for kprobes support for the c.jal instruction on
RISC-V
- When UEFI runtime services are available, use them to restart and
power off
- Fix ARCH_HAS_ACPI_TABLE_UPGRADE for RISC-V by adding a missing
include file to the ACPI code
- Move contiguous DMA memory reservation later in the boot, to ensure
that the correct global and per-node pools are allocated when
CONFIG_CMA_SIZE_PERNUMA is enabled
- Disallow probes on breakpoint handlers to avoid recursing
indefinitely into do_trap_break()
- Patch the compat vDSO during runtime alternatives processing, not
only the standard vDSO
- Remove some leftover XIP support elements missed by commit
9b3a2be84803 ("riscv: Remove support for XIP kernel")
- Fix broadcast timer switching in ACPI LPI power states by
implementing a RISC-V version of arch_get_idle_state_flags()
- Miscellaneous fixes, including: vDSO makefile simplification;
marking our default_power_off() as __noreturn; error path fixes in
the PMU SBI perf driver; RISC-V extension capitalization
consistency; the use of BIT() macros in one of our include files;
and some documentation fixes
Hi, This PR improves observability with Landlock tracepoints support, which required some refactoring for dedicated domain types and common helpers shared with audit code. A LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS flag is also added to improve process-wide domain enforcement consistency. Whiteout files are now correctly handled and tested, and a few other fixes complete this PR. with your master branch. Most kernel changes have been tested in the latest linux-next releases for some weeks, and I recently updated commit messages to reflect latest reviews. Test coverage for security/landlock is 91.6% of 2571 lines according to LLVM 22, and it was 91.8% of 2357 lines before this PR. Regards, MickaĂŤl -- Landlock update for v7.3-rc1
This is the main drm pull request for 7.3-rc1. This unusally ends with a backmerge, the tree has been sitting on 7.2-rc2 and we didn't do any backmerges and the conflict numbers were extra high due to code movement, so I decided to do a 7.2 backmerge to use our drm-tip merges. On the bright side, this means there are only two minor rust conflicts with your tree. This has a shared tree with driver-core for some rust i/o reworks, and some perf exports. I'll also note I didn't get an msm pull this round, which makes me suspect something ate it somewhere, so it might arrive later in the week. Highlights: - dmemcg eviction support is good for low VRAM things like Steam Machine - AMD adds gfx6-8 modifier support for older GPUs that enables a bunch of wayland stuff - i915/xe has some new hw support but also a lot of display refactoring Let me know if there any problems, or if you really don't like the backmerge, it just seemed like a lot of conflicts to resolve that we'd already resolved. We are moving towards a new -next procedure as well where drm/misc/i915/xe and hopefully amd will start to be merged into a single for next tree with all out -next/-fixes trees in it, to lighten the load on others. Regards, Dave. drm-next-2026-08-20: drm for 7.3-rc1 perf: - export perf_allow_ APIs for xe udmabuf: - remove default size limit of 64MB rust: - i/o rework (signed tag from driver-core tree) - add registration guard and registration data - fix unbounded lifetimes in ioctl handler args - fix a drm_dev_register race - gem_shmem: add DmaResvGuard helper - gpuvm: require send/sync for driver data - implement send/sync for GpuVaAlloc and GpuVmBo - add SmContext lifetime - rename dma_handle to dma_address - change pci_sriov_get_totalvfs return to unsigned int core: - create drm_of_get_panel_orientation - send per-connector hotplug events - add thunderbolt UBHR tunneling support connector: - add color format property dmem: - introduce a peak file - accept one region per limit - add dmemcg support for eviction gpusvm: - reorg code to give drivers more flexibility atomic: - add create_state callback and helper - add documentation on atomic commit lifetime buddy: - add per-order free - add used block scoreboard - fix UAF - test buffer clearance on resume - add phys_addr->block helper gem: - drop DRIVER_GEM_GPUVA flag ttm: - be more aggressive allocating below protection limit sched: - add test suite for concurrent job submissions hdmi: - hook the color format property in helpers mipi-dsi: - add MIPI_DSI_MODE_DSC_ALL_SLICES_IN_PKT bridge: - add atomic create callbacks - drop atomic reset - display-connector: don't autoenable HPD IRQ - trigger initial HPD for DP - ti-sn65dsi83: remove NO_HFP and NO_HBP mode flags - analogix_dp: switch to DP link training helpers dp: - add support for DSC max delta BPP edid: - parse panel type from DisplayID 2.x Display Parameters sysfb: - improve panel, stride, framebuffer size validation panel: - implement ref counting for struct drm_panel - himax-hx83121a: add backlight regulator support - novatek-nt36672a: Inline panel init sequences - visionox-vtdr6130: enable DSC - novatek-nt37801: Use mipi_dsi_*_multi() functions - samsung-s6d16d0: Fix prepare error handling - support Novatek NT36536 plus DT bindings - sofef00: fix backlight updates - osd101t2587: use mipi_dsi_*_multi interface - panel-edp: adjust timing for AUO displays - panel-lvds: support Opto Logic SCX1001511GGC49 - panel-simple: support Kyocera tcg070wvlq - panel-edp: quirks - AUO B116XAT04.3, CMN N116BCP-EA2, CSW MNB601LS1-8 - BOE NV116WH2-M30, BOE NT116WHM-N21, BOE NV116FH1-M31 - BOE NV116FH1-M30, NV140FHM-N5B, TM156VDXP25 - BOE NE160QDM-NY1, MB116AS01 - new: - Samsung ATNA40HQ08-0, Anbernic TD4310 - Chipone ICNA35XX, Ilitek ILI9488 - Ilitek ILI7807S, Renesas R63419 - MNE001BS6-2, MNF601BS4-1, Sharp LQ120P1JX51 virtio: - add support for save/restore virtio_gpu_objects - abort vq wait on device removal amdgpu: - add color format DRM property - initial compute pipe reset support - add GFX 6-8 modifier support - initial DCN 6.0.0 support - dmemcg eviction support - improved boundary checking for bios parsing - RAS updates and rework - VCN secure submission fixes - 8K panel fix - Display KUNIT tests - parse panel type from DisplayID - Align IP discovery to pci device lifetime - SOC15 register macro cleanups - UVD memory placement fixes - GFX9 mode2 reset fixes - drop unnecessary BUG/BUG_ON - GFX8 soft reset rework - enable soft reset on GFX8 - PSP/SMU 15.0.9 update - VI ASPM fix - userq fixes - amdgpu_vm_get_task_info_pasid lifetime fix - DC CACP support - change system_unbound_wq with system_dfl_wq - Loosen VFCT bios parsing to deal with pci=3Drealloc - SI/SMU7 AC/DC switch fix - VM fence handling fix - GEM close optimisation - Apple Studio Display fixes - DC FRL fixes amdkfd: - initial compute pipe reset support - allow applications to opt out of sigbus on fatal errors - improve CRIU boundary checks - MQD handling rework - move TBA/TMA from system to device memory - avoid topology-lock in kfd_mmap - SVM eviction fixes radeon: - fix unset CONFIG_ACPI build i915: - Novalake (NVL display version 35) timing generator enabling - NVL DC3CO enabling - enable UBHR link rates on thunderbolt tunnels - Reduce Xe3+ PM demand peak bandwidth - enable pipe DMC error interrupts for display 30+ - add kunit tests for DP link config selection - refactor and document DP link recovery - i915/xe driver display probe/remove/suspend/resume/shutdown cleanup and unification - i915/xe display runtime PM unified - Break i915 and xe panic dependency on struct intel_framebuffer - Streamline Pre/Post-CSC LUT loops - drop TGL DC3DO support - CDCLK santization - fix HDMI scrambling enable - fix phys bo pread/pwrite with offset - add missing nospec on parallel submit slot - fix some NULL derefs xe: - drop force_execlist module param - gate observation streams with perf_allow_cpu - skip FORCE_WC and vm_bound check for external dma-bufs - dmemcg eviction support - remove unused NVL-S GuC - TLB invalidation improvements - NVL-S updated PCI-IDs and w/a - madvise: optimise invalidation path - fix infinite gt-reset loop in timeout recovery - update TTM device benefical_order - wait on external BO kernel fences in exec ioctl - add/use more KLV helpers - sriov: disable display in admin only PF mode - add RAS GPU health indicator - optimise TTM populate for DONTNEED BO - drop force_probe for NVL-s - add debugfs for pcode info amdxdna: - disable device buffer export nova: - build nova-core/nova-drm from drivers/gpu - export nova-core rust symbols (workaround) - GSP boot process consolidation - Boot GSP with vGPU enabled - TLV firmware image format support - Hopper/Blackwell fixes and cleanups - I/O projection adoption tyr: - firmware loading and MCU boot - add generic slot manager + MMU - GPU VM support ARM64 LPAE page tables - add kernel buffer object for internal allocations - add parser for Mali CSF - add MCU booting nouveau: - race fixes - check instmem iomapping at first use - add dmemcg support - expose NVDEC channels - add scanline position/head state support for GSP qxl: - convert simple encoder to regular ethosu: - add perf counter support etnaviv: - force flush on power register ops msm: - support DSC configuration with slice_per_pkt > 1 mxsfb: - fix disable sequence panthor: - support sparse mappings rockchip: - switch away from simple helpers - support YUV background color - fix layer config timeout - add edp support for rk3576 - add batch command submission function rocket: - error handling and NULL ptr deref fixes sun4i: - switch away from simple helpers imagination: - mark BXM-4-64 MC1 as support host1x: - support tegra264 tegra: - add DSI for tegra 20/30 v3d: - reduce PM runtime autosuspend delay - scheduler fixes and refactoring - deprecate v3d 3.3 and 4.1 - validate CPU job query boundaries hibmc: - improve plane format handling - switch to gem shmem mediatek: - cec: correct compat for mt7623-8167? exynos: - remove simple dependency - add error handling to encoder paths - take i2c adapter module reference drm for 7.3-rc1 perf: - export perf_allow_ APIs for xe udmabuf: - remove default size limit of 64MB rust: - i/o rework (signed tag from driver-core tree) - add registration guard and registration data - fix unbounded lifetimes in ioctl handler args - fix a drm_dev_register race - gem_shmem: add DmaResvGuard helper - gpuvm: require send/sync for driver data - implement send/sync for GpuVaAlloc and GpuVmBo - add SmContext lifetime - rename dma_handle to dma_address - change pci_sriov_get_totalvfs return to unsigned int core: - create drm_of_get_panel_orientation - send per-connector hotplug events - add thunderbolt UBHR tunneling support connector: - add color format property dmem: - introduce a peak file - accept one region per limit - add dmemcg support for eviction gpusvm: - reorg code to give drivers more flexibility atomic: - add create_state callback and helper - add documentation on atomic commit lifetime buddy: - add per-order free - add used block scoreboard - fix UAF - test buffer clearance on resume - add phys_addr->block helper gem: - drop DRIVER_GEM_GPUVA flag ttm: - be more aggressive allocating below protection limit sched: - add test suite for concurrent job submissions hdmi: - hook the color format property in helpers mipi-dsi: - add MIPI_DSI_MODE_DSC_ALL_SLICES_IN_PKT bridge: - add atomic create callbacks - drop atomic reset - display-connector: don't autoenable HPD IRQ - trigger initial HPD for DP - ti-sn65dsi83: remove NO_HFP and NO_HBP mode flags - analogix_dp: switch to DP link training helpers dp: - add support for DSC max delta BPP edid: - parse panel type from DisplayID 2.x Display Parameters sysfb: - improve panel, stride, framebuffer size validation panel: - implement ref counting for struct drm_panel - himax-hx83121a: add backlight regulator support - novatek-nt36672a: Inline panel init sequences - visionox-vtdr6130: enable DSC - novatek-nt37801: Use mipi_dsi_*_multi() functions - samsung-s6d16d0: Fix prepare error handling - support Novatek NT36536 plus DT bindings - sofef00: fix backlight updates - osd101t2587: use mipi_dsi_*_multi interface - panel-edp: adjust timing for AUO displays - panel-lvds: support Opto Logic SCX1001511GGC49 - panel-simple: support Kyocera tcg070wvlq - panel-edp: quirks - AUO B116XAT04.3, CMN N116BCP-EA2, CSW MNB601LS1-8 - BOE NV116WH2-M30, BOE NT116WHM-N21, BOE NV116FH1-M31 - BOE NV116FH1-M30, NV140FHM-N5B, TM156VDXP25 - BOE NE160QDM-NY1, MB116AS01 - new: - Samsung ATNA40HQ08-0, Anbernic TD4310 - Chipone ICNA35XX, Ilitek ILI9488 - Ilitek ILI7807S, Renesas R63419 - MNE001BS6-2, MNF601BS4-1, Sharp LQ120P1JX51 virtio: - add support for save/restore virtio_gpu_objects - abort vq wait on device removal amdgpu: - add color format DRM property - initial compute pipe reset support - add GFX 6-8 modifier support - initial DCN 6.0.0 support - dmemcg eviction support - improved boundary checking for bios parsing - RAS updates and rework - VCN secure submission fixes - 8K panel fix - Display KUNIT tests - parse panel type from DisplayID - Align IP discovery to pci device lifetime - SOC15 register macro cleanups - UVD memory placement fixes - GFX9 mode2 reset fixes - drop unnecessary BUG/BUG_ON - GFX8 soft reset rework - enable soft reset on GFX8 - PSP/SMU 15.0.9 update - VI ASPM fix - userq fixes - amdgpu_vm_get_task_info_pasid lifetime fix - DC CACP support - change system_unbound_wq with system_dfl_wq - Loosen VFCT bios parsing to deal with pci=3Drealloc - SI/SMU7 AC/DC switch fix - VM fence handling fix - GEM close optimisation - Apple Studio Display fixes - DC FRL fixes amdkfd: - initial compute pipe reset support - allow applications to opt out of sigbus on fatal errors - improve CRIU boundary checks - MQD handling rework - move TBA/TMA from system to device memory - avoid topology-lock in kfd_mmap - SVM eviction fixes radeon: - fix unset CONFIG_ACPI build i915: - Novalake (NVL display version 35) timing generator enabling - NVL DC3CO enabling - enable UBHR link rates on thunderbolt tunnels - Reduce Xe3+ PM demand peak bandwidth - enable pipe DMC error interrupts for display 30+ - add kunit tests for DP link config selection - refactor and document DP link recovery - i915/xe driver display probe/remove/suspend/resume/shutdown cleanup and unification - i915/xe display runtime PM unified - Break i915 and xe panic dependency on struct intel_framebuffer - Streamline Pre/Post-CSC LUT loops - drop TGL DC3DO support - CDCLK santization - fix HDMI scrambling enable - fix phys bo pread/pwrite with offset - add missing nospec on parallel submit slot - fix some NULL derefs xe: - drop force_execlist module param - gate observation streams with perf_allow_cpu - skip FORCE_WC and vm_bound check for external dma-bufs - dmemcg eviction support - remove unused NVL-S GuC - TLB invalidation improvements - NVL-S updated PCI-IDs and w/a - madvise: optimise invalidation path - fix infinite gt-reset loop in timeout recovery - update TTM device benefical_order - wait on external BO kernel fences in exec ioctl - add/use more KLV helpers - sriov: disable display in admin only PF mode - add RAS GPU health indicator - optimise TTM populate for DONTNEED BO - drop force_probe for NVL-s - add debugfs for pcode info amdxdna: - disable device buffer export nova: - build nova-core/nova-drm from drivers/gpu - export nova-core rust symbols (workaround) - GSP boot process consolidation - Boot GSP with vGPU enabled - TLV firmware image format support - Hopper/Blackwell fixes and cleanups - I/O projection adoption tyr: - firmware loading and MCU boot - add generic slot manager + MMU - GPU VM support ARM64 LPAE page tables - add kernel buffer object for internal allocations - add parser for Mali CSF - add MCU booting nouveau: - race fixes - check instmem iomapping at first use - add dmemcg support - expose NVDEC channels - add scanline position/head state support for GSP qxl: - convert simple encoder to regular ethosu: - add perf counter support etnaviv: - force flush on power register ops msm: - support DSC configuration with slice_per_pkt > 1 mxsfb: - fix disable sequence panthor: - support sparse mappings rockchip: - switch away from simple helpers - support YUV background color - fix layer config timeout - add edp support for rk3576 - add batch command submission function rocket: - error handling and NULL ptr deref fixes sun4i: - switch away from simple helpers imagination: - mark BXM-4-64 MC1 as support host1x: - support tegra264 tegra: - add DSI for tegra 20/30 v3d: - reduce PM runtime autosuspend delay - scheduler fixes and refactoring - deprecate v3d 3.3 and 4.1 - validate CPU job query boundaries hibmc: - improve plane format handling - switch to gem shmem mediatek: - cec: correct compat for mt7623-8167? exynos: - remove simple dependency - add error handling to encoder paths - take i2c adapter module reference
Hi Andi, First pull request from the rust-i2c tree for you. Thank you. Igor i2c: rust: mark I2cAdapter methods as inline A single cleanup for the Rust I2C abstractions, targeting 7.3. `I2cAdapter::get`, `inc_ref`, and `dec_ref` are trivial wrappers around `i2c_get_adapter`/`i2c_put_adapter` and were showing up as their own symbols in the build. Mark them `#[inline]` so they get folded into their callers instead. Signed-off-by: Igor Korotin <[email protected]>
Hi, this is summer edition of btrfs changes, smaller than usual. Yet, there are performance improvements in various areas or for specific workloads and some notable changes like removing space cache v1 code or mount option reduction. User visible changes: - free space v1 disabled by default; the v2 (free space tree) is mkfs default since 5.15, filesystems with v1 still work but could be slightly slower due to lack of block group caching - mount option 'rescue=usebackuproot' requires read-only mount, it's too risky to allow writable mount - remove standalone mount option 'usebackuproot', deprecated in 5.9 - preserve constraints of NODATASUM and NODATACOW when chattr and mount options may change the attributes - remove arbitrary limitation of 4KiB for page size when allowing block sizes smaller than page - print messages when pinned block groups affect swap activation Performance improvements: - use iomap bounce buffer for direct io instead of a fall back to buffered io; past correctness vs speed trade-offs dropped performance to ~50% of theoretical maximum, now it's ~95%, effectively doubled - replace xarray with local LRU list for tracking inhibited extent buffers, restored performance to pre-inhibition state (relatively ~3x) - remove unnecessary 1 jiffy delay in "non-SSD" mode with multiple logging tasks, decrease latency, throughput increased ~5x on sample workload - skip hole detection during full fsync for files without holes and lots of extents, reduce run time ~5x on sample workload (microsecond ranges) - reduce locking around extent readahead so it does not slow down other tasks using an overlapping range - enhance extent buffer allocation modes to allow NOWAIT semantics in some cases Notable fixes: - write-protect folios during writeback, prevent concurrent mmap and compress/checksumming/etc undesired interactions - in zoned mode, handle transient overcommit full instead of going read-only - fix possible deadlock between defragmentation and delayed allocation reservations - handle remaining iputs at umount time - fix lockdep warning between device scan locking and log mutex - add workaround for degenerate RAID56 device count modes (2 and 3) not supported by the parity calculation library - restore check that subvolume is not read-only when changing ACLs - retry reading verity data colliding with up-to-date status changes Core: - simplify raid56 stripe handling by using contiguous virtual allocations - in zoned mode, fix various metadata write issues in writeback or unmount - space reservation fixes - remove unused data structure members - more auto-freeing conversions - error pointer values are printed using %pe format
NFSD 7.3 Release Notes Jeff Layton contributed CB_NOTIFY support to NFSD's NFSv4.1 directory delegations. The server used to recall a delegation as soon as the directory changed. NFSD now watches delegated directories through fsnotify and reports adds, removes, renames, and directory attribute changes, carrying the filehandle and attributes of the affected entry, so clients can keep their caches. Some of the NOTIFY4 flags come from RFC 8881bis. Jeff Layton also continued the netlink work that started in v7.2. A new server-stats-get operation reports what /proc/net/rpc/nfsd publishes, plus NFSv4 callback counts, and SUNRPC now keeps its per-procedure call counts per network namespace, so a container sees its own numbers. nfsstat reads all of this over netlink, with a procfs fallback for older kernels. SUNRPC's service thread pool mode selection is gone. Pernode is the right choice on any host we run today, so the auto, global, and percpu modes have been removed. A single-node host still gets one pool. A multi-NUMA host now gets a pool per node. sunrpc.pool_mode accepts the old names but no longer selects anything. The rest is bug fixes, clean-ups, and small optimizations: an async COPY offload rework from Jeff Layton, more use-after-free fixes in the NFSv4 state revocation paths, percpu counter contention removed from the reply cache and IO accounting, and a long list of hardening fixes from Chris Mason. Sincere thanks to all contributors, reviewers, testers, and bug reporters who participated in the v7.3 NFSD development cycle.
m68k updates for v7.3 - Fix backtraces for non-running tasks, - Fix deadlock in show_cons_active(), - Defconfig updates, - Miscellaneous fixes and improvements. Thanks for pulling!
please pull the latest printk changes from - Prevent a possible out-of-bound access and a use-after-free in rather theoretical situations. - Make no_hash_pointers take effect early. - Some fixes and clean up of the ratelimit KUnit test.
a/v7.3-1 For: - v4l2-core: added ISP statistics support and per-block validation; - v4l2-core: Allow unknown HDR10 white point and luminance; - New camera sensors: Sony IMX678 and IMX471m, Himax HM1092 IR sensor - New codec: Milos: VPU v2.0 codec support - isp driver: gained support for Dreamchip RPPX1 ISP framework - vsp1 driver: gained support for RZ/T2H and RZ/N2H - Novalake driver: gained CVS support for new NVL hardware - dvb-core: fix feed leak on failed DMX_ADD_PID; - several driver fixes, cleanups and minor improvements. ---
please pull from
nus-2026081901
to receive HID subsystem queue for the current merge window, namely:
=3D=3D=3D=3D=3D
Core:
- fix long-standing force-feedback initialization race across the=20
subsystem (Dmitry Torokhov)
- switch to system_dfl_wq (Marco Crivellari)
AMD-SFH:
- support for tablet-mode switch for AMD SFH-based systems (Basavaraj=20
Natikar)
HyperX:
- support for HyperX QuadCast 2 (Benjamin Blume)
I2C-HID:
- support for devices that provide HID descriptor solely through=20
ACPI _DSM method (XIE Zhibang)
Intel-THC-HID:
- support for full I2C bus config parameters (Even Xu)
Logitech:
- HID++ 2.0 repogrammable button support (Elliot Douglas)
- Bolt receiver support for HID++ devices (Erik H=C3=A5kansson)
MSI:
- support for MSI Claw (Derek J. Clark)
Steam:
- initial support for 2026 Steam Controller (Vicki Pfau)
- support for sensor events on the 2025 Steam Controller (Vicki Pfau)
And many, many other fixes for various long standing issues that were=20
found by new modern tools, and quite a few device ID additions.
=3D=3D=3D=3D=3D
Thanks!
please pull sound updates for v7.3-rc1 from: The topmost commit is c139e7e44f58a6f8ddc9d850ea9924d34963b5da sound updates for 7.3-rc1 It was a fairly busy development cycle -- the changes spread over from the core side to leaf drivers, with lots of cleanups and enhancements. Here we go, some highlights: * ALSA core: - Extension of ALSA control component list ABI - Locking optimization and RCU conversion of ALSA sequencer core - A few hardening fixes for UMP and sequencer core - Drop __bitwise and __force prefix from UAPI definitions * ASoC: - Automatic DAI format selection code deployment across many drivers - Sorting of register default tables to prevent ordering issues in many drivers - Lots of code cleanups and refactoring - Updates in Qualcomm driver stack - New platforms: AMD ACP7.B/F, Cirrus Logic CS35L62, Loongson 2K0300, Meson GX, Qualcomm LPI MI2S, SM8475, WSA855X, Realtek RT1321 VA1/2 and RT766/7 * HD-audio: - Support for AW88399 HD-audio side codec for Lenovo Legion laptops - Support for Hygon and Lisuan HDMI controllers - Robustness fixes for wild device binding - Lots of quirks/fixups: Realtek and Conexant codecs for ASUS, Lenovo, Acer, etc * USB-audio: - Support for Pioneer DJ DJM-S11 - Scarlett2/FCP private URB notification fixes - Extended quirk_flags to 64bit - Hardening fixes for 6fire, bcd2000, usx2y - Device-specific quirks for Mackie, Valeton, SPACETOUCH * General: - Auto-cleanup for put_device() and firmware loading across multiple platforms
LoongArch changes for v7.3 1, Add DIRECT_MAP_PHYSMEM_END definition; 2, Expand module virtual address space to 2GB; 3, Use current_stack_pointer in current_pt_regs(); 4, BPF JIT enhancements such as kptr_xchg and timed may_goto; 5, Some bug fixes and other small changes.
cycle. It's been busy. This cycle I squirted out 1250 "added-to-mm" emails. In the previous cycle it was 920. So lots of material. 500 patches here, nearly 200 lined up for next week. I don't enjoy typing up those patch series summaries, so I haven't been doing them well. This time I recruited Gemini to draft many of the bullets and then I did a review/edit pass. I think the result is better(?). I'm seeing no merge conflicts at this time. Possible upcoming merge and build issues and their linux-next resolutions are: arch/riscv/Kconfig, vs risc-v tree: https://lore.kernel.org/[email protected] drivers/gpu/drm/ttm/ttm_backup.c, vs drm tree: https://lore.kernel.org/[email protected] mm/hugetlb.c, mm/mm_init.c vs liveupdate tree: https://lore.kernel.org/[email protected] drivers/misc/sgi-xp/xpc_uv.c vs char-misc tree: https://lore.kernel.org/[email protected] Thanks. mm.git review status for mm-hotfixes-stable..mm-stable Everything: Total patches: 501 Reviews/patch: 1.66 Reviewed rate: 70% Excluding DAMON: Total patches: 356 Reviews/patch: 2.26 Reviewed rate: 90% Excluding DAMON and selftests: Total patches: 329 Reviews/patch: 2.31 Reviewed rate: 92% Excluding DAMON, selftests and maple_tree: Total patches: 328 Reviews/patch: 2.31 Reviewed rate: 92% Summary of patch series in this merge: - The 2 patch series "mm: drop "sub" prefix from various places" from Dev Jain implements some page->folio conversion and a naming cleanup. - The 2 patch series "mm/kasan: remove redundant initialization for kasan_flag_write_only" from Igor Putko provides some KASAN cleanup work. - The 2 patch series "mm/filemap: reduce unnecessary xarray lookups" from Chi Zhiling provides a small speedup in the pagecaache read code. - The 4 patch series "mm/percpu: Fix possible NOFS/NOIO reclaim recursion" from Kaitao Cheng improves a few things in the vmalloc code - mainly the avoidance of GFP_KERNEL allocations when the caller asked for GFP_NOFS or GFP_NOIO. - The 3 patch series "mm/kmemleak: avoid soft lockup when scanning task stacks" from Breno Leitao avoids a soft lockup watchdog trigger from the kmemleak scanning code in extreme situations. - The 6 patch series "mm/page_owner: misc cleanups" from Ye Liu is a collection of unrelated cleanups to the page_owner code. For some reason lots of people have been working on the page_owner code this cycle. - The 4 patch series "mm: convert to walk_page_range_vma() to eliminate find_vma()" from Kefeng Wang simplifies and accelerates the page walking library function. - The 3 patch series "mm/migrate: preparatory cleanups for batch copy and offload" from Shivank Garg implements cleanups in the migration code. - The 4 patch series "mm/page_owner: add per-fd filter infrastructure for print_mode and NUMA filtering" from Zhen Ni provides per-fd filtering to page_owner in order to reduce the sometimes vast amount of output it can produce. - The 19 patch series "mm: Refactor bootmem gigantic hugepage allocation" from Muchun Song is a "set of fixes and preparatory cleanups around bootmem HugeTLB handling, sparse initialization ordering, and related vmemmap setup". - The 4 patch series "mm/zsmalloc: reduce lock contention in zs_free()" from Wenchao Hao reduces lock contention in zs_free(), which dominates the unmap path under memory pressure on Android (LMK kills) and on x86 servers running zswap-heavy workloads. Up to 1.83x improvement in microbenchmarking. - The 2 patch series "move alloc_tag.c file under mm/" from Suren Baghdasaryan does that. - The 6 patch series "samples/damon: handle damon_{start,stop}() failures" from SJ Park fixes improper handling of damon_start(), damon_stop(), and damon_call() failures across DAMON sample modules to prevent potential memory leaks, operation disruptions and use-after-free bugs. - The 11 patch series "mm/damon/sysfs: kobject_del() directories that users can create/remove" from SJ Park resolves an issue where delayed sysfs directory removal under CONFIG_DEBUG_KOBJECT_RELEASE causes creation failures due to duplicate directory names by adding missing kobject_del() calls before creating new directories. - The 3 patch series "mm: cleanup clear_not_present_full_ptes()" from David Hildenbrand cleans up the core pte handling code. - The 3 patch series "selftests/damon: misc fixes for test bugs" from Kunwu Chan fixes several bugs in the DAMON selftests. - The 2 patch series "selftests/damon: fix memcg_path staging handling" from Cheng Nie fixes a bug in _damon_sysfs.py for damos_filter memcg_path setup, and adds a test case for it in sysfs.py. - The 2 patch series "selftests/damon: test kdamond refresh_ms" from Ruslan Valiyev introduces selftest coverage for DAMON's refresh_ms sysfs feature by updating the test control module and verifying that scheme stats update automatically without manual intervention. - The 5 patch series "mm/damon: five misc fixups" from Akinobu Mita contains miscellaneous DAMON fixups. - The 2 patch series "mm/damon/core: detect internal variation above max_nr_regions/2" from Jiayuan Chen fixes DAMON's region splitting behavior when region counts exceed half the maximum budget by dynamically scaling down the split fraction as the limit approaches, preventing large regions from staying un-split, and adds corresponding KUnit test coverage. - The 6 patch series "mm: preparatory patches for PMD level swap entries" from Usama Arif refactors and cleans up PMD softleaf helpers, call sites, and architecture flags to lay the groundwork for a follow-up series that introduces PMD page table swap entries. - The 11 patch series "mm/damon: update, optimize, and clean up doc, tests, and code" from SJ Park updates DAMON design and ABI documentation, expands unit and selftest coverage, optimizes damon_commit_target_regions(), and cleans up recently added sysfs interface code for better readability. - The 2 patch series "mm/vmpressure: reduce CPU, memory and code overhead on cgroup v2" from Usama Arif optimizes vmpressure() by skipping unnecessary work on cgroup v2 for userspace event notifications and refactors v1-only eventfd handling into mm/memcontrol-v1.c to reduce memory overhead and code complexity. - The 10 patch series "selftests/mm: refactor pkey helpers and fix mmap error handling" from Hongfu Li refactors pkeys shared tracing and assertion helpers into a common file, unifies protection key selftests to use consistent diagnostic logging and assertions, and enforces standardized MAP_FAILED return checks for mmap() calls across the tests. - The 18 patch series "mm/damon: optimize out nr_accesses_bp" from SJ Park replaces the error-prone, continuously updated nr_accesses_bp field in damon_region with an on-demand moving sum function (damon_nr_accesses_mvsum()), reducing structure memory overhead and avoiding state corruption bugs. - The 6 patch series "Open HugeTLB allocation routine for more generic use" from Ackerley Tng decouples HugeTLB folio allocation from VMA dependencies by introducing hugetlb_alloc_folio(), enabling subsystems like guest_memfd to allocate HugeTLB folios without standard VMA reservations or pseudo-VMAs. - The 3 patch series "mm/damon: provide pseudo moving sum probe_hits" from SJ Park integrates DAMON's probe_hits attribute counter into the pseudo moving sum infrastructure, enabling real-time, online monitoring without waiting for full aggregation intervals. - The 18 patch series "mm: Some cleanups for page allocator APIs" from Brendan Jackman simplifies and refactors the page allocator entry points and flags by unifying allocation paths, adding internal alloc_flags arguments, and eliminating redundant __ prefixed alloc_pages variants. - The 5 patch series "Fix incorrect access of hugetlb pte entries" from Dev Jain enforces the consistent use of huge_ptep_get() instead of ptep_get() for HugeTLB entries and fixes an unaligned address issue in arm64's huge_ptep_get() implementation. - The 8 patch series "mm/damon: validate all parameters in the core" from SJ Park consolidates parameter validation into the DAMON core specifically within damon_start() and damon_commit_ctx() to centralize error checking, eliminate caller-side redundant checks and to improve maintenance efficiency. - The 3 patch series "tools/mm/page_owner_sort: fix filtering and cleanup issues" from Yichong Chen renames is_need() to filter_record() for clearer return semantics, fixes per-record allocation memory leaks and bounds output copies in search_pattern() to address an existing buffer issue. - The 4 patch series "memcg: bail out reclaim when memcg is dying" from Jiayuan Chen mitigates a system-wide stall which occurs when a cgroup is removed while one of its memory control files is doing synchronous reclaim. - The 5 patch series "mm/memory-failure: add panic option for unrecoverable pages" from Breno Leitao introduces an opt-in vm.panic_on_unrecoverable_memory_failure sysctl that immediately panics the kernel on unrecoverable memory errors in kernel-owned pages to preserve error context and prevent delayed, silent data corruption. - The 11 patch series "mm/damon: refactor damon_{start,stop,commit}() for simple error handling" from SJ Park refactors the DAMON core API functions to guarantee that all contexts are fully stopped when damon_start(), damon_stop(), or damon_commit() fail, eliminating the need for complex and error-prone caller-side cleanup code. - The 5 patch series "Keep tail page private zero at free and folio split" from Zi Yan adds checks to ensure tail_page->private is zero when freeing compound or high-order pages and when promoting tail pages during large folio splits. By validating these fields at free and split time, it allows the removal of redundant private field clearing inside prep_compound_tail(). - The 4 patch series "mm: drop redundant lru_add_drain in anon folio reuse paths" from Barry Song eliminates redundant lru_add_drain() calls in wp_can_reuse_anon_folio() and do_swap_page() to reduce LRU lock contention and system overhead. By validating folio refcounts against the LRU cache before draining and removing unnecessary drains in the swap path, it achieves up to a 30.5% reduction in drain calls during heavy swap workloads. - The 3 patch series "mm: clean up folio LRU and swap declarations" from Jianyue Wu reorganizes folio LRU and swap code by relocating page-cluster state to mm/swap_state.c, renaming mm/swap.c to mm/folio.c, and moving MM-internal reclaim declarations into mm/internal.h. - The 15 patch series "userfaultfd: working set tracking for VM guest memory" from Kiryl Shutsemau adds userfaultfd support for tracking the working set of VM guest memory, so a VMM can identify hot pages and reclaim cold ones to tiered or remote storage. - The 10 patch series "mm: remove CONFIG_HAVE_BOOTMEM_INFO_NODE (Part 2)" from David Hildenbrand removes the remaining pieces of CONFIG_HAVE_BOOTMEM_INFO_NODE, performing some smaller cleanups around freeing of reserved vmemmap pages on the way. - The 7 patch series "mm/damon: update probe hits for runtime parameter commits" from SJ Park ensures that DAMON's probe_hits attribute counter is properly updated when monitoring intervals are changed at runtime, matching the behavior of nr_accesses. To achieve this, it refactors and renames existing helper functions for shared use, applies the updates to probe_hits, and handles edge cases in damon_probe_hits_mvsum() to maintain measurement accuracy. - The 3 patch series "KSM: performance optimizations for rmap_walk_ksm" from xu xin resolves a severe KSM reverse-mapping performance bottleneck where thousands of split VMAs sharing a single anon_vma cause extended lock contention. By adding an interval-filtering check during the rmap walk, it reduces worst-case anon_vma lock hold times from over 500ms down to under 2ms, preventing application freezes and latency spikes under memory pressure. - The 3 patch series "mm: split a couple of headers from internal.h" from Mike Rapoport splits declarations related to mm_init, memblock, vmalloc and sparse into new headers. - The 2 patch series "KSM: use linear_page_index in collect_procs_ksm()" from xu xin applies the interval tree optimization from rmap_walk_ksm() to collect_procs_ksm() to avoid iterating over non-matching VMAs during KSM memory error handling. It hoists loop-invariant address initialization and restricts the anon_vma_interval_tree_foreach walk to a targeted page offset range, reducing redundant checks and improving lookup efficiency. - The 3 patch series "selftests/mm: avoid false failures in hugetlb and KSM tests" from Sayali Patil fixes issues in the hugetlb and KSM MM selftest categories that can report failures when the prerequisites for the tests are not satisfied. - The 19 patch series "mm/damon: introduce data attributes only monitoring" from SJ Park introduces attribute-weighted region management in DAMON, allowing users to prioritize specific data attributes (such as page sizes or cgroups) over or instead of access monitoring. By assigning weights to attribute probes, DAMON can completely disable access tracking and adjust monitoring regions based on weighted probe-hit counters to optimize monitoring quality for attribute-focused workloads. - The 8 patch series "mm/hmm: Add mmap lock-drop support for userfaultfd-backed mappings" from Stanislav Kinsburskii extends hmm_range_fault() to support userfaultfd-backed regions by allowing the mmap lock to be dropped during fault handling via a new hmm_range_fault_locked() helper. By accepting a locked pointer and signaling retry status when lock release occurs, it enables page fault resolution in userfaultfd regions while preserving backward compatibility for existing callers. - The 33 patch series "mm: make VMA page offset handling more consistent" from Lorenzo Stoakes cleans up and standardizes how vma->vm_pgoff is accessed and manipulated across file-backed and anonymous mappings in the kernel. It introduces dedicated helper functions such as vma_start_pgoff(), vma_end_pgoff(), vma_set_pgoff() and linear_page_delta() while renaming rmap interval tree helpers to better reflect their functionality. These changes establish a cleaner foundation for future work that will unify virtual page offset indexing for all anonymous and CoW'd folios. - The 3 patch series "mm: handle device-private PMDs in walk callbacks" from Usama Arif addresses kernel panics and state corruption caused by MM walk callbacks reaching non-present device-private PMD swap entries created during HMM migrations. It ensures that functions which acquire pmd_trans_huge_lock() properly recognize device-private PMDs instead of assuming a present THP or a standard migration entry. - The 5 patch series "mm/rmap: Refactor try_to_unmap_one" from Dev Jain refactors try_to_unmap_one by modularizing Hugetlb, anonymous-lazyfree, and anonymous-swapbacked logic into dedicated functions, laying the structural groundwork for batched anonymous large folio unmapping. - The 4 patch series "Docs/ABI/damon: sysfs ABI document fixes and additions" from Song Hu fixes typos and fills in missing entries in the DAMON sysfs ABI document. - The 10 patch series "dax/kmem: atomic whole-device hotplug via sysfs" from Gregory Price introduces an atomic sysfs state attribute and supporting DAX/MM infrastructure to prevent userland races when offlining and removing entire memory regions. By adding an unplugged state alongside standard online modes, it enables whole-device atomic hotplug control while preserving backward compatibility. - The 13 patch series "mm: convert more vm_flags_t users to vma_flags_t" from Lorenzo Stoakes continues transitioning the kernel from the deprecated vm_flags_t type to vma_flags_t across core memory management infrastructure. It replaces legacy type usage in core functions such as do_mmap(), unmapped area allocation, mm->def_vma_flags, and VMA operations like mlock, mprotect, and mremap. - The 2 patch series "Two small patches to clean up mm/mm_slot.h" from xu xin refactors mm_slot.h by introducing mm_slot_remove() to unify duplicate slot deletion sequences in khugepaged and KSM. It also adds code documentation explaining why mm_slot_lookup and mm_slot_insert must remain as preprocessor macros rather than static inline functions. - The 10 patch series "mm/damon/core: hide core-private struct fields" from SJ Park cleans up DAMON core structures by consistently marking internal-only fields with private: comment tags to prevent improper direct access from outer layers. It enforces encapsulation across core structures including damon_region, damon_target, and damon_ctx and updates DAMON_SYSFS to interact through approved access APIs instead of exposing raw struct members. - The 6 patch series "mm/damon: unurgent fixes for infinite loop, NULL de-ref and races" from SJ Park addresses potential infinite loops, NULL dereferences, and race conditions identified in DAMON. It fixes an infinite loop triggered by extreme user configurations, a NULL pointer dereference within unit tests and minor monitoring accuracy degradation caused by subtle runtime races. - The 2 patch series "mm/page_alloc: fixes for free_pages_nolock() on RT/UP" from Brendan Jackman fixes an NMI safety flaw in __free_frozen_pages() where freeing pages on non-SMP or PREEMPT_RT kernels can bypass can_spin_trylock() checks via non-PCP or isolated migration paths. It also resolves potential kernel crashes and privilege escalation risks triggered when BPF tracing runs in NMI context alongside memory hotplug or large allocation frees. - The 4 patch series "mm/page_alloc: couple of followups for recent cleanups" from Brendan Jackman cleans up and updates page allocator nomenclature, documentation, and debug assertions. It aligns internal FPI_ flags with the public "nolock" naming convention, removes outdated internal implementation details from high-level page allocator comments, and eliminates obsolete VM_BUG_ON() assertions in allocation paths. - The 3 patch series "mm/mseal: further cleanups" from Lorenzo Stoakes refactors and simplifies the mseal implementation by clarifying API boundaries and removing unnecessary code complexity. It replaces generic do_mseal() usage outside the syscall with a dedicated mseal_mmap_page_zero() helper for MMAP_PAGE_ZERO, eliminates mm_struct parameters to enforce that sealing applies only to current->mm, and streamlines overall logic and comments with no functional changes intended. - The 4 patch series "mm/vmscan: fix swappiness=max and clean up per-node proactive reclaim" from Ridong Chen resolves reclaim behavior bugs and cleans up function parameters across memory reclaim paths. It fixes swappiness=max in both standard reclaim and MGLRU so unswappable anonymous memory no longer falls back to evicting page cache, ensures reclaim_store() returns accurate error codes instead of collapsing all failures into -EAGAIN, and removes the obsolete gfp_mask parameter from __node_reclaim(). - The 6 patch series "mm: mincore: misc cleanups" from Kefeng Wang cleans up and simplifies the mincore code. Most importantly, it removes the historical special behavior that always reports VM_PFNMAP pages as non-resident. - The 2 patch series "mm/huge_memory: drop dead split helper variants" from Kiryl Shutsemau implements two trivial cleanups in the folio split API. - The 7 patch series "mm/damon: fix uninitialized DAMOS field and kunit exec expectation bugs" from SJ Park resolves minor operational and testing bugs in DAMON identified by Sashiko. It initializes the damos->last_applied field to prevent occasional efficiency degradation and fixes invalid memory accesses in DAMON KUnit tests during test failure handling. - The 3 patch series "cleanup for stable_page_flags()" from Jinjiang Tu cleans up and refactors stable_page_flags() used by /proc/kpageflags without altering functionality. It uses BIT_ULL() to prevent shift-overflow warnings on 64-bit flag bits, converts folio-specific flag checks to standard folio_test_*() helpers, and removes redundant CONFIG_PAGE_IDLE_FLAG handling. - The 3 patch series "Batch unmap of uffd-wp file folios" from Dev Jain extends batched folio unmapping support to file folios within userfaultfd write-protect (uffd-wp) VMAs by adding batching capabilities to pte_install_uffd_wp_if_needed(). This removes special-case restrictions on uffd-wp VMAs in try_to_unmap_one(), significantly simplifying the function's control flow and complexity. - The 3 patch series "mm/early_ioremap: clarify and clean up early_ioremap_reset()" from Sang-Heon Jeon clarifies and cleans up the architecture-specific usage of __late_set_fixmap() and __late_clear_fixmap() after early_ioremap_reset(). It adds explicit documentation regarding when early_ioremap_reset() must be called and removes redundant macro definitions and reset calls in the RISC-V and ARM64 architectures. - The 4 patch series "mm: fix reclaim storms in defrag_mode" from Johannes Weiner addresses severe performance regressions, swap storms, and spurious OOMs caused by vm.defrag_mode=1 under high memory pressure in Meta production. It updates the page allocator slowpath so non-movable allocation requests actively trigger direct reclaim and direct compaction at pageblock_order scale, allowing them to claim whole pageblocks rather than spinning unproductively. - The 2 patch series "zram: lockmap tweaks" from Sebastian Siewior optimizes and fixes lockdep tracking for zram devices by consolidating per-entry lockmaps and isolating lock classes across multiple instances. It reduces memory overhead by replacing per-entry lockdep_map instances with a single map per struct zram, and assigns a dynamic lock_class_key to each instance to prevent false deadlock reports when different zram devices are backed by distinct filesystems.
VFIO updates for v7.3-rc1 - Add nv_falcon vfio selftest driver. The Falcon is a general-purpose microcontroller embedded within NVIDIA GPUs, presenting a relatively simple DMA programming interface. This adds another selftest target for vfio-pci with real DMA transfers. (Rubin Du, Alex Williamson) - Add allocation assertion helpers to vfio selftests and use them to avoid variable length arrays and the compiler errors they generate. (Alex Mastro) - Fix use-after-free hazard where an init path error in MSI support leaves a stray pointer that can later be reused or double-freed. (Xiang Mei) - Fix previous refactor of PCI BAR mappings to honor non_mappable_bars flag, which otherwise generates a warning when trying to pci_iomap() a 256TiB BAR on ISM devices on s390. (Farhan Ali) - Add igb vfio selftest driver. Like nv_falcon, this provides another target for DMA testing with vfio selftests, but importantly this driver supports both physical 82576 NICs and the emulation model in QEMU. This therefore enables a vfio selftest vector with no physical hardware requirements. (Josh Hilke, Alex Williamson) - Mark selftest fixture objects __maybe_unused to accommodate builds with clang -Wunused-but-set-global. (David Matlack) - Add error recovery for vfio-pci devices on s390x. This expands devices which expose the existing error eventfd and introduces a device feature for reporting firmware defined error state information to the user, allowing recovery through hypervisor channels. (Farhan Ali)
One of the "small improvements all over the place" releases for us. It's hard to draw any direct comparisons because summer vacations disrupted our patch processing (and presumably - generation) quite a bit. Quick and dirty count suggests we (Paolo and I) merged a very similar number of net (632) and net-next (648) patches. This is not telling the full story either because 1/3 to 1/2 of the net-next patches also *seem* like AI-driven low priority fixes, cleanups and clarifications. We are completely overwhelmed, of course. The glimmer of hope is that we secured sufficient LLM budget and access (thank you Meta!) to run reviews with multiple frontier models on each patch. This eliminates some hallucinations. That said, in terms of review, the LLMs can only do so much. The sad truth is that our APIs (especially for rare events like PCIe errors, timeouts etc.) have always been racy, and now LLMs don't let us ignore that. I expect our direction for the next release will be to tweak the reviews a little bit more, but start shifting focus to letting the LLMs take care of the busy work - managing patchwork, automating common process complaints, editing commit messages, and maybe applying patches which already got "reviewed-by" tags from people we trust... Enough blabber. Returning to this PR - you will see these conflicts: - trivial in MAINTAINERS, remove EHEA - trivial in include/linux/pci_ids.h, keep both - wifi/mt76 - keep the lockdep and the comment, rest it obvious https://lore.kernel.org/[email protected] Networking changes for 7.3. Core & protocols
soc: drivers for 7.3 The SoC driver changes once more consist of many small fixes and cleanups, that are to a large part the result of automated testing. On platform specific drivers, this includes SoC specific code for xilinx, freescale/nxp, qualcomm, TI, aspeed, omap, tegra, samsung, rockchip, renesas, ixp4xx. In firmware drivers, we see a similar picture for SCMI and qcomtee. Aside from these, we see actual new hardware support in a few areas: - The Apple platform gets a new driver for low power states - Updates to Qualcomm platform drivers add several new hardware specific features and additional SoCs. - Amlogic SoC support for A1 and T7 is added - The Mediatek MMSYS driver is refactored as a cleanup.
soc: devicetree updates for 7.3 There are two new mystery SoCs with very little public information about them so far, Qualcomm's Cortex-A78C based "Shikra" and Altera's Cortex-A720 based Agilex72 SOCFPGA. We have also gained support for a couple of SoCs from the 2023/2024 timeframe that have been in the making for a while: - The Apple platform gains support for M3 Pro, Max and Ultra SoC, following the basic M3 support from 7.2. - Samsung Exynos 1580 is a high-end mobile phone SoC from 2024 - Canaan K230 is a RISC-V based 64-bit AI SoC, based on the earlier K210 chip - Sophgo SG2000 is a mixed Arm/RISC-V chip that was already supported using the Arm core but is now also added for RISC-V along with several other variants of the cv18xx series In terms of newly added machines we have reference platforms for all the chips above, plus - only four 32-bit Arm boards: two older phones and two older industrial/embedded boards; using Allwinner, Qualcomm and Rockchip SoCs - Three laptops und three phones using Qualcomm SoCs - Ten 64-bit Rockchips based single-board computers, along with one NAS box and a game console. - Seven industrial/embedded boards and modules using NXP i.MX8/9 SoCs. - A Lenovo desktop box based on NVIDIA Jetson Xavier NX - A few more single-board computers based on Allwinnner A133, Spacemit K1 and TI AM62. As usual, there is a constant stream of minor cleanups and fixes towards addressing the 'dt-check-style --mode strict' warnings, and everyone is expected to address those warnings for new submissions now.
soc: defconfig updates for 7.3 Just the usual updates to the main defconfig files as well as the omap2 specific one, to enable more loadable modules for better default hardware support.
soc: Arm platform updates for 7.3 The 32-bit Arm platforms are a bit more interesting this time: I refresh= ed an earlier series to mark code as deprecated that does have the tendency of getting in the way of cleanups and new features but has close to zero users. Among these are: - 22 of the remaining 28 legacy board files that predate the current devicetree based descriptions, using old chips from Intel and Marvell. The remaining six board files are for TI OMAP1 and Samsung s3c64xx chips and all still have known users. - support for Cortex-M3/M4/M7 and ARM1136r0 CPU cores and the 25 machines based on these. These all use devicetree but the CPU support causes disproportional work. Most of them are just reference boards, the notable exceptions being the Nokia N800/N810 tablet and the Buglabs BUG platform. - be8, be32, oabi and iwmmxt userspace binaries, which were mostly associated with the platforms now scheduled for removal and are increasingly problematic to support with modern toolchains. Nothing is actually removed at this point, to ensure that any remaining users continue to have the 7.3-LTS for a while longer. Patches for removal are currently being tested. Other updates include a continued work to convert GPIO number based interfaces to descriptors, a patch to restore little-endian mode on the one Arm platform (ixp4xx) that only worked in big-endian mode recently, and some minor cleanups and bugfixes.
This one is again a little over 1000 non-merge commits, from 263
individual authors, with Qualcomm, NXP and Rockchip devicetree
files making up a majority of the changes. The new SoCs this
time are mostly a bit older, these include Apple M3 Pro/Max/Ultra,
Samsung Exynos 1580, Canaan K210, Sophgo SG2000 and the new
Qualcomm Shikra and as well as Altera Agilex72.
A small but noteworthy change is the deprecation of a number of
older 32-bit Arm platforms that were getting in the way.
For this release, nothing is actually being removed, but my
current testing has shown hundreds of now orphaned drivers that
can be removed along with those platforms.
The long-running devicetree cleanups are slowly getting to the
point of fixing known dtc compiler warnings and being able to
enforce this better for new contributions.
The most active contributors this time are:
73 Krzysztof Kozlowski
52 Stefano Radaelli
50 Manivannan Sadhasivam
46 Mukesh Ojha
29 Konrad Dybcio
23 Frank Li
21 Arnd Bergmann
20 Dmitry Baryshkov
19 Sudeep Holla
13 Jie Gan
12 Luca Weiss
12 Komal Bajaj
12 James Calligeros
12 Ioana Ciornei
12 Aurelien Jarno
11 Pengpeng Hou
Dirstat:
0.6% Documentation/devicetree/bindings/arm/
0.5% Documentation/devicetree/bindings/clock/
0.1% Documentation/devicetree/bindings/gpio/
0.2% Documentation/devicetree/bindings/soc/
0.5% Documentation/devicetree/bindings/
0.1% arch/arm/boot/dts/allwinner/
0.6% arch/arm/boot/dts/aspeed/
0.1% arch/arm/boot/dts/marvell/
0.1% arch/arm/boot/dts/nxp/
0.9% arch/arm/boot/dts/qcom/
0.1% arch/arm/boot/dts/renesas/
0.6% arch/arm/boot/dts/rockchip/
0.8% arch/arm/boot/dts/ti/omap/
0.3% arch/arm/boot/dts/vt8500/
0.2% arch/arm/boot/dts/
0.1% arch/arm/configs/
0.1% arch/arm/mach-lpc32xx/
0.1% arch/arm/mach-orion5x/
0.3% arch/arm/mach-sa1100/
0.7% arch/arm/
0.4% arch/arm64/boot/dts/allwinner/
0.3% arch/arm64/boot/dts/amd/
0.2% arch/arm64/boot/dts/amlogic/
8.3% arch/arm64/boot/dts/apple/
2.0% arch/arm64/boot/dts/exynos/
16.4% arch/arm64/boot/dts/freescale/
0.4% arch/arm64/boot/dts/intel/
0.5% arch/arm64/boot/dts/mediatek/
0.7% arch/arm64/boot/dts/nvidia/
28.0% arch/arm64/boot/dts/qcom/
2.4% arch/arm64/boot/dts/renesas/
11.8% arch/arm64/boot/dts/rockchip/
0.2% arch/arm64/boot/dts/sophgo/
0.1% arch/arm64/boot/dts/tesla/
5.3% arch/arm64/boot/dts/ti/
1.2% arch/arm64/boot/dts/xilinx/
0.2% arch/arm64/boot/dts/
0.6% arch/riscv/boot/dts/canaan/
0.4% arch/riscv/boot/dts/sophgo/
1.3% arch/riscv/boot/dts/spacemit/
0.1% arch/riscv/boot/dts/thead/
0.4% drivers/firmware/arm_scmi/
2.3% drivers/firmware/qcom/
0.1% drivers/firmware/xilinx/
0.2% drivers/memory/tegra/
0.4% drivers/soc/amlogic/
0.2% drivers/soc/apple/
0.3% drivers/soc/fsl/qe/
0.7% drivers/soc/fsl/
1.1% drivers/soc/mediatek/
1.7% drivers/soc/qcom/
0.1% drivers/soc/tegra/
0.4% drivers/
0.7% include/dt-bindings/clock/
0.1% include/linux/soc/qcom/
0.1% include/linux/
1088 files changed, 70562 insertions(+), 7263 deletions(-)
All commits have been in linux-next; two signed tags for "software node
fw_devlink support" and "Rust I/O type generalization and projection" have =
been
shared with other trees.
Expect a few minor conflicts with other trees (DRM, PM, PWM), and a minor
semantic one with the Rust tree [1].
Thanks,
Danilo
[1] https://lore.kernel.org/linux-next/20260807074729.108159-1-ojeda@kernel=
.org/
Driver core changes for 7.3-rc1
- container_of:
- Apply typeof_member(), remove the local __mptr variable to eliminate
variable shadowing warnings on nested container_of() calls, and remove
unnecessary parentheses.
- core:
- Add driver name to probe debug print for initcall_debug.
- Avoid repeatedly printing the same 'Fixed dependency cycle' log.
- Unwind device_add() on attribute creation failure in
attribute_container_add_class_device().
- Remove statistics group if encryption group creation fails in
transport_add_class_device().
- debugfs:
- Fix lockdown check for mmap_prepare().
- Warn if file creation failed due to uninitialized debugfs.
- device property:
- Implement fw_devlink support for software nodes by adding
software_node_add_links(), which creates fwnode links from DEV_PROP_REF
properties to enable automatic probe ordering. Add kunit-managed fwnode
helpers and test coverage.
- Fix infinite loop in fwnode_for_each_child_node() when the secondary fw=
node
has more than one child. Add test cases.
- Fix out-of-bounds access in software_node_get_reference_args() when cal=
led
with index -1 (UINT_MAX).
- Refactor to use RAII approach with __free().
- Add Bartosz Golaszewski as software node reviewer.
- firmware loader:
- Fix race where a sysfs fallback request can complete before being queue=
d as
pending, leading to a use-after-free on the next fallback request.
- Reject 0-size built-in firmware and fail the build on empty firmware fi=
les
in CONFIG_EXTRA_FIRMWARE.
- kobject:
- Provide __KOBJ_ATTR() and __KOBJ_ATTR_RO/WO() initialization macros and
allow the constification of kobject attributes, enabling them to reside=
in
read-only memory.
- platform:
- Provide platform_device_set_of_node(), platform_device_set_fwnode(), an=
d
platform_device_set_of_node_from_dev() helpers that encapsulate firmwar=
e
node reference counting for dynamically allocated platform devices. Con=
vert
all in-tree users that manually assigned dev.of_node or dev.fwnode, fix=
ing a
pre-existing refcount bug in powermac. Switch to counting references o=
f all
firmware node types, not only OF nodes.
- Unify the release path for dynamically allocated platform devices by
removing platform_device_release_full(). Amend the fwnode setter API
contract to warn if a primary software node is overwritten. Add KUnit t=
ests
for correct software node removal on device unregistration.
- Rust:
- Auxiliary:
- Add registration_data_with() closure-based API for invariant ForLt ty=
pes.
- Debugfs:
- Migrate BinaryWriter and BinaryReaderMut trait requirements from
kernel::transmute traits to zerocopy traits.
- Device:
- Add BoundInternal device context and InternalBoundContext trait for b=
us
abstractions that need internal access to a bound device.
- Make the lifetime on Core and CoreInternal invariant to prevent coerc=
ion
to shorter lifetimes.
- Devres:
- Fix race between concurrent revokers where the losing revoker could r=
eturn
before the winning revoker finished dropping the inner data, causing
use-after-free.
- Ensure revocation is complete before the device finishes unbinding by
making the synchronization bidirectional.
- Add DevresLt<F: ForLt>, a wrapper around Devres that shortens 'static=
back
to the caller's borrow scope. Implement ForLt and CovariantForLt for =
Bar,
IoMem, and ExclusiveIoMem.
- Driver:
- Switch from index-based to pointer-based device ID info lookup, stori=
ng
static references in driver_data. Centralize device ID handling in
device_id.rs, removing the open-coded ACPI/OF matching logic and dupl=
icate
ID table from driver.rs.
- I/O:
- Make I/O regions typed (with a dynamically-sized Region type for the
existing untyped case), create view types representing subregions of =
a
mapped I/O region, and add io_project!() for safely creating subviews=
.
- Split Io into a base trait (IoBase) and an extension trait (Io) with =
a
blanket implementation, preventing implementers from overriding provi=
ded
methods that unsafe code relies on.
- Add a SysMem backend for shared system memory with volatile access, a=
nd
make Coherent implement Io via an I/O view type. Add IoSysMap as sum=
type
of Mmio and SysMem. Add copying methods (memcpy_{from,to}io()) and
read_val()/write_val() for typed access.
- Replace dma_read!()/dma_write!() with io_read!()/io_write!() for
primitives and copying methods for aggregates; drop the old macros.
Convert nova-core to use I/O projection.
- Fix internal shortcut rule dispatch in the register!() macro, remove
unused rule arguments, and use path fragments for alias destinations.
- IRQ:
- Make irq::Registration compatible with lifetime-bound drivers by
removing the 'static bound on Handler/ThreadedHandler and
replacing Devres<RegistrationInner> with direct
request_irq()/free_irq() calls. Handlers can now directly own
lifetime-bound device resources.
- PCI:
- Convert IrqVectorRegistration to a lifetime-annotated owning type,
giving drivers explicit control over the allocation lifetime.
IrqVector embeds a resolved IrqRequest, making the conversion
infallible. Remove the redundant
request_irq()/request_threaded_irq() wrappers from pci::Device.
- Add pci_irq_type() C helper and expose it via irq_type() on
IrqVectorRegistration and IrqVector, returning PCI_IRQ_MSIX, PCI_IRQ_=
MSI,
or PCI_IRQ_INTX.
- Mark pci::Device refcount methods inline.
- Serdev:
- Add Rust abstractions for the serial device bus, including serdev::Dr=
iver
trait, serdev::Device wrapping struct serdev_device, and serdev::Adap=
ter
implementing RegistrationOps. Includes a sample driver. Markus Probs=
t
takes over as serdev maintainer for both C and Rust code.
- Misc:
- Split ForLt into a base trait (providing the Of<'a> GAT) and an unsaf=
e
CovariantForLt subtrait guaranteeing covariance, enabling invariant t=
ypes
(e.g. those containing Mutex<&'bound T>) to participate in the ForLt
abstraction.
- Fix Coherent read past EOF returning -ERANGE instead of zero.
- Fix firmware example UB by avoiding null-pointer ARef.
- misc:
- Avoid iattr allocation in kernfs listxattr by using kernfs_iattrs_noall=
oc().
- Unregister SoC bus on early device registration failure.
- Remove unused DMA_FENCE_TRACE Kconfig symbol.
- Fix /sys/module path in comment.
- Refactor ISA bus init to remove nested blocks.
- Remove redundant nodemask clears in numa_init().
- Add kernel-doc for fwnode_operations and sys_soc.h, mark internal prope=
rty
data as private for kernel-doc, and add property.h/fwnode.h to driver-a=
pi
infrastructure docs.
- Add MAINTAINERS entry for sys_soc.h.
please pull the x86/cpu lineup for v7.3-rc1. This is conflicting with other work from tip, see end of mail for possible resolution. Thx. --- - Get rid of static_cpu_has() - one less API to care about testing CPU features - Unify the handling of CPU core types (performance, efficient, etc) by mapping the vendor-specific types to Linux ones - Continuation of the work of Ahmed Darwish to centralize CPUID leafs representation
This pull request contains two fixes for Alpha floating-point exception handling, two clang-related fixes, the preparatory changes from the generic-entry series, an interrupt-entry lockdep fix, two Marvel/EV7 IRQ fixes, an RTC fix, and one header cleanup. The generic-entry preparation adds regset-based ptrace and core dumps, ARCH_STACKWALK and lockdep hardirq-state tracking. These changes are useful independently and enable previously missing debugging facilities on Alpha. The final patch switching Alpha to GENERIC_ENTRY is intentionally not included in this pull request. I am deferring that change to allow further testing and to reduce the risk of conflicts with ongoing entry-path work elsewhere in the kernel. alpha updates for v7.3 - alpha: read $gp and $sp explicitly for clang - alpha: pass -Wa,-mev6 only when using GNU as - alpha: annotate hardirqs-off on IPL 7 interrupt entry - alpha: run the remote RTC access in a worker, not an IPI callback - alpha: don't leak hardware-fabricated FP exception bits to user space - alpha: fix ieee_swcr_to_fpcr setting FPCR_DNOD unconditionally - alpha: enable lockdep hardirq state tracking - alpha: use raw spinlocks for low-level platform locks - alpha: provide ftrace return address support for lockdep - alpha: make irqflags helpers operate on IPL state - alpha: add ARCH_STACKWALK-based stacktrace support - alpha: enable regset-based ptrace and core dumps - alpha: marvel: Fix lock ordering in init_io7_irqs() - alpha: marvel: Fix irq_set_status_flags to use correct IRQ number - alpha: remove unnecessary architecture-specific <asm/device.h>
please pull the x86/cache lineup for v7.3-rc1. Thx. --- - How refreshing: no new features but a whole pile of fixes to more or less serious issues reported by Sashiko along with miscellaneous cleanups all over the place. All except one by Reinette Chatre, the one by Tony Luck
There are two things in here of note. First, there are fixes to reduce the time that the TLB flushing code sits around with interrupts disabled. It should be well tested, but it's certainly something to keep an eye on. Second is a little back-and-forth in the interactions between the set_memory*() locking and DEBUG_PAGEALLOC. There was a slightly painful re-discovery of why DEBUG_PAGEALLOC has special locking rules, but the code did end up better for it. -- * Fix pkey_alloc() return value when pkeys are not supported * Allow preemption during IPI completion waiting to improve wakeup latency * Convert more x86 page table code to ptdescs * Fixes and cleanups for set_memory*() locking, mostly around large pages
exceptions whenever they do port I/O. The guest then does some instruction decoding and makes a call up to the host for help. That decoding had a couple of bugs. Fix those bugs. Use an existing and now shared KVM helper for one of them. -- * Fix TDX port I/O bugs
pretty benign, just adding some documentation and removing a super stale comment about an LED driver that was moved long ago. -- * Document the intricacies of GS context switching * Remove old TODO message about Geode LED driver
pointer unwinder when it encounters FRED stack frames. -- Fix frame pointer unwinder when it encounters FRED stack frames
Probes updates for v7.3:
- probes: Advanced BTF typecasting and variable fetch enhancements
. Typecast support across probe events: Extended BTF typecasting syntax
(e.g., (STRUCT)PARAM->MEMBER) to kprobes, uprobes, and fprobes on
function entry and return.
. Nested typecasts: Added support for chaining and nesting typecasts up
to 3 levels, including casting registers and stack variables.
. Field specifier option: Added (STRUCT,FIELD) syntax to emulate
container_of(), allowing retrieval of parent structures from member
pointers.
. $current variable support: Introduced $current special variable to
access the running task_struct via BTF dereferencing.
. Per-CPU variable access: Added this_cpu_read() and this_cpu_ptr()
fetcharg methods to trace CPU-local data safely.
. Fetcharg bytecode dumper: Added CONFIG_PROBE_EVENTS_DUMP_FETCHARG to
dump the compiled fetcharg bytecode instructions as comments in
dynamic_events.
. Extended symbol name handling: Removed the MAX_COMMON_HEAD_LEN limit
and extended MAX_ARGSTR_LEN to 256 bytes, enabling probing of long
symbols, mangled Rust symbols and complex BTF expressions.
. eprobe variable syntax: Allowed eprobes to reference event fields
directly without requiring a '$' prefix.
. Cleanup unused parameters, redundant codes, duplicate macros and
pointer arithmetic.
. Use a ternary operator for simplifying fetch_type_from_btf_type().
- bootconfig / boottime-trace: Expanded dynamic probe support
. Added boot-time tracing configuration support for event probes
(eprobes), function probes (fprobes), and tracepoint probes
(tprobes).
. ftrace2bootconfig: Allowed comment lines ('#') in dynamic_events file.
- fprobe / kprobe: Optimization, robustness, and cleanups
. fprobe: Simplified fprobe_remove_ips() by reusing graph and ftrace
helpers.
. fprobe: Removed __packed attribute from struct __fprobe_header to avoid
unaligned memory access penalties on RISC architectures.
. kprobe & fprobe: Removed redundant memset() calls in perf event probe
handlers.
. kprobes: Replaced legacy __ASSEMBLY__ with __ASSEMBLER__ in header
files.
- selftests & refactoring:
. Refactored parse_probe_arg() and parse_probe_vars(), and eliminated
recursion in probe argument parsing to protect kernel stack depth.
. Added selftests for BTF typecasts and module probing without module
prefixes.
. Forced LC_ALL=C in ftracetest to prevent test failures on localized
systems.
. Refactored btf_type_skip_modifiers() to remove ignored id parameter.
. Sorted ERRORS list in trace_probe.h alphabetically.
. Fixed typo in fprobe docs, and trace_fprobe function name.
. Renamed FETCH_OP_DATA to FETCH_OP_IMMSTR.
. Made file offset error message probe-agnostic.
probes-v7.3
This is the fixed version of the primary PR from the GPIO tree for this merge window. It's essentially the same except that it contains two additional merge commits: one pulling in the upstream v7.2 tag in order to address a conflict between my for-next and your master branches. The second pulls in an immutable branch from Mark Brown I missed before but which contains a commit on which some of the regmap changes depend. There's one new driver for the Realtek DHC RTD1625 GPIO controller. If adding it, reverting it and then adding it again raises your eyebrow: this was done becuase the initial implementation - while correct - didn't use the gpio-regmap abstraction that suited it nicely. The conversion was done after I had already merged v7.2-rc2 into my tree so instead of rebasing, I went with a revert for a cleaner git blame output. The merges you see - other than pulling in your upstream tags with conflicting fixes - are for a PR from Arnd containing his work on further isolating legacy GPIO APIs and the fw_devlink support for software nodes that will go upstream via the driver core tree. Nothing else really stands out, details are in the signed tag. Please consider pulling. Thanks, Bartosz gpio updates for v7.3-rc1 GPIO core: - extend the gpio-regmap abstraction layer with more features allowing users to override configuration setting, translate register values and masks and enable/disable interrupts - extend GPIO kunit tests with suites verifying probe ordering by software node devlink support and software node hogs - shrink GPIO kunit initialization code - coding style updates (remove commas from sentinels where applicable) - with all users now converted treewide to using real firmware node links for software node GPIO lookup: remove the deprecated label-matching mechanism from from GPIO core - drop redundant return value check of nonseekable_open() in gpiolib-cdev - use IRQ trigger helpers where applicable Driver updates: - refactor error paths and logging in gpio-nomadik - use more modern interfaces for getting resources in gpio-rockchip, gpio-bt8xx and gpio-pca9570 - add missing MODULE_DEVICE_TABLE() to gpio-sifive and gpio-vf610 - drop unused FILONOFF macro from gpio-rcar - extend build coverage of ioport GPIO drivers with COMPILE_TEST=y - only enable the gpio-rtd driver by default with ARCH_REALTEK=y to avoid bloating the build - refactor coding style in several drivers - use correct endianess translation in gpio-pcf85x - add wake-up interrupt support to gpio-mvebu - apply initial value in direction output setter in gpio-by-pinctrl Misc: - replace linux/gpio.h inclusions treewide with linux/gpio/legacy.h which now exports all the deprecated APIs - select GPIOLIB_LEGACY in Kconfig where required treewide - use software nodes for gpio-keys in MFD drivers Devicetree bindings: - describe the realtek rtd1625 GPIO controller - document new models for gpio-pca95xx and gpio-cadence - document new property in gpio-rockchip
Regards,
Konstantin
Changes for 7.3-rc1
Added:
load ATTR_BITMAP run extents from $MFT extension records
initialize err in attr_wof_frame_info
reserve NUL byte when converting UTF-16 names
reject restart table growth beyond U16_MAX entries
validate dirty page table on log replay
basic support for alternative data streams
validate ef->size covers the record's name and value
Fixed:
slab-out-of-bounds write in ni_create_attr_list()
out-of-bounds read of INDEX_ROOT in reparse/objid init
boundary check in ntfs_dir_count()
info-leak in ntfs_rename()
lseek EINVAL on sparse/compressed files with 64-bit clusters
info-leak on partial LZNT decompress in ni_read_frame()
bound page_lcns[] index by the log record
memory leak in indx_find_sort()
integer overflow in MFT cluster validation
reject out-of-range evcn in mi_enum_attr()
out-of-bounds read in read_log_rec_buf()
Changed:
widen inode/record number storage to u64
cosmetic fixes and improvements
rename 'err' to 'ret' in read paths
Nothing super unusual is cycle. I did manage to end up with two selftests pull requests, appropriately named selftests and selftests2 in the spirt of KVM uAPI, with a minor conflict between them. I originally created a dedicated topic branch for the new irq_test to isolate a dependency on the VFIO library, but then realized I really wanted to use some of the new infrastructure APIs in other tests. Assuming you merge selftests before selftests2, the resolution I've been using is to use the kvm_ prefixes pthread APIs (which assert success), but otherwise keep the functional changes from "selftests".
This update includes the following changes: API: - Add af_alg_restrict sysctl and white list. - Fix potential suspend/resume races in hwrng. Algorithms: - Optimize vli additive operations using compiler builtins in ecc. Drivers: - Remove unsafe/deprecated algorithms from qce. - Mark qce as BROKEN. - Add runtime PM and interconnect bandwidth scaling support to qce. - Remove crypto_rng from qcom, sun8i and caam. - Fix SG list issues in iaa. - Fix SEV init path bugs in ccp.
please pull a x86/alternatives cleanup for v7.3-rc1. Thx. --- - Remove the smp_locks alternatives machinery which was used to patch out lock prefixes when running a SMP kernel on a uniprocessor machine
please pull a single ras/core fixlet for v7.3-rc1. Thx. --- - Add mce=print_all to the mce= kernel cmdline params documentation
Various ext4 updates for 7.3-rc1, including:
* Improve performance by allowing parallel DIO writes when we were
previously being overly conservative when checking whether it was safe
to avoid requiring an exclusive lock
* Improve the performance of ext4_mb_prefetch() used by fallocate() by
avoiding work when it is not needed
* Remove the unnecessary custom end_io function ext4_end_buffer_io_sync()
* Improve performance when performing an overwrite to an already uptodate folio
* Clean up how we handle deallocating EA inodes to avoid a potential
lock ordering issue when there is a failed mount while an EA inode is
still being evicted.
* Use str_plural() instead of a custom macro
* Avoid soft lockups or RCU stalls if there are many busy buffers
(caused by heavy I/O) while checkpointing
* Use scoped NOFS when starting a handle in nojournal mode
* Align fields in handle structure to optimize setting and getting
the h_type and h_line_no fields
* Fix documentation of the meta_bg block group layout
* Bug fixes, including
- Fix a potential out-of-bounds read in ext4_read_inline_dir()
- Fix a potential deadlock when concurrent xattr operations are racing
with each other when some of the xattrs are using the ea_inode feature.
- Fix a spurious warning with data=journal that can be triggered when
writeback races with remounting the file system read-only
- Fix a potential deadlock when EXT4_IOC_MIGRATE races with a file system
freeze operation
- Make sure all in-flight direct I/O operations are complete before
falling back to buffered I/O.
- Handle IOCB_NOWAIT properly when performing a extending DAX write
- Prevent potentially sleeping on a block allocation when
IOCB_NOWAIT is set
- Fix potential races when racing an inline data write with a page fault
- Propagate errors when adding or removing extent ranges
during a fast commit replay
- Avoid trying to expand an inode's extra size when it is being
evicted to avoid a number of corner case or deadlocks
- Avoid spurious error when retrying inode extra size expansion
- Fix corner cases where we underestimate the number of journal
credits needed
- Avoid hangs/crashes/WARNINGS caused by maliciously corrupted
file systems
- Don't issue spurious orphan clean message on RO file systems
- Avoid leaving the file system in an inconsistent state after a
crash when a WRITE_ZEROS in progress converting an unwritten
extent to a written extent
- Handle WRITE_ZEROS correctly when there are some partially dirtied
regions in the page cache
- Pass errors during zero-rage, truncate, or punch hole to the caller
if ext4_get_block() fails
- Wait for writeback to finish when triggered by zero-range or
zero-range for those devices that require stable writes
- If the reserved gid superblock field is set, set the reserved gid
instead of the reserved uid
Could consider these commits for 7.3-rc1? The most notable enhancement is to allow passing source fds via fsconfig() for composefs. The others are all various fixes. All commits have been in -next and no potential merge conflict is observed. Thanks, Gao Xiang Changes since last update: - Allow source fds via fsconfig(), in addition to source paths - Use dedicated metadata inodes for file-backed mounts - Disallow invalid interlaced ztailpacking pclusters - Validate on-disk compression algorithm IDs against supported ones - Fix unused pcluster pools on higher page-size platforms
Thanks,
Guenter
------
hwmon updates for v7.3
* New drivers
- Driver for Kandou KB9002 retimer
- Driver for the temp/voltage sensor on PolarFire SoC
- Driver for Eswin EIC7700 PVT sensor
- PMBus:
- Driver for Analog Devices MAX16545/MAX16550 and Volterra VT7505
- Drivers for Monolithic MPQ82D00 and MPQ8646
- Driver for Silergy SQ24860
* Added support to existing drivers
- asus-ec-sensors: Support for ROG STRIX Z390-E GAMING,
ProArt Z690-CREATOR WIFI, ROG STRIX X870E-E GAMING WIFI7 R2,
ROG CROSSHAIR X870E HERO, and ROG Maximus Z790 Hero
- asus_rog_ryujin: Siupport for ROG Ryujin III
- ina2xx: Support for INA232
- k10temp: Per-CCD temperature monitoring for Zen5 Turin
- nct6775: List NCT5585D as supported chip
- nzxt-kraken3: Support for NZXT Kraken 2024 Elite
- sht3x: Support for GXCAS GXHT30
- tmp102: Add device IDs for TMP110 and TMP113
- yogafan: Support for LOQ 15IAX9, XiaoXin Pro 13ARE 2020,
IdeaPad 3 15ALC6, Legion Pro 7 16AFR10H, Yoga Pro 7 14IAH10,
Yoga 7 16ARP8, and Lenovo LOQ 15IAX9
- PMBus:
- max20830: Support for max20830c and max20840c
- max34440: Support for MAX34452, and support for newer version
of max34451
- adm1275: Support for ROHM BD12780 and BD12790
* Other notable changes
- Constify various device attributes
- Remove redundant dev_err() and dev_err_probe() from various drivers
- applesmc: Convert to hwmon_device_register_with_info
- adt7470: Add thermal zone sensor support
- coretemp: Fix core_data leak on CPUs without PTS
- emc1403: Drop hysteresis for low limit temperature
- max6621: Fix various over- and underflow problems
- PMBus:
- Introduce pmbus_read_smbus_i2c_block_data() and use it in
various drivers
- Export and use pmbus_check_and_notify_faults()
- Let PMBus drivers report the supported PMBus revision
* Various other minor fixes and improvements
i.MX clock changes for 7.3 - Add audio PLL debugfs support for K-divider control. - Add missing MODULE_DEVICE_TABLE() declarations for i.MX8QXP clock drivers. - Add PCIe FUNC_OUTPUT_EN clock gate support on i.MX95. - Configure the i.MX95 PCIe transmitter current reference to fix REFCLK rise-fall timing.
aspeed: Update MAINTAINERS for 7.3 Add Ryan and Billy as reviewers for ASPEED SoC patches. I asked both to add themselves to increase ASPEED's visibility of upstream changes.
aspeed: First batch of driver changes for 7.3 Just the one patch adding MODULE_DEVICE_TABLE() where it was previously mis= sing.
aspeed: First batch of ARM devicetree changes for 7.3 No significant changes this time around. Instead, several cleanups for Meta's San Miguel platform, along with some changes enabling dt-check-style.
nuvoton: First batch of arm64 devicetree changes for 7.3 Similar to the 7.3 ARM PR for Nuvoton we have a couple of arm64 tidy-ups from Tomer.
nuvoton: First batch of ARM devicetree changes for 7.3 This time around we have a couple of cleanups from Tomer that make way for improvements in the bindings.
Hi SoC Maintainers, Yixun Lan RISC-V SpacemiT DT changes for 7.3 For K3 SoC - Enable SD card support - Enable QSPI - Fix reset delay of ETH PHY - Fix PHY ID of ETH - Symbolic PDAM ID - Add SPI controller support - Add USB and PHY support - Add I2S nodes For K1 SoC - Symbolic PDAM ID - Enable cpufreq support - Fix max CPU core voltage For boards of K3 - Pico-ITX - Enable ALDPS on RTL8211F PHY - Disable 125MHz clock on RTL8211F PHY - Enable NOR flash - Add EEPROM support - CoM260 - Add EEPROM support For boards of K1 - Milk-V Jupiter - Enable CPU DVFS - Banana Pi BPI-CM6 - Add initial support - OrangePi R2S - Enable PCIe
Hi Stephen, Yixun Lan RISC-V SpacemiT clock changes for 7.3 - Add clock for UFS controller - Add new I2S clock and fixes
Hi Peter,
The major changes are the introduction of preempt_count backed interrupt
disabling level tracking, i.e. the local_interrupt_{enable, disable}(),
along with the user (the Rust SpinLockIrq). This should unblock a few
drivers in Rust. For other changes, please refer the following change
log.
Rust synchronization changes for v7.3:
* Safe SpinLockIrq
- Introduce refcounted interrupt disabling and corresponding spinlock
primitives, which tracks the interrupt disabling "level" in
preempt_count, as a result, this set of primitives can automatically
restore the interrupt disabling status when the outermost critical
section exits.
- Based on the above, a SpinLockIrq is introduced on the Rust side,
the guard of which will automatically restore the interrupt
disabling status when dropped. This avoid playing unsafe games when
using irq disabled spinlocks.
* Add synchronize_rcu() safe abstraction.
* Generic memory barrier: this extends our Rust barrier primitives to
include more barriers for DMA as well.
* Replace the atomic usage in Revocable with LKMM atomics.
-----BEGIN PGP SIGNATURE-----
iQFhBAABCABLFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmptA2MbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwzERxib3F1bkBrZXJuZWwub3JnAAoJEEl56MO1B/q4
UBAH/108a8dCkDaK3MUuS0SeuqY57EPwLCTE/k4gJK35XlF0fCpEPfFtqfEs6xkG
E0rMhSx3bDmtfccEo16LOkmbcrSx3NSsc9KlSRiYRywptT+CRld5FPqmJqDd2nCh
mYYUsNppEXFd4rUiGfKAcVeLHD+PCio0/ElNN7X3TCfQgtWUuDp4pcB23m9t6ste
Re4idhKoTmqeKTX3N8AuQ0QMsr1FNNLu0ESpUv1n6/DrEB1g8XevF1J2PKYr9fxt
aahCMk2qQF3vDCi4Ydh9o9AWqSkinU2yIW64ZBWRC2S7QBVRIrPAEtX4V/n7d/n+
2irbb1ZuVu5zFD0/CyNkgyQM/og=
=DzLT
-----END PGP SIGNATURE-----
Regards,
Boqun
Steve, rv changes for v7.3 (for-next) Summary of changes: - Switch LTL and DOT parsers to Lark in code generation tool The rvgen code generation tool originally parsed DOT files and LTL specifications using custom string parsing and Ply, which is no longer maintained. The DOT parser was fragile and prone to failure on minor format variations. Both LTL and DOT parsers have been rewritten to use the Lark parsing library. - Simplify Hybrid Automata clock variables The clock variables in hybrid automata monitors now use a single representation of the elapsed time since the clock was reset, rather than converting between invariant and guard representations. This allows simpler code generation for the newly refactored parser. - Generate cleanup hook for per-obj monitor The code generation scripts now adds a cleanup function to per-obj monitors for the user to wire to the appropriate event (e.g. sched_process_exit for tasks). - Reduce read_lock scope during per-task cleanup Take the tasklist_lock only when necessary, that is when iterating over for_each_process_thread(). - Simplify task monitor slot management Only rely on the slot array for per-task slot management to avoid inconsistency with the unused counter. - Improve rvgen code robustness and templates Use pathlib in rvgen and improve kernel path discovery. Also improve consistency across templates when generating code (e.g. author placeholder and monitor struct name). - Update rtapp sleep monitor Simplify the sleep monitor by excluding kernel threads and updating the nanosleep check to focus only on CLOCK_REALTIME. Also switch to use the sched_exit tracepoint to run in the context of the offending (wakee) task. - Add wakeup monitor Add the new rtapp/wakeup monitor to detect when lower-priority tasks wake up higher-priority ones, complementing the existing sleep monitor by running in the waker context and capturing its stack trace. - Fix tools/rv exit status on failure Ensure the rv tool returns a failure exit code when a monitor fails to start because it was already running. - Add automated selftests for tools/rv and rvgen Introduced automated bash selftests to validate rv monitor listing and execution under different configurations. Added tests for the rvgen code generator, validating generated files against expected output (golden). Tests are reachable via make check. - Add KUnit test coverage for verification monitors Added comprehensive KUnit tests to validate the functionality of deterministic, hybrid, and LTL monitors by emulating event sequences and timing in a mock environment without affecting the running kernel while expecting mock reactions to fire. Ensure real RV monitors cannot run during KUnit tests to avoid state corruption. - Mock current in rv monitors Mock the call to current in rv monitors when the KUnit tests are built to allow them to run the test on dummy tasks. No overhead is expected when KUnit tests aren't running. - Introduce rvgen kunit subcommand Added a new 'kunit' subcommand to rvgen to automatically patch an already generated monitor with KUnit integration templates by parsing its event handlers and creating the required mock structures and initializations. - Refine kernel verification selftests Added new selftests for the deadline and stall monitors and rearranged the existing wwnr_printk test to resolve flakiness. Additionally, fixed an issue in the selftests framework where negative assertion failures were not correctly propagated due to shell rules.
SoCFPGA firmware updates for v7.3 - Document stratix10-rsu for QSPI size and erase size - Add method to retrieve device info table using RSU - Add support for hardware monitoring using service driver
Hi Stephen and Michael,
Here's some changes that were posted since June 29th that I feel are ready to
be picked up. These are changes where a clk submaintainer typically won't send
the changes in via a separate pull.
Note that I have a separate outstanding pull for some changes posted during
the last merge window that I feel is also ready for inclusion.
https://lore.kernel.org/linux-clk/[email protected]/
There is a minor conflict in drivers/clk/clk-si544.c between these two pulls.
You'll need to add the .name and .driver_data name initializers like the
following based on the work from Uwe Kleine-König:
- { "si544a", (kernel_ulong_t)&clk_si544a_info },
+ { .name = "si544a", .driver_data = (kernel_ulong_t)&clk_si544a_info },
With the conflict resolved, I verified that both merges can go in together, or
individually.
clk: Clock driver updates for v7.3 (round two)
- New clock controller drivers for the Cix Sky1 audio subsystem (AUDSS),
UltraRISC DP1000, and MediaTek MT8173 MFG_TOP, along with their devicetree
bindings. Si549 support was added to the existing si544 driver.
- New clock and reset support for the Aspeed AST2700 PECI controller and Airoha
EN7523 PCIe PERSTOUT reset lines.
- The clk core gains devm_clk_bulk_get_enable() as the mandatory counterpart to
the existing optional variant, and exports
devm_clk_hw_register_composite_pdata() for modular drivers.
- Tegra gets a proper EMC clock implementation for Tegra114, 48MHz pll_p_out1
support needed for UEFI on Surface2, and the Xilinx clocking-wizard gains PLL
charge pump/lock parameter programming during dynamic reconfiguration.
- Bug fixes for a NULL pointer dereference from uninitialized clk_init_data in
the eswin driver, an IO remap leak in the MediaTek pllfh error path, inverted
gate control for MT8135 devapc_ck, a missing OF node put in tegra124-emc on
registration failure, a prepare reference leak in the palmas driver,
unregistered PLLs on MT6735 probe failure, a missing kasprintf NULL check in
pmc_atom, PCIe warm boot instability in the Airoha EN7523 driver, and a
clocking-wizard clock difference detection bug.
- Various cleanups across tegra, st, and mvebu providers to stop misusing the
consumer clock API, along with other minor fixes and improvements.
Signed-off-by: Brian Masney <[email protected]>
T-HEAD device tree changes for v7.3 There is just one set of changes that adds the remaining IO expansion chips on the TH1520-based LicheePi 4a board.
Memory controller drivers for v7.3 1. Few improvements: STM32 OMM, Tegra MC and JZ4780-nemc. 2. Refactor Tegra MC interconnect code to better represent actual hardware in multi-socket NUMA cases.
Samsung SoC drivers for v7.3 1. Fix very old leak of OF node in PMU driver. 2. Few cleanups and new bindings for ExynosAutov920 HSI0 syscon.
arm64: realtek: Device tree updates for v7.3 This pull request includes the following Realtek DT updates for v7.3, please pull the following: - Add GPIO node support for the RTD1625 SoC. - Marc adds the missing the EL2 virtual timer interrupt.
Hi Stephen, Here is a pull for the clk-eyeq driver adding support for Mobileye EyeQ7H SoC. This pull request is a clean rebase of the version that was posted during the last release cycle[1] and it was also posted as a patch series[2= ]. Alongside the changes to the clk-eyeq driver, this pull request also provides the dt-bindings reviewed by Krzysztof Kozlowski, a change to the reset-eyeq driver acked by Philipp Zabel and a small rework of the fixed-factor clocks reviewed by Brian Masney. [1]: https://lore.kernel.org/linux-clk/[email protected] [2]: https://patch.msgid.link/20260604-clk-eyeq7-v8-0-53f618174cf6@bootlin.= com
T-HEAD clock changes for v7.3 There is just one change for this cycle. It allows COMPILE_TEST to select the th1520 clk driver without having CONFIG_ARCH_THEAD enabled.
Hi, I created my riscv-confg branches to shepard defconfig patches related to the riscv platforms that I maintain. The branches are in linux-next. For 7.3, there is just a single patch for the WiFi driver on the TH1520-based LPi4a. Thanks, Drew RISC-V defconfig changes for 7.3 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.
Chinese translation docs for 7.3
This is the Chinese translation subtree for 7.3. It includes
the following changes:
- Add the some rust, module-signing docs translation
- Fix/update couples Chinese translation
Above patches are tested by 'make htmldocs'
Signed-off-by: Alex Shi <[email protected]>
ARM: platform and feature deprecation for 7.3 This is attempt to bring the source code to the state that we discussed back in 2024, regarding a timeline for deprecating and removing features, in particular platforms and ABIs that are basically unused and are also getting in the way of maintenance. The earlier consensus was to remove these features in 2025 or 2026 after the corresponding LTS kernel release. I would suggest pushing these to early 2027 now, see the patch description for details on each one: - all board files that are still not converted to DT (except for OMAP1 and S3C) - iWMMXt FPU support - ARMv6/ARM1136r0 (not ARMv6K/ARM1136r1/ARM1176) along with the OMAP24xx and i.MX31 SoCs using it - Cortex-M3/M4/M7 based microcontroller support (stm32, imxrt, lpc18xx, samv7) - LSI Axxia platform - OABI, OABI-compat and NWFPE are confined to StrongARM based builds and scheduled for removal once StrongARM is gone. - DEPRECATED_PARAM_STRUCT, which was originally scheduled for removal in 2006 (!) The ARCH_S3C64XX platform was scheduled for removal in 2024, but is still actively used and will get removed once Mark Brown stops using it. The OMAP1 platform has some remaining boardfiles and is expected to get converted to DT. Big-endian ARMv7 CPU support is not scheduled for removal but marked as broken the same way as ARM64 has, to reduce the need for testing unused configurations. This may be removed in the future if arm64 does it as well. Note that big-endian ARMv5 support is can still be enabled since the patches to revive little-endianm mode are still fresh. Regarding actually removing the code, I would suggest linux-7.4 (January 2027), removing both the board files and any drivers that have either become newly unused or were missed in a previous machine removal series, followed by removing support for then unused CPUs a release later. Links to previous discussion: https://lore.kernel.org/linux-arm-kernel/[email protected]/ https://lore.kernel.org/linux-arm-kernel/[email protected]/ https://lore.kernel.org/all/[email protected]/ https://lore.kernel.org/all/[email protected]/
Hey folks, with for the 7.2 merge window. Some of these patches date from 2024, so I have elected not to squash or have the submitters of the clock changes etc resubmit the original k230 series with their stuff squashed in so that the history of the initial bring-up is retained, particularly given Yangyu's detailed commit message in "riscv: dts: add initial canmv-k230 and k230-evb dts" that covers the testing done and decisions made about supporting the standard Svpbmt extension or T-Head custom MAEE stuff etc. Thanks, Conor. RISC-V devicetrees for v7.3 - early k230 material Canaan: Support for the k230 SoC that was too late for the 7.2 window. Consists of some bindings not taken by the various subsystem maintainers, the original dts patches from Yangyu back in 2024 and the more recent clock, reset and pinctrl additions from various contributors. Signed-off-by: Conor Dooley <[email protected]>
If it's possible to get this into to kvm/next before you disappear on holiday,
please pull a set of selftest changes that (lightly) touch all x86 tests that
use nested virtualization in any way.
If it's too late to get this into kvm/next, I'd say just ignore this pull
request and I'll include them in the normal 7.3 selftests pull requests. I
don't think there will be any cross-branch conflicts to juggle? But I've had
these sitting in -next for a few weeks now, and getting them into kvm/next
"now" would all but guarantee I won't end up having to play weird games with
selftests patches.
Thanks!
KVM selftests for 7.3, early edition
- Automatically allocate a full page for L2 guest stacks on x86 instead of
requiring test-specific L1 guest code to carve out a portion of the L1
stack for L2 usage, and to ensure the L2 stack also adheres to the x86-64
calling convention ABI.
- Add a selftest to verify {Guest,Host}-Only behavior in x86's mediated PMU.