Poick

This is a cached version of https://opennet.ru/kernel/ml/ from 2/28/2026, 3:27:30 PM.

Significant pull requests for mainline kernel

Latest Linux kernel releases 27.02 6.19.5, 6.18.15 19.02 6.12.74, 6.6.127, 6.1.164, 5.15.201, 5.10.251 Significant pull requests for mainline kernel 26 Feb 2026: ACPI support updates for v7.0-rc2 [+ + +] acpi-7.0-rc2 Merge branch 'acpi-pm' Linux 7.0-rc1 to receive ACPI support updates for 7.0-rc2. These add new platform quirks for two systems: - Add a quirk for Lenovo G70-35 to save the ACPI NVS memory on system suspend (Piotr Mazek) - Add a DMI quirk for Acer Aspire One D255 to work around a backlight issue by returning false to _OSI("Windows 2009") (Sofia Schneider) Thanks! 26 Feb 2026: Power management updates for v7.0-rc2 [+ + +] pm-7.0-rc2 Linux 7.0-rc1 to receive power management updates for 7.0-rc2. These fix two intel_pstate driver issues causing it to crash on sysfs attribute accesses when some CPUs in the system are offline, finalize changes related to turning pm_runtime_put() into a void function, and update Daniel Lezcano's contact information: - Fix two issues in the intel_pstate driver causing it to crash when its sysfs interface is used on a system with some offline CPUs (David Arcari, Srinivas Pandruvada) - Update the last user of the pm_runtime_put() return value to discard it and turn pm_runtime_put() into a void function (Rafael Wysocki) - Update Daniel Lezcano's contact information in MAINTAINERS and .mailmap (Daniel Lezcano) Thanks! 26 Feb 2026: Networking for v7.0-rc2 [+ + +] Including fixes from IPsec, Bluetooth and netfilter Current release - regressions: - wifi: fix dev_alloc_name() return value check - rds: fix recursive lock in rds_tcp_conn_slots_available Current release - new code bugs: - vsock: lock down child_ns_mode as write-once Previous releases - regressions: - core: - do not pass flow_id to set_rps_cpu() - consume xmit errors of GSO frames - netconsole: avoid OOB reads, msg is not nul-terminated - netfilter: h323: fix OOB read in decode_choice() - tcp: re-enable acceptance of FIN packets when RWIN is 0 - udplite: fix null-ptr-deref in __udp_enqueue_schedule_skb(). - wifi: brcmfmac: fix potential kernel oops when probe fails - phy: register phy led_triggers during probe to avoid AB-BA deadlock - eth: bnxt_en: fix deleting of Ntuple filters - eth: wan: farsync: fix use-after-free bugs caused by unfinished tasklets - eth: xscale: check for PTP support properly Previous releases - always broken: - tcp: fix potential race in tcp_v6_syn_recv_sock() - kcm: fix zero-frag skb in frag_list on partial sendmsg error - xfrm: - fix race condition in espintcp_close() - always flush state and policy upon NETDEV_UNREGISTER event - bluetooth: - purge error queues in socket destructors - fix response to L2CAP_ECRED_CONN_REQ - eth: mlx5: - fix circular locking dependency in dump - fix "scheduling while atomic" in IPsec MAC address query - eth: gve: fix incorrect buffer cleanup for QPL - eth: team: avoid NETDEV_CHANGEMTU event when unregistering slave - eth: usb: validate USB endpoints Signed-off-by: Paolo Abeni <pabeni@redhat.com> 22 Feb 2026: RTC for 7.0 [+ + +] Here is the RTC subsystem pull request for 7.0. There are a few fixes and improvement this cycle. RTC for 7.0 Drivers: - loongson: Loongson-2K0300 support - s35390a: nvmem support - zynqmp: rework calibration 21 Feb 2026: perf tools changes for v7.0 [+ + +] Please consider pulling, Best regards, - Arnaldo perf tools changes for v7.0: - Introduce 'perf sched stats' tool with record/report/diff workflows using schedstat counters. - Add a faster libdw based addr2line implementation and allow selecting it or its alternatives via 'perf config addr2line.style='. - Data-type profiling fixes and improvements including the ability to select fields using 'perf report''s -F/-fields, e.g.: 'perf report --fields overhead,type' - Add 'perf test' regression tests for Data-type profiling with C and Rust workloads. - Fix srcline printing with inlines in callchains, make sure this has coverage in 'perf test'. - Fix printing of leaf IP in LBR callchains. - Fix display of metrics without sufficient permission in 'perf stat'. - Print all machines in 'perf kvm report -vvv', not just the host. - Switch from SHA-1 to BLAKE2s for build ID generation, remove SHA-1 code. - Fix 'perf report's histogram entry collapsing with '-F' option. - Use system's cacheline size instead of a hardcoded value in 'perf report'. - Allow filtering conversion by time range in 'perf data'. - Cover conversion to CTF using 'perf data' in 'perf test'. - Address newer glibc const-correctness (-Werror=discarded-qualifiers) issues. - Fixes and improvements for ARM's CoreSight support, simplify ARM SPE event config in 'perf mem', update docs for 'perf c2c' including the ARM events it can be used with. - Build support for generating metrics from arch specific python script, add extra AMD, Intel, ARM64 metrics using it. - Add AMD Zen 6 events and metrics. - Add JSON file with OpenHW Risc-V CVA6 hardware counters. - Add 'perf kvm' stats live testing. - Add more 'perf stat' tests to 'perf test'. - Fix segfault in `perf lock contention -b/--use-bpf` - Fix various 'perf test' cases for s390. - Build system cleanups, bump minimum shellcheck version to 0.7.2 - Support building the capstone based annotation routines as a plugin. - Allow passing extra Clang flags via EXTRA_BPF_FLAGS. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> 21 Feb 2026: kmalloc_obj treewide refactor for v7.0-rc1 [+ + +] contains a patch to disable Clang's use of the optional __builtin_counted_by_ref() in kmalloc_flex(), the core treewide refactoring via Coccinelle, and a final by-hand cleanup of the results that I kept separate from the Coccinelle output so I could reapply it after re-running Coccinelle. Diffstat says: 8018 files changed, 20062 insertions(+), 20914 deletions(-) I've done allmodconfig build tests for x86_64, arm64, i386, and arm. I did defconfig builds for alpha, m68k, mips, parisc, powerpc, riscv, s390, sparc, sh, arc, csky, xtensa, hexagon, and openrisc. This tree has also been in -next since Feb 5th (and earlier -next cuts too) with no 0day reports popping up. Thanks! -Kees kmalloc_obj treewide refactoring for v7.0-rc1 20 Feb 2026: dmi update for v7.0 [+ + +] Summary of changes: * New features: - Include product_family info in the dmi-id modalias 20 Feb 2026: xen: branch for v7.0-rc1a [+ + +] Please git pull the following tag: xen: branch for v7.0-rc1a It contains a single patch fixing a boot regression when running as a Xen PV guest. This issue was introduced in the 7.0 merge window. Thanks. Juergen 20 Feb 2026: au1100fb fbdev updates for v7.0-rc1 [+ + +] please pull a series of patches with code cleanups for the au1100fb driver. Thanks! Helge fbdev enhancements for 7.0-rc1: A series with code cleanups for the au1100fb fbdev driver [Uwe Kleine-K�nig]. 19 Feb 2026: kmalloc_obj prep for v7.0-rc1 [+ + +] expecting to send the treewide conversion PR later today (or early tomorrow). Thanks! -Kees kmalloc_obj prep for v7.0-rc1 Fixes for return types to prepare for the kmalloc_obj treewide conversion, that haven't yet appeared during the merge window: dm-crypt, dm-zoned, drm/msm, and arm64 kvm. 19 Feb 2026: Networking for v7.0-rc1 [+ + +] Including fixes from Netfilter. Current release - new code bugs: - net: fix backlog_unlock_irq_restore() vs CONFIG_PREEMPT_RT - eth: mlx5e: XSK, Fix unintended ICOSQ change - phy_port: correctly recompute the port's linkmodes - vsock: prevent child netns mode switch from local to global - couple of kconfig fixes for new symbols Previous releases - regressions: - nfc: nci: fix false-positive parameter validation for packet data - net: do not delay zero-copy skbs in skb_attempt_defer_free() Previous releases - always broken: - mctp: ensure our nlmsg responses to user space are zero-initialised - ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data() - fixes for ICMP rate limiting Misc: - intel: fix PCI device ID conflict between i40e and ipw2200 Signed-off-by: Jakub Kicinski <kuba@kernel.org> 19 Feb 2026: Hyper-V patches for 7.0 [+ + +] hyperv-next for v7.0 - Debugfs support for MSHV statistics (Nuno Das Neves) - Support for the integrated scheduler (Stanislav Kinsburskii) - Various fixes for MSHV memory management and hypervisor status handling (Stanislav Kinsburskii) - Expose more capabilities and flags for MSHV partition management (Anatol Belski, Muminul Islam, Magnus Kulke) - Miscellaneous fixes to improve code quality and stability (Carlos L�pez, Ethan Nelson-Moore, Li RongQing, Michael Kelley, Mukesh Rathor, Purna Pavan Chandra Aekkaladevi, Stanislav Kinsburskii, Uros Bizjak) - PREEMPT_RT fixes for vmbus interrupts (Jan Kiszka) 18 Feb 2026: additional non-MM updates for 7.0-rc1 [+ + +] the 7.0-rcX cycle, thanks. mm.git review status for linus..mm-nonmm-stable Total patches: 7 Reviews/patch: 0.57 Reviewed rate: 42% - The 2 patch series "two fixes in kho_populate()" from Ran Xiaokai fixes a couple of not-major issues in the kexec handover code. 18 Feb 2026: {GIT PULL] additional MM updates for 7.0-rc1 [+ + +] 7.0-rcX cycle, thanks. Merge conflicts which I'm seeing and their possible resolutions are: drivers/gpu/drm/i915/gem/i915_gem_shmem.c https://lkml.kernel.org/r/aXerLzIbpMy9d4lx@sirena.org.uk fs/ntfs3/file.c https://lkml.kernel.org/r/aXeZNSiVv82Gc9HF@sirena.org.uk mm.git review status for linus..mm-stable Total patches: 36 Reviews/patch: 1.77 Reviewed rate: 83% - The 2 patch series "mm/vmscan: fix demotion targets checks in reclaim/demotion" from Bing Jiao fixes a couple of issues in the demotion code - pages were failed demotion and were finding themselves demoted into disallowed nodes. - The 11 patch series "Remove XA_ZERO from error recovery of dup_mmap()" from Liam Howlett fixes a rare mapledtree race and performs a number of cleanups. - The 13 patch series "mm: add bitmap VMA flag helpers and convert all mmap_prepare to use them" from Lorenzo Stoakes implements a lot of cleanups following on from the conversion of the VMA flags into a bitmap. - The 5 patch series "support batch checking of references and unmapping for large folios" from Baolin Wang implements batching to greatly improve the performance of reclaiming clean file-backed large folios. - The 3 patch series "selftests/mm: add memory failure selftests" from Miaohe Lin does as claimed. 18 Feb 2026: AppArmor updates for 7.0-rc1 [+ + +] Below is the AppArmor update PR for 7.0 These patches have all been merge, build, and regression tested against your tree as of yesterday. The code has been in linux-next and the many of the patches in the Ubuntu kernels for testing. This PR is mostly comprised of cleanups, and bug fixes, with 3 minor features, the first being an improvement to our kunit testing, and the other two extending the information available in audit messages. Because this is coming so late in the window (sorry life happens), if you would prefer I have prepared an alternate PR that contains the set of bug fixes that apply without the features, or cleanups, available via the tag bugfix-2026-02-18, which I can send a PR for instead. thanks - john + Features - add .kunitconfig - audit execpath in userns mediation - add support loading per permission tagging + Cleanups - cleanup remove unused percpu critical sections in buffer management - document the buffer hold, add an overflow guard - split xxx_in_ns into its two separate semantic use cases - remove apply_modes_to_perms from label_match - refactor/cleanup cred helper fns. - guard against free attachment/data routines being called with a NULL - drop in_atomic flag in common_mmap, and common_file_perm, and cleanup - make str table more generic and be able to have multiple entries - Replace deprecated strcpy with memcpy in gen_symlink_name - Replace deprecated strcpy in d_namespace_path - Replace sprintf/strcpy with scnprintf/strscpy in aa_policy_init - replace sprintf with snprintf in aa_new_learning_profile + Bug Fixes - fix cast in format string DEBUG statement - fix make aa_labelmatch return consistent - fix fmt string type error in process_strs_entry - fix kernel-doc comments for inview - fix invalid deref of rawdata when export_binary is unset - avoid per-cpu hold underflow in aa_get_buffer - fix fast path cache check for unix sockets - fix rlimit for posix cpu timers - fix label and profile debug macros - move check for aa_null file to cover all cases - return -ENOMEM in unpack_perms_table upon alloc failure - fix boolean argument in apparmor_mmap_file - Fix & Optimize table creation from possibly unaligned memory - Allow apparmor to handle unaligned dfa tables - fix NULL deref in aa_sock_file_perm - fix NULL pointer dereference in __unix_needs_revalidation - fix signedness bug in unpack_tags() 18 Feb 2026: Additional thermal control update for v7.0-rc1 [+ + +] thermal-7.0-rc1-2 thermal: int340x: Fix sysfs group leak on DLVR registration failure Merge tag 'thermal-6.20-rc1' of to receive an additional thermal control update for 7.0-rc1. This fixes a sysfs group leak on DLVR registration failure in the Intel int340x thermal driver (Kaushlendra Kumar). Thanks! 18 Feb 2026: More ACPI support updates for v7.0-rc1 [+ + +] acpi-7.0-rc1-2 Merge tag 'acpi-6.20-rc1' of to receive more ACPI support updates for 7.0-rc1. These are mostly fixes and cleanups on top of the ACPI support updates merged recently, including two new quirks, an ACPI CPPC library fix, and fixes and cleanups of a few core ACPI device drivers: - Add an unused power resource handling quirk for THUNDEROBOT ZERO (Zhai Can) - Fix remaining for_each_possible_cpu() in the ACPI CPPC library to use online CPUs (Sean V Kelley) - Drop redundant checks from the ACPI notify handler and the driver remove callback in the ACPI battery driver (Rafael Wysocki) - Move the creation of the wakeup source during the ACPI button driver probe to an earlier point to avoid missing a wakeup event due to a race and clean up system wakeup handling and remove callback in that driver (Rafael Wysocki) - Drop unnecessary driver_data pointer clearing from the ACPI EC and SMBUS HC drivers and make the ACPI backlight (video) driver clear the device's driver_data pointer on remove (Rafael Wysocki) - Force enabling of PWM2 on the Yogabook YB1-X90 tablets (Yauhen Kharuzhy) Thanks! 18 Feb 2026: More power management updates for v7.0-rc1 [+ + +] pm-7.0-rc1-2 Merge tag 'pm-6.20-rc1' of to receive more power management updates for 7.0-rc1. These are mostly fixes on top of the power management updates merged recently in cpuidle governors, in the Intel RAPL power capping driver and in the wake IRQ management code: - Fix the handling of package-scope MSRs in the intel_rapl power capping driver when called from the PMU subsystem and make it add all package CPUs to the PMU cpumask to allow tools to read RAPL events from any CPU in the package (Kuppuswamy Satharayananyan) - Rework the invalid version check in the intel_rapl_tpmi power capping driver to account for the fact that on partitioned systems, multiple TPMI instances may exist per package, but RAPL registers are only valid on one instance (Kuppuswamy Satharayananyan) - Describe the new intel_idle.table command line option in the admin-guide intel_idle documentation (Artem Bityutskiy) - Fix a crash in the ladder cpuidle governor on systems with only one (polling) idle state available by making the cpuidle core bypass the governor in those cases and adjust the other existing governors to that change (Aboorva Devarajan, Christian Loehle) - Update kerneldoc comments for wake IRQ management functions that have not been matching the code (Wang Jiayue) Thanks! 17 Feb 2026: ntfs3: changes for 7.0 [+ + +] Regards, Konstantin Changes for 7.0-rc1 Added: improve readahead for bitmap initialization and large directory scans fsync files by syncing parent inodes drop of preallocated clusters for sparse and compressed files zero-fill folios beyond i_valid in ntfs_read_folio() implement llseek SEEK_DATA/SEEK_HOLE by scanning data runs implement iomap-based file operations allow explicit boolean acl/prealloc mount options a fall-through between switch labels a delayed-allocation (delalloc) support Fixed: check return value of indx_find to avoid infinite loop initialize new folios before use an infinite loop in attr_load_runs_range on inconsistent metadata an infinite loop triggered by zero-sized ATTR_LIST ntfs_mount_options leak in ntfs_fill_super() a deadlock in ni_read_folio_cmpr a circular locking dependency in run_unpack_ex prevent infinite loops caused by the next valid being the same restore NULL folio initialization in ntfs_writepages() a slab-out-of-bounds read in DeleteIndexEntryRoot Changed: allow readdir() to finish after directory mutations without rewinddir() handle attr_set_size() errors when truncating files make ntfs_writeback_ops static refactor duplicate kmemdup pattern in do_action() avoid calling run_get_entry() when run == NULL in ntfs_read_run_nb_ra() Replaced: use wait_on_buffer() directly rename ni_readpage_cmpr into ni_read_folio_cmpr 17 Feb 2026: Ceph updates for 7.0-rc1 [+ + +] This adds support for the upcoming aes256k key type in CephX that is based on Kerberos 5 and brings a bunch of assorted CephFS fixes from Ethan and Sam. One of Sam's patches in particular undoes a change in the fscrypt area that had an inadvertent side effect of making CephFS behave as if mounted with wsize=4096 and leading to the corresponding degradation in performance, especially for sequential writes. 17 Feb 2026: : dmaengine updates for v7.0-rc1 [+ + +] Hello Linus, Here is last PR for tonight to receive the dmaengine updates. This cycle contains bunch of new driver/device support for Mediatek, Qualcomm, Synopsis, Renesas, Atmel and Tegra along with nuch of driver updates for subsystem. Also Add Frank as a reviewer. dmaengine updates for v7.0 Core: - Add Frank Li as susbstem reviewer to help with reviews New Support: - Mediatek support for Dimensity 6300 and 9200 controller - Qualcomm Kaanapali and Glymur GPI DMA engine support - Synopsis DW AXI Agilex5 support - Renesas RZ/V2N SoC support - Atmel microchip lan9691-dma support - Tegra ADMA tegra264 support Updates: - sg_nents_for_dma() helper use in subsystem - pm_runtime_mark_last_busy() redundant call update for subsystem - Residue support for xilinx AXIDMA driver - Intel Max SGL Size Support and capabilities for DSA3.0 - AXI dma larger than 32bits address support 17 Feb 2026: : Generic phy updates for v7.0-rc1 [+ + +] Hello Linus, Here is the Generic phy updates for this round. Quite a bit of new driver and device support from Qualcomm, SpacemiT, TI, Renesas, Mediatek phy drivers. Few of the driver updates etc are added as well. phy-for-7.0 - Core - Add suuport for "rx-polarity" and "tx-polarity" device tree properties and phy common properties to manage this - New Support - Qualcomm Glymur PCIe Gen4 2-lanes PCIe phy, DP and edp phy support, USB UNI PHY support and SMB2370 eUSB2 repeater support. SC8280xp QMP UFS PHY support, Kaanapali PCIe phy and QMP PHY support, QCS615 QMP USB3+DP PHY and driver support for that. - SpacemiT PCIe/combo PHY and K1 USB2 PHY driver. - HDMI 2.1 FRL configuration support and driver enabling for rockchip samsung-hdptx driver. - TI TCAN1046 phy support. - Renesas RZ/V2H(P) and RZ/V2N usb3 support - Mediatek MT8188 hdmi-phy support - Google Tensor SoC USB PHY driver - Apple Type-C PHY support - Updates - Subsystem conversion for clock round_rate() to determine_rate() - TI USB3 DT schema conversion - Samsung ExynosAutov920 usb3, combo hsphy and ssphy support 17 Feb 2026: : Soundwire updates for v7.0-rc1 [+ + +] Hello Linus, small pull request with Qualcomm v2.2.0 controllers support, core changes for bus method updates and couple of driver updates. soundwire updates for 7.0 - support for Qualcomm v2.2.0 controllers - Bus method updates for .probe(), .remove() and .shutdown() and remove function return value updates - Avell B.ON dmi-quirks mapping - Mark cs42l45 codec as wake capable 17 Feb 2026: USB/Thunderbolt driver updates for 7.0-rc1 [+ + +] USB / Thunderbolt changes for 7.0-rc1 Here is the "big" set of USB and Thunderbolt driver updates for 7.0-rc1. Overall more lines were removed than added, thanks to dropping the obsolete isp1362 USB host controller driver, always a nice change. Other than that, nothing major happening here, highlights are: - lots of dwc3 driver updates and new hardware support added - usb gadget function driver updates - usb phy driver updates - typec driver updates and additions - USB rust binding updates for syntax and formatting changes - more usb serial device ids added - other smaller USB core and driver updates and additions All of these have been in linux-next for a long time, with no reported problems. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 17 Feb 2026: TTY/Serial driver updates for 7.0-rc1 [+ + +] TTY / Serial driver updates for 7.0-rc1 Here is the small amount of tty and serial driver updates for 7.0-rc1. Nothing major in here at all, just some driver updates and minor tweaks and cleanups including: - sh-sci serial driver updates - 8250 driver updates - attempt to make the tty ports have their own workqueue, but was reverted after testing found it to have problems on some platforms. This will probably come back for 7.1 after it has been reworked and resubmitted - other tiny tty driver changes All of these have been in linux-next for a while with no reported problems. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 17 Feb 2026: Staging driver updates for 7.0-rc1 [+ + +] Staging driver updates for 7.0-rc1 Here is the big set of staging driver updates for 7.0-rc1. Well, not that big, just lots of tiny coding style cleanups primarily in one driver as everyone seems to have glomed onto it for some reason that escapes me (is there a tutorial out there somewhere pointing people at this?) Not much overall, the changes can be summarized as: - cleanups for the rtl8723bs driver, so many cleanups... - vme_user driver cleanups - sm750fb driver cleanups - tiny greybus driver cleanups - other really small staging driver cleanups All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 17 Feb 2026: SPDX updates for 7.0-rc1 [+ + +] SPDX updates for 7.0-rc1 Here are two small changes that add some missing SPDX license lines to some core kernel files. These are: - adding SPDX license lines to kdb files - adding SPDX license lines to the remaining kernel/ files Both of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 17 Feb 2026: Char/Misc/IIO driver changes for 7.0-rc1 [+ + +] Char/Misc/IIO driver changes for 7.0-rc1 Here is the big set of char/misc/iio and other smaller driver subsystem changes for 7.0-rc1. Lots of little things in here, including: - Loads of iio driver changes and updates and additions - gpib driver updates - interconnect driver updates - i3c driver updates - hwtracing (coresight and intel) driver updates - deletion of the obsolete mwave driver - binder driver updates (rust and c versions) - mhi driver updates (causing a merge conflict, see below) - mei driver updates - fsi driver updates - eeprom driver updates - lots of other small char and misc driver updates and cleanups All of these have been in linux-next for a while, with no reported issues except for a merge conflict with your tree due to the mhi driver changes in the drivers/net/wireless/ath/ath12k/mhi.c file. To fix that up, just delete the "auto_queue" structure fields being set, see this message for the full change needed: https://lore.kernel.org/r/aXD6X23btw8s-RZP@sirena.org.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> 17 Feb 2026: overlayfs updates for 7.0 [+ + +] change. This branch has been sitting in linux-next for a while and it has gone through the usual overlayfs test routines. The branch merges cleanly with master branch of the moment. Thanks, Amir. overlayfs updates for 7.0: The semantics of uuid=off were relaxed to cater a use case of overlayfs lower layers on btrfs clones, whose UUID are ephemeral and an upper layer on a different filesystem. 17 Feb 2026: [GIT PULL] Probes: Updates for v7.0 [+ + +] Just for kicking the process, I resend this pull request again. I'm sorry for making you go through the trouble twice. Probes for v7.0 - kprobes: Use a dedicated kernel thread to optimize the kprobes instead of using workqueue thread. Since the kprobe optimizer waits a long time for synchronize_rcu_task(), it can block other workers in the same queue if it uses a workqueue. - kprobe-events: Returns immediately if no new probe events are specified on the kernel command line at boot time. This shorten the kernel boot time. - kprobes: When a kprobe is fully removed from the kernel code, retry optimizing another kprobe which is blocked by that kprobe. probes-v7.0 16 Feb 2026: slab updates for 7.0 part 2 [+ + +] please pull the latest slab updates from: There are two stable fixes for kmalloc_nolock() corner cases. The other two patches are lifting a significant limitation of kmalloc_nolock() so that kfree_rcu() can be used with it, and will allow bpf to start using this [1]. However they only went to -next a week ago so I want to be clear about it, as I know it should have been there earlier for a non-strictly-fix changes. [1] https://lore.kernel.org/all/CAADnVQ%2Bq3QPqNdV3MuysQJQgxSS4g6CV%2BVzN2%3DUqCPHw7xq%3DSQ@mail.gmail.com/ Thanks, Vlastimil - Two stable fixes for kmalloc_nolock() usage from NMI context (Harry Yoo) - Allow kmalloc_nolock() allocations to be freed with kfree() and thus also kfree_rcu() and simplify slabobj_ext handling - we no longer need to track how it was allocated to use the matching freeing function (Harry Yoo) slab updates for 7.0 part2 16 Feb 2026: LEDs for v6.20 [+ + +] LEDS for v6.20 - New Support & Features * Add support for the TI LP5812 4x3 matrix RGB LED driver, including autonomous animation engine control and extensive scan multiplexing modes. * Add a new driver for the ams Osram AS3668 4-channel I2C LED controller. * Extend the is31fl32xx driver to support the is31fl3293 variant, which features 3 channels and 12-bit PWM resolution. - Improvements & Fixes * Prevent the ExpressWire KTD2801 chip from entering an undefined state by disabling interrupts during time-sensitive communication. * Ensure the Qualcomm LPG driver detects hardware write failures by checking the return value of regmap_bulk_write() during LUT programming. * Fix kernel-doc warnings in the lm3692x driver by documenting missing struct members and standardizing the comment style. * Update the ExpressWire library to use fsleep() and unexport internal-only functions. * Improve the is31fl32xx driver by reordering code to eliminate unnecessary forward declarations. - Cleanups & Refactoring * Simplify the LP55XX common LED driver by utilizing the for_each_available_child_of_node_scoped() macro for more concise node iteration. - Device Tree Bindings Updates * Add new YAML bindings for the TI LP5860 and LP5812 LED controllers, and the ams Osram AS3668. * Convert the TI LM3697 white LED driver binding to DT schema format. * Allow multicolor LED nodes to be named with numeric suffixes (e.g., multi-led-0) to handle multiple instances without unit addresses. * Document support for the PMH0101 variant in the Qualcomm LPG PWM and SPMI Flash LED bindings. * Add the issi,is31fl3293 compatible string to the is31fl32xx binding. 16 Feb 2026: Backlight for v6.20 [+ + +] Backlight for v6.20 - New Support & Features * Add a new driver for the Congatec Board Controller (CGBC) backlight, providing brightness control via the board controller's PWM interface. - Improvements & Fixes * Resolve build failures in the Awinic AW99706 driver by switching to the correct GPIO consumer header. * Extend the Qualcomm WLED driver to support the specific over-voltage protection (OVP) values required for the PMI8994 and PMI8950 variants. - Device Tree Bindings Updates * Document the device-specific over-voltage protection (OVP) millivolt ranges and default values for Qualcomm PMI8994 and PMI8950 WLED controllers. 16 Feb 2026: pin control bulk changes for v7.0 [+ + +] here is the bulk of pin control changes for the v7.0 series. You will get a conflict in drivers/pinctrl/Kconfig, just delete the offendi= ng hunk there: this is because we moved the files to their own subdir in an early fix in the v6.19-rc:s (IIRC). Other than that it is mostly drivers here, nothing much exciting. Details in the signed tag and changes boiled in -next a while. Yours, Linus Walleij Pin control changes for the v7.0 kernel cycle: Core changes: - Drop the unused devm_pinctrl_unregister() function. - Move pretended generic pin control functionality out of the core and into the Amlogic AM4 driver. We have something better coming (hopefully). New hardware support: - Spacemit K3 (RISC-V) pin control support. - Atmel AT91 PIO4 (ARM32) SAMA7D65 pin control support. - Exynos9610 (ARM64) pin control support. - Qualcomm Mahua TLMM (ARM64) pin control support. - Microchip Polarfire MSSIO (RISC-V) pin control support. - Ocelot LAN9645XF (multiplatform) pin control support. Improvements: - Using a few more guards for locking. - Various nonurgent fixes and tweaks. 16 Feb 2026: MFD for v6.20 [+ + +] MFD for v6.20 - New Support & Features * Add comprehensive support for the ROHM BD72720 PMIC, including core MFD, regulator, GPIO, clock gate, RTC, and power-supply drivers. * Add support for the Rockchip RK801 PMIC, including core MFD and regulator drivers. * Add support for the ROHM BD73900 PMIC by leveraging existing common drivers. * Wire up RTC, hwmon, and input sub-devices for the Apple SMC (macsmc) driver. * Add support for the Delta Networks TN48M switch CPLD via the simple-mfd-i2c driver. * Add support for the TS133 variant to the QNAP MCU driver. * Provide support for the sama7d65 XLCD controller in the Atmel HLCDC driver. * Add backlight sub-device support to the Congatec Board Controller (cgbc). * Add Intel Nova Lake-S (NVL-S) PCI IDs to the Intel LPSS driver. - Improvements & Fixes * Implement a "wrapper regmap" for the ROHM BD72720 to handle dual I2C slave addresses (0x4b and 0x4c) transparently for child devices. * Introduce mutex locking around 'mfd_of_node_list' in the MFD core to ensure safe concurrent access. * Fix a potential regulator resource leak in the Arizona core driver during boot sequence failures. * Resolve child device duplication issues on driver rebind for Qualcomm PM8xxx and OMAP USB host drivers by using of_platform_depopulate(). * Fix IRQ domain name duplication for the Samsung S2MPG10 by adding a unique domain suffix. * Implement LOCK register handling for the TI TPS65214 variant to unlock registers at probe time. * Fully convert the Loongson-2K BMC driver to use managed resources (pcim) and the standard PCI resource API. * Ensure the Apple SMC mutex is correctly initialized during probe to prevent NULL pointer dereferences. * Expand the ROHM BD71828 power-supply driver to support 9-bit register addresses. * Simplify the Samsung S5M RTC driver by querying platform device IRQ resources directly. * Revert an incorrect read-to-write mask change in the DA9052 SPI driver to restore default OTP behavior. * Fix kernel-doc warnings in the TI TPS6105x driver. - Cleanups & Refactoring * Simplify the MFD core by utilizing the scoped for_each_child_of_node_scoped() macro and streamlining device_node storage. * Rename ROHM BD71828 IC-specific entities to use consistent prefixes for better extensibility. * Refactor ROHM BD71828 regmap definitions using the regmap_reg_range() macro. * Update the ROHM BD71828 driver to use standard C-style comment headers. * Remove the now unused 'irq_data' field from the Samsung SEC core structure. * Drop unnecessary use of irqd_get_trigger_type() in the Maxim MAX77759 driver. * Default MFD_SPACEMIT_P1 to 'm' if ARCH_SPACEMIT is selected. * Add missing charger-related registers to the ROHM BD71828 core header and Type-C CC registers to the AXP717. - Device Tree Binding Updates * Add new bindings for the ROHM BD72720 PMIC, Rockchip RK801 PMIC, Bitmain BM1880 System Controller, and NXP LPC32xx System Control Block. * Clarify trickle-charge terminology and add properties for voltage drop (VDR) correction and upper charge limits to the generic battery binding. * Document GPR syscon for NXP S32 SoCs and the smp-memram subnode for Aspeed SCU. * Document numerous new Qualcomm SPMI PMIC compatibles (pmcx0102, pmh0101, pmk8850, etc.). * Add compatibles for the sama7d65 XLCD (Atmel), LAN9691 Flexcom (Microchip), and various MediaTek SCPSYS and regulator components. * Fix a dead link to the audio codec binding in the DA9055 documentation. 16 Feb 2026: MIPS changes for v7.0 [+ + +] cleanups and fixes 16 Feb 2026: m68knommu changes for v7.0 [+ + +] It contains a small defconfig cleanup, more use of strscpy() over strcpy() and a fix for unaligned memmove() specifically for original 68000 machines. Regards Greg m68knommu: updates and fixes for v7.0 . defconfig cleanup . fix for legacy 68000 CPU memmove() of non-aligned pointers . replace strcpy() with strscpy() for ucsimm target 15 Feb 2026: 9p update for 7.0-rc1 [+ + +] There should have been a bit more but I haven't had enough time lately, might as well send what I did pick up though... Thanks -------- - 9p/xen racy double-free fix - track 9p RPC waiting time as IO 14 Feb 2026: Input updates for v6.20-rc0 [+ + +] to receive updates for the input subsystem. You will get: - support for FocalTech FT8112 added to i2c-hid driver - support for FocalTech FT3518 added to edt-ft5x06 driver - support for power buttons in TWL603x chips added to twl4030-pwrbutton driver - an update to gpio-decoder driver to make it usable on non-OF platforms and to clean up the code - an update to synaptics_i2c driver switching it to use managed resources and a fix to restarting polling after resume - an update to gpio-keys driver to fall back to getting IRQ from resources if not specified using other means - an update to ili210x driver to support polling mode - a number of input drivers switched to scnprintf() to suppress truncation warnings - a number of updates and conversions of device tree bindings to yaml format - fixes to spelling in comments and messages in several drivers - other assorted fixups. Changelog: --------- 15 Feb 2026: i2c-host for v6.20, part 2 [+ + +] Hi Wolfram, as agreed, here is the second part of the merge window pull request. I did not carry over anything from last week. All patches included here have been in my branches for roughly two weeks and should be safe to merge at this point. This pull request mainly contains designware updates for I2C_M_STOP, runtime PM handling, and START/STOP limitations, plus qcs8300-cci support and a few amd8111 cleanups. Thank you, Andi i2c-host for v6.20, part 2 designware: - refactor the transfer path to support I2C_M_STOP - handle pm runtime by using the active auto try macros - handle controllers lacking explicit START and STOP conditions - general cleanups qualcomm: add support for qcs8300-cci amd8111: general cleanups 14 Feb 2026: rpmsg updates for v7.0 [+ + +] rpmsg updates for v7.0 Fix a race in rpmsg driver_override_show() and use the existing helper to implement the store(). Implement support for EPOLLOUT in the virtio rpmsg driver. 14 Feb 2026: remoteproc updates for v7.0 [+ + +] remoteproc updates for v7.0 Fix a memory remapping issue and make a few life-cycle improvements in the i.MX HiFi remoteproc driver. Add support the System Manager CPU and LMM APIs and use this to support i.MX95. Rework the handling of the Mediatek SCP clock to avoid a potential circular deadlock in the clock providers. Refactor the Qualcomm secure-world helpers and add support in the Qualcomm PAS remoteproc driver for reading a resource-table from secure world. Use this to configure the IOMMU on newer targets where Linux runs in EL2. 14 Feb 2026: LoongArch changes for v7.0 [+ + +] LoongArch changes for v7.0 1, Select HAVE_CMPXCHG_{LOCAL,DOUBLE}; 2, Add 128-bit atomic cmpxchg support; 3, Add HOTPLUG_SMT implementation; 4, Wire up memfd_secret system call; 5, Fix boot errors and unwind errors for KASAN; 6, Use BPF prog pack allocator and add BPF arena support; 7, Update dts files to add nand controllers; 8, Some bug fixes and other small changes. 14 Feb 2026: memblock updates for v7.0-rc1 [+ + +] memblock: updates for 7.0-rc1 * update tools/include/linux/mm.h to fix memblock tests compilation * drop redundant struct page* parameter from memblock_free_pages() and get struct page from the pfn * add underflow detection for size calculation in memtest and warn about underflow when VM_DEBUG is enabled 14 Feb 2026: exfat update for 7.0-rc1 [+ + +] This is exfat update pull request for v7.0-rc1. I add a description of Thanks! Description for this pull request: - Improve error code handling and four cleanups. - Reduce unnecessary valid_size extension during mmap write to avoid over-extending writes. - Optimize consecutive FAT entry reads by caching buffer heads in __exfat_ent_get to significantly reduce sb_bread() calls. - Add multi-cluster (contiguous cluster) support to exfat_get_cluster() and exfat_map_cluster() for better sequential read performance, especially on small cluster sizes. 14 Feb 2026: f2fs update for 7.0-rc1 [+ + +] Could you please consider this pull request? Thanks, f2fs-for-7.0-rc1 In this development cycle, we focused on several key performance optimizations: 1) introducing large folio support to enhance read speeds for immutable files, 2) reducing checkpoint=enable latency by flushing only committed dirty pages, and 3) implementing tracepoints to diagnose and resolve lock priority inversion. Additionally, we introduced the packed_ssa feature to optimize the SSA footprint when utilizing large block sizes. Enhancement: - support large folio for immutable non-compressed case - support non-4KB block size without packed_ssa feature - optimize f2fs_enable_checkpoint() to avoid long delay - optimize f2fs_overwrite_io() for f2fs_iomap_begin - optimize NAT block loading during checkpoint write - add write latency stats for NAT and SIT blocks in f2fs_write_checkpoint - pin files do not require sbi->writepages lock for ordering - avoid f2fs_map_blocks() for consecutive holes in readpages - flush plug periodically during GC to maximize readahead effect - add tracepoints to catch lock overheads - add several sysfs entries to tune internal lock priorities Bug fix: - fix lock priority inversion issue - fix incomplete block usage in compact SSA summaries - fix to show simulate_lock_timeout correctly - fix to avoid mapping wrong physical block for swapfile - fix IS_CHECKPOINTED flag inconsistency issue caused by concurrent atomic commit and checkpoint writes - fix to avoid UAF in f2fs_write_end_io() 14 Feb 2026: Probes: Updates for v7.0 [+ + +] Probes for v7.0 - kprobes: Use a dedicated kernel thread to optimize the kprobes instead of using workqueue thread. Since the kprobe optimizer waits a long time for synchronize_rcu_task(), it can block other workers in the same queue if it uses a workqueue. - kprobe-events: Returns immediately if no new probe events are specified on the kernel command line at boot time. This shorten the kernel boot time. - kprobes: When a kprobe is fully removed from the kernel code, retry optimizing another kprobe which is blocked by that kprobe. probes-v7.0 14 Feb 2026: Bootconfig: Updates for v7.0 [+ + +] Bootconfig for v7.0 - Update the bootconfig parser to stop searching for a value when it encounters a newline character. Note that this changes the bootconfig formatting but this should not fall under the don't break user space rule as users of bootconfig is for booting the kernel and not about applications running in the kernel's user space. - Update the tests for bootconfig parser to ensure the good examples to be parsed correctly by comparing the expected results. bootconfig-v7.0 13 Feb 2026: capabilities update for v7.0 [+ + +] Capabilities update for 7.0 This branch contains two patches which have been in linux-next for a few weeks. The first, security: Add KUnit tests for kuid_root_in_ns and vfsuid_root_in_currentns adds some tests of core capabilities helpers. The second ipc: don't audit capability check in ipc_permissions() avoids emitting audit messages when there's not actually a permission being denied. 13 Feb 2026: platform-drivers-x86 for v7.0-1 [+ + +] Here is the main PDx86 PR for v7.0. There's a known conflict with HID/asus changes that came through the hid tree: https://lore.kernel.org/all/aYI1Yyof6IL5-HUz@sirena.org.uk/ Highlights: - amd/pmf: - Avoid overwriting BIOS input values when events occur rapidly - Fix PMF driver issues related to S4 (in part on crypto/ccp side) - Add NPU metrics API (for accel side consumers) - Allow disabling Smart PC function through a module parameter - asus-wmi & HID/asus: - Unification of backlight control (replaces quirks) - Support multiple interfaces for controlling keyboard/RGB brightness - Simplify init sequence - hp-wmi: - Add manual fan control for Victus S models - Add fan mode keep-alive - Fix platform profile values for Omen 16-wf1xxx - Add EC offset to get the thermal profile - intel/pmc: Show substate residencies also for non-primary PMCs - intel/ISST: - Store and restore data for all domains - Write interface improvements - lenovo-wmi: - Support multiple Capability Data - Add HWMON reporting and tuning support - mellanox/mlx-platform: Add HI173 & HI174 support - surface/aggregator_registry: Add Surface Pro 11 (QCOM) - thinkpad_acpi: Add support for HW damage detection capability - uniwill: Implement cTGP setting - wmi: - Introduce marshalling support - Convert a few drivers to use the new buffer-based WMI API - tools/power/x86/intel-speed-select: Allow read operations for non-root - Miscellaneous cleanups / refactoring / improvements Regards, i. platform-drivers-x86 for v7.0-1 Highlights: - amd/pmf: - Avoid overwriting BIOS input values when events occur rapidly - Fix PMF driver issues related to S4 (in part on crypto/ccp side) - Add NPU metrics API (for accel side consumers) - Allow disabling Smart PC function through a module parameter - asus-wmi & HID/asus: - Unification of backlight control (replaces quirks) - Support multiple interfaces for controlling keyboard/RGB brightness - Simplify init sequence - hp-wmi: - Add manual fan control for Victus S models - Add fan mode keep-alive - Fix platform profile values for Omen 16-wf1xxx - Add EC offset to get the thermal profile - intel/pmc: Show substate residencies also for non-primary PMCs - intel/ISST: - Store and restore data for all domains - Write interface improvements - lenovo-wmi: - Support multiple Capability Data - Add HWMON reporting and tuning support - mellanox/mlx-platform: Add HI173 & HI174 support - surface/aggregator_registry: Add Surface Pro 11 (QCOM) - thinkpad_acpi: Add support for HW damage detection capability - uniwill: Implement cTGP setting - wmi: - Introduce marshalling support - Convert a few drivers to use the new buffer-based WMI API - tools/power/x86/intel-speed-select: Allow read operations for non-root - Miscellaneous cleanups / refactoring / improvements The following is an automated shortlog grouped by driver: amd/pmf: - Added a module parameter to disable the Smart PC function - Introduce new interface to export NPU metrics - Prevent TEE errors after hibernate - Use ring buffer to store custom BIOS input values amd: - Use scope-based cleanup for wbrf_record() asus-wmi: - add keyboard brightness event handler - Add support for multiple kbd led handlers - remove unused keyboard backlight quirk crypto: - ccp - Add an S4 restore flow - ccp - Declare PSP dead if PSP_CMD_TEE_RING_INIT fails - ccp - Factor out ring destroy handling to a helper - ccp - Send PSP_CMD_TEE_RING_DESTROY when PSP_CMD_TEE_RING_INIT fails HID: asus: - add support for the asus-wmi brightness handler - early return for ROG devices - fortify keyboard handshake - initialize additional endpoints only for certain devices - listen to the asus-wmi brightness device instead of creating one - move vendor initialization to probe - simplify RGB init sequence - use same report_id in response hp-wmi: - Add EC offsets to read Victus S thermal profile - add manual fan control for Victus S models - fix platform profile values for Omen 16-wf1xxx - implement fan keep-alive - order include headers ideadpad-laptop: - Clean up style warnings and checks intel/pmc: - Change LPM mode fields to u8 - Enable substate residencies for multiple PMCs - Move LPM mode attributes to PMC - Remove double empty line intel/pmt: - Replace sprintf() with sysfs_emit() intel/uncore-freq: - Replace sprintf() with scnprintf() - Replace sprintf() with sysfs_emit() intel-wmi-sbl-fw-update: - Use new buffer-based WMI API intel/wmi: thunderbolt: - Use new buffer-based WMI API ISST: - Add missing write block check - Check for admin capability for write commands - Optimize suspend/resume callbacks - Store and restore all domains data lenovo-wmi-capdata: - Add support for Capability Data 00 - Add support for Fan Test Data lenovo-wmi-{capdata,other}: - Fix HWMON channel visibility - Support multiple Capability Data lenovo-wmi-capdata: - Wire up Fan Test Data lenovo-wmi-helpers: - Convert returned buffer into u32 lenovo-wmi-other: - Add HWMON for fan reporting/tuning mlx-platform: - Add support DGX flavor of next-generation 800GB/s ethernet switch. - Add support for new Nvidia DGX system based on class VMOD0010 Rename lenovo-wmi-capdata01 to lenovo-wmi-capdata: - Rename lenovo-wmi-capdata01 to lenovo-wmi-capdata surface: aggregator_registry: - Add Surface Pro 11 (QCOM) surface: - Replace deprecated strcpy() in surface_button_add() thinkpad_acpi: - Add support to detect hardware damage detection capability. - Add sysfs to display details of damaged device. tools/power/x86/intel-speed-select: - Allow non root users - Fix file descriptor leak in isolate_cpus() - Use pkg-config for libnl-3.0 detection - v1.25 release uniwill: - Implement cTGP setting uniwill-laptop: - Introduce device descriptor system wmi: - Add helper functions for WMI string conversions - Add kunit test for the marshalling code - Add kunit test for the string conversion code wmi-bmof: - Use new buffer-based WMI API wmi: - Introduce marshalling support wmi: string-kunit: - Add missing oversized string test case wmi: - Update driver development guide xiaomi-wmi: - Use new buffer-based WMI API yogabook: - Clean up code style Merges: - Merge branch 'fixes' of into for-next - Merge branch 'intel-sst' of https://github.com/spandruvada/linux-kernel into for-next - Merge branch 'platform-drivers-x86-asus-kbd' into for-next 13 Feb 2026: tracing updates for v7.0 [+ + +] [ Note, there's two merge conflicts: 1. With BPF code. This PR made tracepoint callbacks preemptable. BPF needs to run on the same CPU until completion. Alexei recommended using rcu_read_lock_dont_migrate() in the BPF callback. This conflicted with some other changes in the BPF tree. 2. With mm tree. This PR moved trace_printk() code out of trace.c and into trace_printk.c. A change in Andrew Morton's mm tree removed the string size parameter from __trace_puts(). That function was one of the functions moved to trace_printk.c. That update now needs to happen in that file instead. The updates in linux-next master branch have the proper merge resolution. ] tracing updates for 7.0: User visible changes: - Add an entry into MAINTAINERS file for RUST versions of code There's now RUST code for tracing and static branches. To differentiate that code from the C code, add entries in for the RUST version (with "[RUST]" around it) so that the right maintainers get notified on changes. - New bitmask-list option added to tracefs When this is set, bitmasks in trace event are not displayed as hex numbers, but instead as lists: e.g. 0-5,7,9 instead of 0000015f - New show_event_filters file in tracefs Instead of having to search all events/*/*/filter for any active filters enabled in the trace instance, the file show_event_filters will list them so that there's only one file that needs to be examined to see if any filters are active. - New show_event_triggers file in tracefs Instead of having to search all events/*/*/trigger for any active triggers enabled in the trace instance, the file show_event_triggers will list them so that there's only one file that needs to be examined to see if any triggers are active. - Have traceoff_on_warning disable trace pintk buffer too Recently recording of trace_printk() could go to other trace instances instead of the top level instance. But if traceoff_on_warning triggers, it doesn't stop the buffer with trace_printk() and that data can easily be lost by being overwritten. Have traceoff_on_warning also disable the instance that has trace_printk() being written to it. - Update the hist_debug file to show what function the field uses When CONFIG_HIST_TRIGGERS_DEBUG is enabled, a hist_debug file exists for every event. This displays the internal data of any histogram enabled for that event. But it is lacking the function that is called to process one of its fields. This is very useful information that was missing when debugging histograms. - Up the histogram stack size from 16 to 31 Stack traces can be used as keys for event histograms. Currently the size of the stack that is stored is limited to just 16 entries. But the storage space in the histogram is 256 bytes, meaning that it can store up to 31 entries (plus one for the count of entries). Instead of letting that space go to waste, up the limit from 16 to 31. This makes the keys much more useful. - Fix permissions of per CPU file buffer_size_kb The per CPU file of buffer_size_kb was incorrectly set to read only in a previous cleanup. It should be writable. - Reset "last_boot_info" if the persistent buffer is cleared The last_boot_info shows address information of a persistent ring buffer if it contains data from a previous boot. It is cleared when recording starts again, but it is not cleared when the buffer is reset. The data is useless after a reset so clear it on reset too. Internal changes: - A change was made to allow tracepoint callbacks to have preemption enabled, and instead be protected by SRCU. This required some updates to the callbacks for perf and BPF. perf needed to disable preemption directly in its callback because it expects preemption disabled in the later code. BPF needed to disable migration, as its code expects to run completely on the same CPU. - Have irq_work wake up other CPU if current CPU is "isolated" When there's a waiter waiting on ring buffer data and a new event happens, an irq work is triggered to wake up that waiter. This is noisy on isolated CPUs (running NO_HZ_FULL). Trigger an IPI to a house keeping CPU instead. - Use proper free of trigger_data instead of open coding it in. - Remove redundant call of event_trigger_reset_filter() It was called immediately in a function that was called right after it. - Workqueue cleanups - Report errors if tracing_update_buffers() were to fail. - Make the enum update workqueue generic for other parts of tracing On boot up, a work queue is created to convert enum names into their numbers in the trace event format files. This work queue can also be used for other aspects of tracing that takes some time and shouldn't be called by the init call code. The blk_trace initialization takes a bit of time. Have the initialization code moved to the new tracing generic work queue function. - Skip kprobe boot event creation call if there's no kprobes defined on cmdline The kprobe initialization to set up kprobes if they are defined on the cmdline requires taking the event_mutex lock. This can be held by other tracing code doing initialization for a long time. Since kprobes added to the kernel command line need to be setup immediately, as they may be tracing early initialization code, they cannot be postponed in a work queue and must be setup in the initcall code. If there's no kprobe on the kernel cmdline, there's no reason to take the mutex and slow down the boot up code waiting to get the lock only to find out there's nothing to do. Simply exit out early if there's no kprobes on the kernel cmdline. If there are kprobes on the cmdline, then someone cares more about tracing over the speed of boot up. - Clean up the trigger code a bit - Move code out of trace.c and into their own files trace.c is now over 11,000 lines of code and has become more difficult to maintain. Start splitting it up so that related code is in their own files. Move all the trace_printk() related code into trace_printk.c. Move the __always_inline stack functions into trace.h. Move the pid filtering code into a new trace_pid.c file. - Better define the max latency and snapshot code The latency tracers have a "max latency" buffer that is a copy of the main buffer and gets swapped with it when a new high latency is detected. This keeps the trace up to the highest latency around where this max_latency buffer is never written to. It is only used to save the last max latency trace. A while ago a snapshot feature was added to tracefs to allow user space to perform the same logic. It could also enable events to trigger a "snapshot" if one of their fields hit a new high. This was built on top of the latency max_latency buffer logic. Because snapshots came later, they were dependent on the latency tracers to be enabled. In reality, the latency tracers depend on the snapshot code and not the other way around. It was just that they came first. Restructure the code and the kconfigs to have the latency tracers depend on snapshot code instead. This actually simplifies the logic a bit and allows to disable more when the latency tracers are not defined and the snapshot code is. - Fix a "false sharing" in the hwlat tracer code The loop to search for latency in hardware was using a variable that could be changed by user space for each sample. If the user change this variable, it could cause a bus contention, and reading that variable can show up as a large latency in the trace causing a false positive. Read this variable at the start of the sample with a READ_ONCE() into a local variable and keep the code from sharing cache lines with readers. - Fix function graph tracer static branch optimization code When only one tracer is defined for function graph tracing, it uses a static branch to call that tracer directly. When another tracer is added, it goes into loop logic to call all the registered callbacks. The code was incorrect when going back to one tracer and never re-enabled the static branch again to do the optimization code. - And other small fixes and cleanups. trace-v7.0 13 Feb 2026: KVM changes for Linux 7.0 [+ + +] Loongarch: - Add more CPUCFG mask bits. - Improve feature detection. - Add lazy load support for FPU and binary translation (LBT) register state. - Fix return value for memory reads from and writes to in-kernel devices. - Add support for detecting preemption from within a guest. - Add KVM steal time test case to tools/selftests. ARM: - Add support for FEAT_IDST, allowing ID registers that are not implemented to be reported as a normal trap rather than as an UNDEF exception. - Add sanitisation of the VTCR_EL2 register, fixing a number of UXN/PXN/XN bugs in the process. - Full handling of RESx bits, instead of only RES0, and resulting in SCTLR_EL2 being added to the list of sanitised registers. - More pKVM fixes for features that are not supposed to be exposed to guests. - Make sure that MTE being disabled on the pKVM host doesn't give it the ability to attack the hypervisor. - Allow pKVM's host stage-2 mappings to use the Force Write Back version of the memory attributes by using the "pass-through' encoding. - Fix trapping of ICC_DIR_EL1 on GICv5 hosts emulating GICv3 for the guest. - Preliminary work for guest GICv5 support. - A bunch of debugfs fixes, removing pointless custom iterators stored in guest data structures. - A small set of FPSIMD cleanups. - Selftest fixes addressing the incorrect alignment of page allocation. - Other assorted low-impact fixes and spelling fixes. RISC-V: - Fixes for issues discoverd by KVM API fuzzing in kvm_riscv_aia_imsic_has_attr(), kvm_riscv_aia_imsic_rw_attr(), and kvm_riscv_vcpu_aia_imsic_update() - Allow Zalasr, Zilsd and Zclsd extensions for Guest/VM - Transparent huge page support for hypervisor page tables - Adjust the number of available guest irq files based on MMIO register sizes found in the device tree or the ACPI tables - Add RISC-V specific paging modes to KVM selftests - Detect paging mode at runtime for selftests s390: - Performance improvement for vSIE (aka nested virtualization) - Completely new memory management. s390 was a special snowflake that enlisted help from the architecture's page table management to build hypervisor page tables, in particular enabling sharing the last level of page tables. This however was a lot of code (~3K lines) in order to support KVM, and also blocked several features. The biggest advantages is that the page size of userspace is completely independent of the page size used by the guest: userspace can mix normal pages, THPs and hugetlbfs as it sees fit, and in fact transparent hugepages were not possible before. It's also now possible to have nested guests and guests with huge pages running on the same host. - Maintainership change for s390 vfio-pci - Small quality of life improvement for protected guests x86: - Add support for giving the guest full ownership of PMU hardware (contexted switched around the fastpath run loop) and allowing direct access to data MSRs and PMCs (restricted by the vPMU model). KVM still intercepts access to control registers, e.g. to enforce event filtering and to prevent the guest from profiling sensitive host state. This is more accurate, since it has no risk of contention and thus dropped events, and also has significantly less overhead. For more information, see the commit message for merge commit bf2c3138ae36 ("Merge tag 'kvm-x86-pmu-6.20' of https://github.com/kvm-x86/linux into HEAD"). - Disallow changing the virtual CPU model if L2 is active, for all the same reasons KVM disallows change the model after the first KVM_RUN. - Fix a bug where KVM would incorrectly reject host accesses to PV MSRs when running with KVM_CAP_ENFORCE_PV_FEATURE_CPUID enabled, even if those were advertised as supported to userspace, - Fix a bug with protected guest state (SEV-ES/SNP and TDX) VMs, where KVM would attempt to read CR3 configuring an async #PF entry. - Fail the build if EXPORT_SYMBOL_GPL or EXPORT_SYMBOL is used in KVM (for x86 only) to enforce usage of EXPORT_SYMBOL_FOR_KVM_INTERNAL. Only a few exports that are intended for external usage, and those are allowed explicitly. - When checking nested events after a vCPU is unblocked, ignore -EBUSY instead of WARNing. Userspace can sometimes put the vCPU into what should be an impossible state, and spurious exit to userspace on -EBUSY does not really do anything to solve the issue. - Also throw in the towel and drop the WARN on INIT/SIPI being blocked when vCPU is in Wait-For-SIPI, which also resulted in playing whack-a-mole with syzkaller stuffing architecturally impossible states into KVM. - Add support for new Intel instructions that don't require anything beyond enumerating feature flags to userspace. - Grab SRCU when reading PDPTRs in KVM_GET_SREGS2. - Add WARNs to guard against modifying KVM's CPU caps outside of the intended setup flow, as nested VMX in particular is sensitive to unexpected changes in KVM's golden configuration. - Add a quirk to allow userspace to opt-in to actually suppress EOI broadcasts when the suppression feature is enabled by the guest (currently limited to split IRQCHIP, i.e. userspace I/O APIC). Sadly, simply fixing KVM to honor Suppress EOI Broadcasts isn't an option as some userspaces have come to rely on KVM's buggy behavior (KVM advertises Supress EOI Broadcast irrespective of whether or not userspace I/O APIC supports Directed EOIs). - Clean up KVM's handling of marking mapped vCPU pages dirty. - Drop a pile of *ancient* sanity checks hidden behind in KVM's unused ASSERT() macro, most of which could be trivially triggered by the guest and/or user, and all of which were useless. - Fold "struct dest_map" into its sole user, "struct rtc_status", to make it more obvious what the weird parameter is used for, and to allow fropping these RTC shenanigans if CONFIG_KVM_IOAPIC=n. - Bury all of ioapic.h, i8254.h and related ioctls (including KVM_CREATE_IRQCHIP) behind CONFIG_KVM_IOAPIC=y. - Add a regression test for recent APICv update fixes. - Handle "hardware APIC ISR", a.k.a. SVI, updates in kvm_apic_update_apicv() to consolidate the updates, and to co-locate SVI updates with the updates for KVM's own cache of ISR information. - Drop a dead function declaration. - Minor cleanups. x86 (Intel): - Rework KVM's handling of VMCS updates while L2 is active to temporarily switch to vmcs01 instead of deferring the update until the next nested VM-Exit. The deferred updates approach directly contributed to several bugs, was proving to be a maintenance burden due to the difficulty in auditing the correctness of deferred updates, and was polluting "struct nested_vmx" with a growing pile of booleans. - Fix an SGX bug where KVM would incorrectly try to handle EPCM page faults, and instead always reflect them into the guest. Since KVM doesn't shadow EPCM entries, EPCM violations cannot be due to KVM interference and can't be resolved by KVM. - Fix a bug where KVM would register its posted interrupt wakeup handler even if loading kvm-intel.ko ultimately failed. - Disallow access to vmcb12 fields that aren't fully supported, mostly to avoid weirdness and complexity for FRED and other features, where KVM wants enable VMCS shadowing for fields that conditionally exist. - Print out the "bad" offsets and values if kvm-intel.ko refuses to load (or refuses to online a CPU) due to a VMCS config mismatch. x86 (AMD): - Drop a user-triggerable WARN on nested_svm_load_cr3() failure. - Add support for virtualizing ERAPS. Note, correct virtualization of ERAPS relies on an upcoming, publicly announced change in the APM to reduce the set of conditions where hardware (i.e. KVM) *must* flush the RAP. - Ignore nSVM intercepts for instructions that are not supported according to L1's virtual CPU model. - Add support for expedited writes to the fast MMIO bus, a la VMX's fastpath for EPT Misconfig. - Don't set GIF when clearing EFER.SVME, as GIF exists independently of SVM, and allow userspace to restore nested state with GIF=0. - Treat exit_code as an unsigned 64-bit value through all of KVM. - Add support for fetching SNP certificates from userspace. - Fix a bug where KVM would use vmcb02 instead of vmcb01 when emulating VMLOAD or VMSAVE on behalf of L2. - Misc fixes and cleanups. x86 selftests: - Add a regression test for TPR<=>CR8 synchronization and IRQ masking. - Overhaul selftest's MMU infrastructure to genericize stage-2 MMU support, and extend x86's infrastructure to support EPT and NPT (for L2 guests). - Extend several nested VMX tests to also cover nested SVM. - Add a selftest for nested VMLOAD/VMSAVE. - Rework the nested dirty log test, originally added as a regression test for PML where KVM logged L2 GPAs instead of L1 GPAs, to improve test coverage and to hopefully make the test easier to understand and maintain. guest_memfd: - Remove kvm_gmem_populate()'s preparation tracking and half-baked hugepage handling. SEV/SNP was the only user of the tracking and it can do it via the RMP. - Retroactively document and enforce (for SNP) that KVM_SEV_SNP_LAUNCH_UPDATE and KVM_TDX_INIT_MEM_REGION require the source page to be 4KiB aligned, to avoid non-trivial complexity for something that no known VMM seems to be doing and to avoid an API special case for in-place conversion, which simply can't support unaligned sources. - When populating guest_memfd memory, GUP the source page in common code and pass the refcounted page to the vendor callback, instead of letting vendor code do the heavy lifting. Doing so avoids a looming deadlock bug with in-place due an AB-BA conflict betwee mmap_lock and guest_memfd's filemap invalidate lock. Generic: - Fix a bug where KVM would ignore the vCPU's selected address space when creating a vCPU-specific mapping of guest memory. Actually this bug could not be hit even on x86, the only architecture with multiple address spaces, but it's a bug nevertheless. 13 Feb 2026: dma-mapping update for Linux 7.0 [+ + +] dma-mapping update for Linux 7.0 A small code cleanup for DMA-mapping subsystem: - removal of unused hooks (Robin Murphy) 12 Feb 2026: RISC-V updates for v7.0 [+ + +] 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, here is support for CFI in user processes. This feature has been tested by a set of RISC-V community participants, including by CPU IP/hardware vendors and by a major Linux distribution. Other changes are described in the signed tag. The code in this PR has been sitting in linux-next for a few weeks. I did repush some of the vector ptrace patches a few days ago to fix a missing Signed-off-by: tag (thanks Mark); no code was changed during the repush. thanks, - Paul RISC-V updates for v7.0 - Add support for control flow integrity for userspace processes. This is based on the standard RISC-V ISA extensions Zicfiss and Zicfilp - Improve ptrace behavior regarding vector registers, and add some selftests - Optimize our strlen() assembly - Enable the ISO-8859-1 code page as built-in, similar to ARM64, for EFI volume mounting - Clean up some code slightly, including defining copy_user_page() as copy_page() rather than memcpy(), aligning us with other architectures; and using max3() to slightly simplify an expression in riscv_iommu_init_check() 13 Feb 2026: power-supply changes for 7.0 [+ + +] Subject: [GIT PULL] power-supply changes for 7.0 MIME-Version: 1.0 Hello Linus, power supply and reset changes for the 7.0 series * power-supply core - sysfs: Constify pointer passed to dev_attr_psp - extend DT binding documentation for battery cells to allow describing voltage drop behaviour * power-supply drivers - multiple: Remove unused gpio include header - multiple: Fix potential IRQ use-after-free on driver unload - bd71828: Add support for ROHM BD72720 - misc. small fixes * reset drivers - tdx-ec-poweroff: fix restart 12 Feb 2026: VFIO updates for v7.0-rc1 [+ + +] There are a couple unusual block file changes here that come via a shared branch from Jens[1]. Otherwise a small cycle with the bulk in selftests and reintroducing poison handling in the nvgrace-gpu driver. The rest are fixes, cleanups, and some dmabuf structure consolidation. Thanks, Alex =3Dfor-7.0/blk-pvec VFIO updates for v7.0-rc1 - Update outdated mdev comment referencing the renamed mdev_type_add() function. (Julia Lawall) - Introduce selftest support for IOMMU mapping of PCI MMIO BARs. (Alex Mastro) - Relax selftest assertion relative to differences in huge page handling between legacy (v1) TYPE1 IOMMU mapping behavior and the compatibility mode supported by IOMMUFD. (David Matlack) - Reintroduce memory poison handling support for non-struct-page- backed memory in the nvgrace-gpu variant driver. (Ankit Agrawal) - Replace dma_buf_phys_vec with phys_vec to avoid duplicate structure and semantics. (Leon Romanovsky) - Add missing upstream bridge locking across PCI function reset, resolving an assertion failure when secondary bus reset is used to provide that reset. (Anthony Pighin) - Fixes to hisi_acc vfio-pci variant driver to resolve corner case issues related to resets, repeated migration, and error injection scenarios. (Longfang Liu, Weili Qian) - Restrict vfio selftest builds to arm64 and x86_64, resolving compiler warnings on 32-bit archs. (Ted Logan) - Un-deprecate the fsl-mc vfio bus driver as a new maintainer has stepped up. (Ioana Ciornei) 12 Feb 2026: non-MM updates for 7.0-rc1 [+ + +] for the 7.0-rcX cycle, thanks. Conflicts which I'm presently seeing, along with their possible resolutions are: Documentation/core-api/kho/index.rst, vs jc_docs tree: https://lkml.kernel.org/r/aXeZQy24nAzwEKF3@sirena.org.uk (unhelpful! But it's simple) drivers/gpu/drm/amd/amdkfd/kfd_process.c, vs drm tree https://lkml.kernel.org/r/aXjJCmDiKFYA0-P6@sirena.org.uk (also unhelpful, also trivial) fs/fat/dir.c, vs vfs-brauner tree https://lkml.kernel.org/r/20260113122141.1de833ab@canb.auug.org.au lib/Kconfig.debug, vs tip tree https://lkml.kernel.org/r/20260107131112.69183629@canb.auug.org.au Possible forthcoming build errors: drivers/usb/gadget/function/..., vs usb tree: https://lkml.kernel.org/r/20260113150752.2e2238f2@canb.auug.org.au Possible forthcoming conflicts: kernel/cpu.c, vs spdx tree: https://lkml.kernel.org/r/aW912Qvlf_n2S8f6@sirena.org.uk kernel/trace/trace.c, vs ftrace tree: https://lkml.kernel.org/r/aYoAtbc4L0N-g6C-@sirena.co.uk https://lkml.kernel.org/r/20260209120655.2045ea9f@gandalf.local.home mm.git review status for linus..mm-nonmm-stable Total patches: 107 Reviews/patch: 1.07 Reviewed rate: 67% - The 2 patch series "ocfs2: give ocfs2 the ability to reclaim suballocator free bg" from Heming Zhao saves disk space by teaching ocfs2 to reclaim suballocator block group space. - The 4 patch series "Add ARRAY_END(), and use it to fix off-by-one bugs" from Alejandro Colomar adds the ARRAY_END() macro and uses it in various places. - The 2 patch series "vmcoreinfo: support VMCOREINFO_BYTES larger than PAGE_SIZE" from Pnina Feder makes the vmcore code future-safe, if VMCOREINFO_BYTES ever exceeds the page size. - The 7 patch series "kallsyms: Prevent invalid access when showing module buildid" from Petr Mladek cleans up kallsyms code related to module buildid and fixes an invalid access crash when printing backtraces. - The 3 patch series "Address page fault in ima_restore_measurement_list()" from Harshit Mogalapalli fixes a kexec-related crash that can occur when booting the second-stage kernel on x86. - The 6 patch series "kho: ABI headers and Documentation updates" from Mike Rapoport updates the kexec handover ABI documentation. - The 4 patch series "Align atomic storage" from Finn Thain adds the __aligned attribute to atomic_t and atomic64_t definitions to get natural alignment of both types on csky, m68k, microblaze, nios2, openrisc and sh. - The 2 patch series "kho: clean up page initialization logic" from Pratyush Yadav simplifies the page initialization logic in kho_restore_page(). - The 6 patch series "Unload linux/kernel.h" from Yury Norov moves several things out of kernel.h and into more appropriate places. - The 7 patch series "don't abuse task_struct.group_leader" from Oleg Nesterov removes the usage of ->group_leader when it is "obviously unnecessary". - The 5 patch series "list private v2 & luo flb" from Pasha Tatashin adds some infrastructure improvements to the live update orchestrator. 12 Feb 2026: ext4 changes for v7.0-rc1 [+ + +] New features and improvements for the ext4 file system * Avoid unnecessary cache invadiation in the extent status cache (es_cache) when adding extents to be cached in the es_cache and we are not changing the extent tree. * Add a sysfs parameter, err_report_sec, to control how frequently to log a warning message that file system inconsistency has been detected. (Previously we logged the warning message every 24 hours.) * Avoid unnecessary forced ordered writes when appending to a file when delayed allocation is enabled. * Defer splitting unwritten extents to I/O completion to improve write performance of concurrent direct I/O writes to multiple files. * Refactor and add kunit tests to the extent splitting and conversion code paths. Various Bug Fixes * Fix a panic when the debugging DOUBLE_CHECK macro is defined. * Avoid using fast commit for rare and complex file system operations to make fast commit easier to reason about. This can also avoid some corner cases that could result in file system inconsistency if there is a crash between the fast commit before a subsequent full commit. * Fix memory leaks in error paths * Fix a false positive reports caused when running stress tests using mixed huge-page workloads caused by a race between page migration and bitmap updates. * Fix a potential recursion into file system reclaim when evicting an inode when fast commit is enabled. * Fix a warning caused by a potential double decrement to the dirty clusters counter when executing FS_IOC_SHUTDOWN when running a stress test. * Enable mballoc optimzied scanning regardless whether the inode is using indirect blocks or extent trees to map blocks. 12 Feb 2026: RTLA: Updates for 7.0 [+ + +] Real-Time Linux Analysis tooling patches for v7.0 - Remove unused function declarations Some functions were removed in recent code consolidation 6.18, but their prototypes were not removed from headers. Remove them. - Set stop threshold after enabling instances Prefer recording samples without stopping on them on the start of tracing to stopping on samples that are never recorded. This fixes flakiness of some RTLA tests and unifies behavior of sample collection between tracefs mode and BPF mode. - Consolidate usage help message implementation RTLA tools (osnoise-top, osnoise-hist, timerlat-top, timerlat-hist) each implement usage help individually. Move common logic between them into a new function to reduce code duplication. - Add BPF actions feature Add option --bpf-action to attach a BPF program (passed as filename of its ELF representation) to be executed via BPF tail call at latency threshold. - Consolidate command line option parsing Each RTLA tool implements the parsing of command line options individually. Now that we have a common structure for parameters, unify the parsing of those options common among all four tools into one function. - De-duplicate cgroup common code Two functions in utils.c, setting cgroup for comm and setting cgroup for pid, duplicate code for constructing the cgroup path. Extract it to a new helper function. - String and error handling fixes and cleanups There were several instances of unsafe string and error handling that could cause invalid memory access; fix them. Also, remove a few unused headers, update .gitignore, and deduplicate code. trace-rtla-v7.0 12 Feb 2026: rv: Updates for 7.0 [+ + +] runtime verifier changes for 7.0: - Refactor da_monitor to minimise macros Complete refactor of da_monitor.h to reduce reliance on macros generating functions. Use generic static functions and uses the preprocessor only when strictly necessary (e.g. for tracepoint handlers). The change essentially relies on functions with generic names (e.g. da_handle) instead of monitor-specific as well adding the need to define constant (e.g. MONITOR_NAME, MONITOR_TYPE) before including the header rather than calling macros that would define functions. Also adapt monitors and documentation accordingly. - Cleanup DA code generation scripts Clean up functions in dot2c removing reimplementations of trivial library functions (__buff_to_string) and removing some other unused intermediate steps. - Annotate functions with types in the rvgen python scripts - Remove superfluous assignments and cleanup generated code The rvgen scripts generate a superfluous assignment to 0 for enum variables and don't add commas to the last elements, which is against the kernel coding standards. Change the generation process for a better compliance and slightly simpler logic. - Remove superfluous declarations from generated code The monitor container source files contained a declaration and a definition for the rv_monitor variable. The former is superfluous and was removed. - Fix reference to outdated documentation s/da_monitor_synthesis.rst/monitor_synthesis.rst in comment in da_monitor.h trace-rv-v7.0 11 Feb 2026: MM updates for 7.0-rc1 [+ + +] cycle, thanks. I'm seeing a single conflict at this time, in include/linux/cma.h. Mark's resolution is at https://lkml.kernel.org/r/aXtlrOzrFg5XMSkj@sirena.org.uk Possible upcoming conflicts and their linux-next resolutions are as follows: arch/riscv/include/asm/page.h, vs risc-v tree: https://lkml.kernel.org/r/aXDNtx7iXjV-hsjm@sirena.org.uk fs/ntfs3/file.c, vs fs-next tree: https://lkml.kernel.org/r/aXeZNSiVv82Gc9HF@sirena.org.uk drivers/gpu/drm/i915/gem/i915_gem_shmem.c, vs drm tree: https://lkml.kernel.org/r/aXerLzIbpMy9d4lx@sirena.org.uk drivers/gpu/drm/amd/amdkfd/kfd_process.c, vs drm tree: https://lkml.kernel.org/r/aXjJCmDiKFYA0-P6@sirena.org.uk arch/s390/mm/pgtable.c, vs kvms390 tree: https://lkml.kernel.org/r/aYSVUnyIHvEkCN4U@sirena.org.uk mm.git review status for linus..mm-stable Everything: Total patches: 325 Reviews/patch: 1.39 Reviewed rate: 72% Excluding DAMON: Total patches: 262 Reviews/patch: 1.63 Reviewed rate: 82% Excluding DAMON and zram: Total patches: 248 Reviews/patch: 1.72 Reviewed rate: 86% - The 14 patch series "powerpc/64s: do not re-activate batched TLB flush" from Alexander Gordeev makes arch_{enter|leave}_lazy_mmu_mode() nest properly. It adds a generic enter/leave layer and switches architectures to use it. Various hacks were removed in the process. - The 7 patch series "zram: introduce compressed data writeback" from Richard Chang and Sergey Senozhatsky implements data compression for zram writeback. - The 8 patch series "mm: folio_zero_user: clear page ranges" from David Hildenbrand adds clearing of contiguous page ranges for hugepages. Large improvements during demand faulting are demonstrated. - The 2 patch series "memcg cleanups" from Chen Ridong tideis up some memcg code. - The 12 patch series "mm/damon: introduce {,max_}nr_snapshots and tracepoint for damos stats" from SeongJae Park improves DAMOS stat's provided information, deterministic control, and readability. - The 3 patch series "selftests/mm: hugetlb cgroup charging: robustness fixes" from Li Wang fixes a few issues in the hugetlb cgroup charging selftests. - The 5 patch series "Fix va_high_addr_switch.sh test failure - again" from Chunyu Hu addresses several issues in the va_high_addr_switch test. - The 5 patch series "mm/damon/tests/core-kunit: extend existing test scenarios" from Shu Anzai improves the KUnit test coverage for DAMON. - The 2 patch series "mm/khugepaged: fix dirty page handling for MADV_COLLAPSE" from Shivank Garg fixes a glitch in khugepaged which was causing madvise(MADV_COLLAPSE) to transiently return -EAGAIN. - The 29 patch series "arch, mm: consolidate hugetlb early reservation" from Mike Rapoport reworks and consolidates a pile of straggly code related to reservation of hugetlb memory from bootmem and creation of CMA areas for hugetlb. - The 9 patch series "mm: clean up anon_vma implementation" from Lorenzo Stoakes cleans up the anon_vma implementation in various ways. - The 3 patch series "tweaks for __alloc_pages_slowpath()" from Vlastimil Babka does a little streamlining of the page allocator's slowpath code. - The 8 patch series "memcg: separate private and public ID namespaces" from Shakeel Butt cleans up the memcg ID code and prevents the internal-only private IDs from being exposed to userspace. - The 6 patch series "mm: hugetlb: allocate frozen gigantic folio" from Kefeng Wang cleans up the allocation of frozen folios and avoids some atomic refcount operations. - The 11 patch series "mm/damon: advance DAMOS-based LRU sorting" from SeongJae Park improves DAMOS's movement of memory betewwn the active and inactive LRUs and adds auto-tuning of the ratio-based quotas and of monitoring intervals. - The 18 patch series "Support page table check on PowerPC" from Andrew Donnellan makes CONFIG_PAGE_TABLE_CHECK_ENFORCED work on powerpc. - The 3 patch series "nodemask: align nodes_and{,not} with underlying bitmap ops" from Yury Norov makes nodes_and() and nodes_andnot() propagate the return values from the underlying bit operations, enabling some cleanup in calling code. - The 5 patch series "mm/damon: hide kdamond and kdamond_lock from API callers" from SeongJae Park cleans up some DAMON internal interfaces. - The 4 patch series "mm/khugepaged: cleanups and scan limit fix" from Shivank Garg does some cleanup work in khupaged and fixes a scan limit accounting issue. - The 24 patch series "mm: balloon infrastructure cleanups" from David Hildenbrand goes to town on the balloon infrastructure and its page migration function. Mainly cleanups, also some locking simplification. - The 2 patch series "mm/vmscan: add tracepoint and reason for kswapd_failures reset" from Jiayuan Chen adds additional tracepoints to the page reclaim code. - The 3 patch series "Replace wq users and add WQ_PERCPU to alloc_workqueue() users" from Marco Crivellari is part of Marco's kernel-wide migration from the legacy workqueue APIs over to the preferred unbound workqueues. - The 9 patch series "Various mm kselftests improvements/fixes" from Kevin Brodsky provides various unrelated improvements/fixes for the mm kselftests. - The 5 patch series "mm: accelerate gigantic folio allocation" from Kefeng Wang greatly speeds up gigantic folio allocation, mainly by avoiding unnecessary work in pfn_range_valid_contig(). - The 5 patch series "selftests/damon: improve leak detection and wss estimation reliability" from SeongJae Park improves the reliability of two of the DAMON selftests. - The 8 patch series "mm/damon: cleanup kdamond, damon_call(), damos filter and DAMON_MIN_REGION" from SeongJae Park does some cleanup work in the core DAMON code. - The 8 patch series "Docs/mm/damon: update intro, modules, maintainer profile, and misc" from SeongJae Park performs maintenance work on the DAMON documentation. - The 10 patch series "mm: add and use vma_assert_stabilised() helper" from Lorenzo Stoakes refactors and cleans up the core VMA code. The main aim here is to be able to use the mmap write lock's lockdep state to perform various assertions regarding the locking which the VMA code requires. - The 19 patch series "mm, swap: swap table phase II: unify swapin use" from Kairui Song removes some old swap code (swap cache bypassing and swap synchronization) which wasn't working very well. Various other cleanups and simplifications were made. The end result is a 20% speedup in one benchmark. - The 8 patch series "enable PT_RECLAIM on more 64-bit architectures" from Qi Zheng makes PT_RECLAIM available on 64-bit alpha, loongarch, mips, parisc, um, Various cleanups were performed along the way. 11 Feb 2026: Devicetree updates for v7.0 [+ + +] Rob Devicetree updates for v7.0: DT core: - Sync dtc/libfdt with upstream v1.7.2-62-ga26ef6400bd8 - Add a for_each_compatible_node_scoped() loop and convert users in cpufreq, dmaengine, clk, cdx, powerpc and Arm - Simplify of/platform.c with scoped loop helpers - Add fw_devlink tracking for "mmc-pwrseq" - Optimize fw_devlink callback code size for pinctrl-N properties - Replace strcmp_suffix() with strends() DT bindings: - Support building single binding targets - Convert google,goldfish-fb, cznic,turris-mox-rwtm, ti,prm-inst - Add bindings for Freescale AVIC, Realtek RTD1xxx system controllers, Microchip 25AA010A EEPROM, OnSemi FIN3385, IEI WT61P803 PUZZLE, Delta Electronics DPS-800-AB power supply, Infineon IR35221 Digital Multi-phase Controller, Infineon PXE1610 Digital Dual Output 6+1 VR12.5 & VR13 CPU Controller, socionext,uniphier-smpctrl, and xlnx,zynqmp-firmware - Lots of trivial binding fixes to address warnings in DTS files. These are mostly for arm64 platforms which is getting closer to be warning free. Some public shaming has helped. - Fix I2C bus node names in examples - Drop obsolete brcm,vulcan-soc binding - Drop unreferenced binding headers 11 Feb 2026: fsverity updates for 7.0 [+ + +] fsverity cleanups, speedup, and memory usage optimization from Christoph Hellwig: - Move some logic into common code - Fix btrfs to reject truncates of fsverity files - Improve the Merkle tree readahead implementation - Store each inode's fsverity_info in a hash table instead of using a pointer in the filesystem-specific part of the inode. This optimizes for memory usage in the usual case where most files don't have fsverity enabled. - Look up the fsverity_info fewer times during verification, to amortize the hash table overhead 12 Feb 2026: Driver core changes for 7.0-rc1 [+ + +] All commits have been in linux-next for a couple rounds; no conflicts expec= ted. In the -rc7 PR [1] I held back a driver-core fix (now included), as it uncovered potential deadlocks that required a few driver fixes. You should have received one of those for -rc8 through the gpio tree [2]; another one is included in this PR [3], and the latest one [4] should reach= you via a -fixes PR from the clk tree. I spent significant effort catching those cases, but they are a bit tricky = to spot. However, all known ones have been addressed. [1] https://lore.kernel.org/driver-core/DFWVL46MM928.V9LOBRWI8BLZ@kernel.or= g/ [2] https://lore.kernel.org/all/20260127201725.35883-1-dakr@kernel.org/ [3] https://lore.kernel.org/all/20260121141215.29658-1-dakr@kernel.org/ [4] https://lore.kernel.org/all/20260211142321.55404-1-dakr@kernel.org/ Driver core changes for 7.0-rc1 - Bus: - Ensure bus->match() is consistently called with the device lock held - Improve type safety of bus_find_device_by_acpi_dev() - Devtmpfs: - Parse 'devtmpfs.mount=3D' boot parameter with kstrtoint() instead of simple_strtoul() - Avoid sparse warning by making devtmpfs_context_ops static - IOMMU: - Do not register the qcom_smmu_tbu_driver in arm_smmu_device_probe() - MAINTAINERS: - Add the new driver-core mailing list (driver-core@lists.linux.dev) to all relevant entries - Add missing tree location for "FIRMWARE LOADER (request_firmware)" - Add driver-model documentation to the "DRIVER CORE" entry - Add missing driver-core maintainers to the "AUXILIARY BUS" entry - Misc: - Change return type of attribute_container_register() to void; it has always been infallible - Do not export sysfs_change_owner(), sysfs_file_change_owner() and device_change_owner() - Move devres_for_each_res() from the public devres header to drivers/base/base.h - Do not use a static struct device for the faux bus; allocate it dynamically - Revocable: - Patches for the revocable synchronization primitive have been scheduled for v7.0-rc1, but have been reverted as they need some more refinement - Rust: - Device: - Support dev_printk on all device types, not just the core Device struct; remove now-redundant .as_ref() calls in dev_* print calls - Devres: - Introduce an internal reference count in Devres<T> to avoid a deadlock condition in case of (indirect) nesting - DMA: - Allow drivers to tune the maximum DMA segment size via dma_set_max_seg_size() - I/O: - Introduce the concept of generic I/O backends to handle different kinds of device shared memory through a common interface. This enables higher-level concepts such as register abstractions, I/O slices, and field projections to be built generically on top. In a first step, introduce the Io, IoCapable<T>, and IoKnownSize trait hierarchy for sharing a common interface supporting offset validation and bound-checking logic between I/O backends. - Refactor MMIO to use the common I/O backend infrastructure - Misc: - Add __rust_helper annotations to C helpers for inlining into Rust code - Use "kernel vertical" style for imports - Replace kernel::c_str! with C string literals - Update ARef imports to use sync::aref - Use pin_init::zeroed() for struct auxiliary_device_id and debugfs file_operations initialization - Use LKMM atomic types in debugfs doc-tests - Various minor comment and documentation fixes - PCI: - Implement PCI configuration space accessors using the common I/O backend infrastructure - Document pci::Bar device endianness assumptions - SoC: - Abstractions for struct soc_device and struct soc_device_attribute - Sample driver for soc::Device 11 Feb 2026: jfs updates for v7.0 [+ + +] Just a handful of minor jfs fixes 11 Feb 2026: NVDIMM and DAX for 7.0 [+ + +] Pleas pull from... git@gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm.git tags/libnvdimm-for-7.0 ... to get changes for 7.0 for the nvdimm tree. There is a kmap conversion and a bug fix this go around. The bug fix was only reported in the last rc so it got added here. These have soaked in linux-next for a week without issues. Thank you, Ira Weiny --- Updates for the 7.0 release * nvdimm: virtio_pmem: serialize flush requests * drivers/nvdimm: Use local kmaps 11 Feb 2026: Networking for Linux 7.0 [+ + +] I'm not aware of any conflicts with other trees, even if this includes some changes to printk for the sake of netconsole. Networking changes for 7.0 Core & protocols 11 Feb 2026: Landlock update for v7.0-rc1 [+ + +] Hi, These changes extend Landlock to enforce restrictions on a whole process, similarly to the seccomp's TSYNC flag. Data structure refactoring simplifies code and improves performance. Documentation is extended to cover missing parts. with your master branch. The kernel changes have been tested in the latest linux-next releases for some weeks, but I rebased the last commits to fix a kselftest build issue on old distros, and to add a review tag. Test coverage for security/landlock is 91.4% of 2093 lines according to LLVM 21, and it was 91.9% of 1933 lines before this PR. Regards, Mickaël PS: I recently updated my PGP key: https://lore.kernel.org/keys/20260206.waiCh9iex3ai@digikod.net/ -- Landlock update for v7.0-rc1 11 Feb 2026: media updates [+ + +] a/v7.0-2 For: - PCI=E2=80=AF:=E2=80=AFmgb4 =E2=80=93 Add support for GMSL1 and GMSL=E2=80= =91coax modules =20 - Add driver for TI=E2=80=AFVIP; - AV1 =E2=80=93 first kernel support (pixel=E2=80=91format, decoder, transc= oder) =20 - Three new camera=E2=80=91sensor drivers (os05b10, s5k3m5, s5kjn1) =20 - Synopsys CSI=E2=80=912 receiver driver =20 - Verisilicon & rkvdec =E2=80=93 major fixes and enhancements =20 - PCI=E2=80=AFmgb4 =E2=80=93 support for GMSL=E2=80=91coax modules - IPU6 (and 7) fixes and preparation for metadata; - omap3isp: v4l2-compliance updates; - dvb/vb2: fix DVB streaming, drop wait_prepare/finish. Regards, Mauro --- [GIT PULL for v7.0] media updates 11 Feb 2026: printk for 7.0 [+ + +] please pull the latest printk changes from - Check all mandatory callbacks when registering nbcon consoles. - Fix some compiler warnings. 11 Feb 2026: Configfs for v7.0 [+ + +] Here are the changes for configfs for v7.0. Changes in this pull request: - Switch the configfs rust bindings to use c string literals provided by the compiler, rather than a macro. - A follow up on constifying `configfs_item_operations`, applying the change to the configfs sample. I applied the patches a while ago, before I learned that we are changing the patch link format. I did not want to rebase, so I left as is. I updated my configuration for next time. Best regards, Andreas Hindborg configfs changes for v7.0 11 Feb 2026: OpenRISC updates for 6.20 [+ + +] OpenRISC updates for 6.20 The main focus for this series has been to improve OpenRISC kernel out-of-the-box support for FPGA dev boards. - Adds device tree configurations for De0 Nano single and multicore configurations. - Fixes bug in OpenRISC SMP preventing the kernel from running on FPGA boards, due to IPIs not being unmasked on secondary CPUs in some configurations. - Picked up a fix from Brian Masney defining the nop() macro to fix build failures on OpenRISC for drivers using the nop() macro. 11 Feb 2026: drm for 7.0-rc1 [+ + +] This is the main drm pull request for 7.0. Conflicts: There are a number of easy to solve conflicts in amdgpu and xe, and one silent one in xe, /tmp/next/build/drivers/gpu/drm/xe/xe_survivability_mode.c: In function 'xe_survivability_mode_fini': /tmp/next/build/drivers/gpu/drm/xe/xe_survivability_mode.c:241:17: error: implicit declaration of function 'xe_nvm_fini'; did you mean 'xe_nvm_init'? [-Wimplicit-function-declaration] 241 | xe_nvm_fini(xe); | ^~~~~~~~~~~ | xe_nvm_init You can just drop the two lines. I've pushed my likely messed up attempt at a merge here: https://github.com/airlied/linux/tree/drm-next-7.0-rc1-merged Highlights: - amdgpu support for lots of new IP blocks which means newer GPUs. - xe has a lot of SR-IOV and SVM improvements - lots of intel display refactoring across i915/xe - msm has more support for gen8 platforms - Given up on kgdb/kms integration, it's too hard on modern hw Otherwise the full summary is below. Let me know if there are any problems, Dave. drm-next-2026-02-11: drm for 7.0-rc1 core: - drop kgdb support - replace system workqueue with percpu - account for property blobs in memcg - MAINTAINERS updates for xe + buddy rust: - Fix documentation for Registration constructors. - Use pin_init::zeroed() for fops initialization. - Annotate DRM helpers with __rust_helper. - Improve safety documentation for gem::Object::new(). - Update AlwaysRefCounted imports. - mm: Prevent integer overflow in page_align(). atomic: - add drm_device pointer to drm_private_obj - introduce gamma/degamma LUT size check buddy: - fix free_trees memory leak - prevent BUG_ON bridge: - introduce drm_bridge_unplug/enter/exit - add connector argument to .hpd_notify - lots of recounting conversions - convert rockchip inno hdmi to bridge - lontium-lt9611uxc: switch to HDMI audio helpers - dw-hdmi-qp: add support for HPD-less setups - Algoltek AG6311 support panels: - edp: CSW MNE007QB3-1, AUO B140HAN06.4, AUO B140QAX01.H - st75751: add SPI support - Sitronix ST7920, Samsung LTL106HL02 - LG LH546WF1-ED01, HannStar HSD156J - BOE NV130WUM-T08 - Innolux G150XGE-L05 - Anbernic RG-DS dma-buf: - improve sg_table debugging - add tracepoints - call clear_page instead of memset - start to introduce cgroup memory accounting in heaps - remove sysfs stats dma-fence: - add new helpers dp: - mst: avoid oob access with vcpi=3D0 hdmi: - limit infoframes exposure to userspace gem: - reduce page table overhead with THP - fix leak in drm_gem_get_unmapped_area gpuvm: - API sanitation for rust bindings sched: - introduce new helpers panic: - report invalid panic modes - add kunit tests i915/xe display: - Expose sharpness only if num_scalers is >=3D 2 - Add initial Xe3P_LPD for NVL - BMG FBC support - Add MTL+ platforms to support dpll framework _ fix DIMM_S DRM decoding on ICL - Return to using AUX interrupts - PSR/Panel replay refactoring - use consolidation HDMI tables - Xe3_LPD CD2X dividier changes xe: - vfio: add vfio_pci for intel GPU - multi queue support - dynamic pagemaps and multi-device SVM - expose temp attribs in hwmon - NO_COMPRESSION bo flag - expose MERT OA unit - sysfs survivability refactor - SRIOV PF: add MERT support - enable SR-IOV VF migration - Enable I2C/NVM on Crescent Island - Xe3p page reclaimation support - introduce SRIOV scheduler groups - add SoC remappt support in system controller - insert compiler barriers in GuC code - define NVL GuC firmware - handle GT resume failure - fix drm scheduler layering violations - enable GSC loading and PXP for PTL - disable GuC Power DCC strategy on PTL - unregister drm device on probe error i915: - move to kernel standard fault injection - bump recommended GuC version for DG2 and MTL amdgpu: - SMUIO 15.x, PSP 15.x support - IH 6.1.1/7.1 support - MMHUB 3.4/4.2 support - GC 11.5.4/12.1 support - SDMA 6.1.4/7.1/7.11.4 support - JPEG 5.3 support - UserQ updates - GC 9 gfx queue reset support - TTM memory ops parallelization - convert legacy logging to new helpers - DC analog fixes amdkfd: - GC 11.5.4/12.1 suppport - SDMA 6.1.4/7.1 support - per context support - increase kfd process hash table - Reserved SDMA rework radeon: - convert legacy logging to new helpers - use devm for i2c adapters msm: - GPU - Document a612/RGMU dt bindings - UBWC 6.0 support (for A840 / Kaanapali) - a225 support - DPU: - Switched to use virtual planes by default - Fixed DSI CMD panels on DPU 3.x - Rewrote format handling to remove intermediate representation - Fixed watchdog on DPU 8.x+ - Fixed TE / Vsync source setting on DPU 8.x+ - Added 3D_Mux on SC7280 - Kaanapali platform support - Fixed UBWC register programming - Made RM reserve DSPP-enabled mixers for CRTCs with LMs. - Gamma correction support - DP: - Enabled support for eDP 1.4+ link rate tables - Fixed MDSS1 DP indices on SA8775P, making them to work - Fixed msm_dp_ctrl_config_msa() to work with LLVM 20 - DSI: - Documented QCS8300 as compatible with SA8775P - Kaanapali platform support - DSI PHY: - switched to divider_determine_rate() - MDP5: - Dropped support for MSM8998, SDM660 and SDM630 (switched over to DPU) - MDSS: - Kaanapali platform support - Fixed UBWC register programming nova-core: - Prepare for Turing support. This includes parsing and handling Turing-specific firmware headers and sections as well as a Turing Falcon HAL implementation. - Get rid of the Result<impl PinInit<T, E>> anti-pattern. - Relocate initializer-specific code into the appropriate initializer. - Use CStr::from_bytes_until_nul() to remove custom helpers. - Improve handling of unexpected firmware values. - Clean up redundant debug prints. - Replace c_str!() with native Rust C-string literals. - Update nova-core task list. nova: - Align GEM object size to system page size. tyr: - Use generated uAPI bindings for GpuInfo. - Replace manual sleeps with read_poll_timeout(). - Replace c_str!() with native Rust C-string literals. - Suppress warnings for unread fields. - Fix incorrect register name in print statement. nouveau: - fix big page table support races in PTE management - improve reclocking on tegra 186+ amdxdna: - fix suspend race conditions - improve handling of zero tail pointers - fix cu_idx overwritten during command setup - enable hardware context priority - remove NPU2 support - update message buffer allocation requirements - update firmware version check ast: - support imported cursor buffers - big endian fixes etnaviv: - add PPU flop reset support imagination: - add AM62P support - introduce hw version checks ivpu: - implement warm boot flow panfrost: - add bo sync ioctl - add GPU_PM_RT support for RZ/G3E SoC panthor: - add bo sync ioctl - enable timestamp propagation - scheduler robustness improvements - VM termination fixes - huge page support rockchip: - RK3368 HDMI Support - get rid of atomic_check fixups - RK3506 support - RK3576/RK3588 improved HPD handling rz-du: - RZ/V2H(P) MIPI-DSI Support v3d: - fix DMA segment size - convert to new logging helpers mediatek: - move DP training to hotplug thread - convert logging to new helpers - add support for HS speed DSI - Genio 510/700/1200-EVK, Radxa NIO-12L HDMI support atmel-hlcdc: - switch to drmm resource - support nomodeset - use newer helpers hisilicon: - fix various DP bugs renesas: - fix kernel panic on reboot exynos: - fix vidi_connection_ioctl using wrong device - fix vidi_connection deref user ptr - fix concurrency regression with vidi_context vkms: - add configfs support for display configuration drm for 7.0-rc1 core: - drop kgdb support - replace system workqueue with percpu - account for property blobs in memcg - MAINTAINERS updates for xe + buddy rust: - Fix documentation for Registration constructors. - Use pin_init::zeroed() for fops initialization. - Annotate DRM helpers with __rust_helper. - Improve safety documentation for gem::Object::new(). - Update AlwaysRefCounted imports. - mm: Prevent integer overflow in page_align(). atomic: - add drm_device pointer to drm_private_obj - introduce gamma/degamma LUT size check buddy: - fix free_trees memory leak - prevent BUG_ON bridge: - introduce drm_bridge_unplug/enter/exit - add connector argument to .hpd_notify - lots of recounting conversions - convert rockchip inno hdmi to bridge - lontium-lt9611uxc: switch to HDMI audio helpers - dw-hdmi-qp: add support for HPD-less setups - Algoltek AG6311 support panels: - edp: CSW MNE007QB3-1, AUO B140HAN06.4, AUO B140QAX01.H - st75751: add SPI support - Sitronix ST7920, Samsung LTL106HL02 - LG LH546WF1-ED01, HannStar HSD156J - BOE NV130WUM-T08 - Innolux G150XGE-L05 - Anbernic RG-DS dma-buf: - improve sg_table debugging - add tracepoints - call clear_page instead of memset - start to introduce cgroup memory accounting in heaps - remove sysfs stats dma-fence: - add new helpers dp: - mst: avoid oob access with vcpi=3D0 hdmi: - limit infoframes exposure to userspace gem: - reduce page table overhead with THP - fix leak in drm_gem_get_unmapped_area gpuvm: - API sanitation for rust bindings sched: - introduce new helpers panic: - report invalid panic modes - add kunit tests i915/xe display: - Expose sharpness only if num_scalers is >=3D 2 - Add initial Xe3P_LPD for NVL - BMG FBC support - Add MTL+ platforms to support dpll framework _ fix DIMM_S DRM decoding on ICL - Return to using AUX interrupts - PSR/Panel replay refactoring - use consolidation HDMI tables - Xe3_LPD CD2X dividier changes xe: - vfio: add vfio_pci for intel GPU - multi queue support - dynamic pagemaps and multi-device SVM - expose temp attribs in hwmon - NO_COMPRESSION bo flag - expose MERT OA unit - sysfs survivability refactor - SRIOV PF: add MERT support - enable SR-IOV VF migration - Enable I2C/NVM on Crescent Island - Xe3p page reclaimation support - introduce SRIOV scheduler groups - add SoC remappt support in system controller - insert compiler barriers in GuC code - define NVL GuC firmware - handle GT resume failure - fix drm scheduler layering violations - enable GSC loading and PXP for PTL - disable GuC Power DCC strategy on PTL - unregister drm device on probe error i915: - move to kernel standard fault injection - bump recommended GuC version for DG2 and MTL amdgpu: - SMUIO 15.x, PSP 15.x support - IH 6.1.1/7.1 support - MMHUB 3.4/4.2 support - GC 11.5.4/12.1 support - SDMA 6.1.4/7.1/7.11.4 support - JPEG 5.3 support - UserQ updates - GC 9 gfx queue reset support - TTM memory ops parallelization - convert legacy logging to new helpers - DC analog fixes amdkfd: - GC 11.5.4/12.1 suppport - SDMA 6.1.4/7.1 support - per context support - increase kfd process hash table - Reserved SDMA rework radeon: - convert legacy logging to new helpers - use devm for i2c adapters msm: - GPU - Document a612/RGMU dt bindings - UBWC 6.0 support (for A840 / Kaanapali) - a225 support - DPU: - Switched to use virtual planes by default - Fixed DSI CMD panels on DPU 3.x - Rewrote format handling to remove intermediate representation - Fixed watchdog on DPU 8.x+ - Fixed TE / Vsync source setting on DPU 8.x+ - Added 3D_Mux on SC7280 - Kaanapali platform support - Fixed UBWC register programming - Made RM reserve DSPP-enabled mixers for CRTCs with LMs. - Gamma correction support - DP: - Enabled support for eDP 1.4+ link rate tables - Fixed MDSS1 DP indices on SA8775P, making them to work - Fixed msm_dp_ctrl_config_msa() to work with LLVM 20 - DSI: - Documented QCS8300 as compatible with SA8775P - Kaanapali platform support - DSI PHY: - switched to divider_determine_rate() - MDP5: - Dropped support for MSM8998, SDM660 and SDM630 (switched over to DPU) - MDSS: - Kaanapali platform support - Fixed UBWC register programming nova-core: - Prepare for Turing support. This includes parsing and handling Turing-specific firmware headers and sections as well as a Turing Falcon HAL implementation. - Get rid of the Result<impl PinInit<T, E>> anti-pattern. - Relocate initializer-specific code into the appropriate initializer. - Use CStr::from_bytes_until_nul() to remove custom helpers. - Improve handling of unexpected firmware values. - Clean up redundant debug prints. - Replace c_str!() with native Rust C-string literals. - Update nova-core task list. nova: - Align GEM object size to system page size. tyr: - Use generated uAPI bindings for GpuInfo. - Replace manual sleeps with read_poll_timeout(). - Replace c_str!() with native Rust C-string literals. - Suppress warnings for unread fields. - Fix incorrect register name in print statement. nouveau: - fix big page table support races in PTE management - improve reclocking on tegra 186+ amdxdna: - fix suspend race conditions - improve handling of zero tail pointers - fix cu_idx overwritten during command setup - enable hardware context priority - remove NPU2 support - update message buffer allocation requirements - update firmware version check ast: - support imported cursor buffers - big endian fixes etnaviv: - add PPU flop reset support imagination: - add AM62P support - introduce hw version checks ivpu: - implement warm boot flow panfrost: - add bo sync ioctl - add GPU_PM_RT support for RZ/G3E SoC panthor: - add bo sync ioctl - enable timestamp propagation - scheduler robustness improvements - VM termination fixes - huge page support rockchip: - RK3368 HDMI Support - get rid of atomic_check fixups - RK3506 support - RK3576/RK3588 improved HPD handling rz-du: - RZ/V2H(P) MIPI-DSI Support v3d: - fix DMA segment size - convert to new logging helpers mediatek: - move DP training to hotplug thread - convert logging to new helpers - add support for HS speed DSI - Genio 510/700/1200-EVK, Radxa NIO-12L HDMI support atmel-hlcdc: - switch to drmm resource - support nomodeset - use newer helpers hisilicon: - fix various DP bugs renesas: - fix kernel panic on reboot exynos: - fix vidi_connection_ioctl using wrong device - fix vidi_connection deref user ptr - fix concurrency regression with vidi_context vkms: - add configfs support for display configuration 11 Feb 2026: firewire updates for 7.0-rc1 [+ + +] (C.C.ed to linux-sound, Jens Wiklander, and Jason Gunthorpe) - Refactor page allocation dedicated to 1394 OHCI IR/IT/AR DMA contexts - Allocate variable-sized buffer for isochronous context header - Including a small change in sound subsystem This subsystem has been a long-standing, single user of dma_alloc_pages(). Recently, TEE subsystem added usage in a commit ab09dd6d9201 ("tee: add tee_shm_alloc_dma_mem()"), and it still remains. I think the kernel API can be avoided in direct calls and encapsulated for the convenience of DMA mapping layer developers. Thanks Takashi Sakamoto (on a national holiday in Japan) --- firewire updates for v7.0 This update includes the following changes. - Refactor page allocation dedicated to 1394 OHCI IR/IT/AR DMA contexts Although 1394 OHCI specification does not impose any restriction on the memory size dedicated to these DMA contexts, 1394 OHCI PCI driver allocates pages for convenience when mapping them into either kernel space or userspace VMA. The driver previously used dma_alloc_pages() for both page allocation and mapping creation, even though this kernel API is rarely used. Following discussions questioning the page-oriented kernel API in the DMA layer, the driver has been refactored to avoid using this API. In addition, the use of private members in the allocated pages has been removed following long-standing concern. - Allocate variable-sized buffer for isochronous context header 1394 OHCI PCI driver previously allocated a single page for isochronous context header. As a result, the buffer size for the header was fixed to PAGE_SIZE, which imposed a limitation on IEC 61883-1/6 packet streaming engine. Consequently, the ALSA PCM devices provided by drivers for audio and music units in IEEE 1394 bus were constrained in the maximum size of buffer period (64 ms in most cases). This limitation is resolved by dynamically allocating the header buffer with an arbitrary size. 10 Feb 2026: PCI changes for v7.0 [+ + +] Enumeration: - Don't try to enable Extended Tags on VFs since that bit is Reserved and causes misleading log messages (Håkon Bugge) - Initialize Endpoint Read Completion Boundary to match Root Port, regardless of ACPI _HPX (Håkon Bugge) - Apply _HPX PCIe Setting Record only to AER configuration, and only when OS owns PCIe hotplug but not AER, to avoid clobbering Extended Tag and Relaxed Ordering settings (Håkon Bugge) Resource management: - Move CardBus code to setup-cardbus.c and only build it when CONFIG_CARDBUS is set (Ilpo Järvinen) - Fix bridge window alignment with optional resources, where additional alignment requirement was previously lost (Ilpo Järvinen) - Stop over-estimating bridge window size since they are now assigned without any gaps between them (Ilpo Järvinen) - Increase resource MAX_IORES_LEVEL to avoid /proc/iomem flattening for nested bridges and endpoints (Ilpo Järvinen) - Add pbus_mem_size_optional() to handle sizes of optional resources (SR-IOV VF BARs, expansion ROMs, bridge windows) (Ilpo Järvinen) - Don't claim disabled bridge windows to avoid spurious claim failures (Ilpo Järvinen) Driver binding: - Fix device reference leak in pcie_port_remove_service() (Uwe Kleine-König) - Move pcie_port_bus_match() and pcie_port_bus_type to PCIe-specific portdrv.c (Uwe Kleine-König) - Convert portdrv to use pcie_port_bus_type.probe() and .remove() callbacks so .probe() and .remove() can eventually be removed from struct device_driver (Uwe Kleine-König) Error handling: - Clear stale errors on reporting agents upon probe so they don't look like recent errors (Lukas Wunner) - Add generic RAS tracepoint for hotplug events (Shuai Xue) - Add RAS tracepoint for link speed changes (Shuai Xue) Power management: - Avoid redundant delay on transition from D3hot to D3cold if the device was already in D3hot (Brian Norris) - Prevent runtime suspend until devices are fully initialized to avoid saving incompletely configured device state (Brian Norris) Power control: - Add power_on/off callbacks with generic signature to pwrseq, tc9563, and slot drivers so they can be used by pwrctrl core (Manivannan Sadhasivam) - Add PCIe M.2 connector support to the slot pwrctrl driver (Manivannan Sadhasivam) - Switch to pwrctrl interfaces to create, destroy, and power on/off devices, calling them from host controller drivers instead of the PCI core (Manivannan Sadhasivam) - Drop qcom .assert_perst() callbacks since this is now done by the controller driver instead of the pwrctrl driver (Manivannan Sadhasivam) Virtualization: - Remove an incorrect unlock in pci_slot_trylock() error handling (Jinhui Guo) - Lock the bridge device for slot reset (Keith Busch) - Enable ACS after IOMMU configuration on OF platforms so ACS is enabled an all devices; previously the first device enumerated (typically a Root Port) didn't have ACS enabled (Manivannan Sadhasivam) - Disable ACS Source Validation for IDT 0x80b5 and 0x8090 switches to work around hardware erratum; previously ACS SV was only temporarily disabled, which worked for enumeration but not after reset (Manivannan Sadhasivam) Peer-to-peer DMA: - Release per-CPU pgmap ref when vm_insert_page() fails to avoid hang when removing the PCI device (Hou Tao) - Remove incorrect p2pmem_alloc_mmap() warning about page refcount (Hou Tao) Endpoint framework: - Add configfs sub-groups synchronously to avoid NULL pointer dereference when racing with removal (Liu Song) - Fix swapped parameters in pci_{primary/secondary}_epc_epf_unlink() functions (Manikanta Maddireddy) ASPEED PCIe controller driver: - Add ASPEED Root Complex DT binding and driver (Jacky Chou) Freescale i.MX6 PCIe controller driver: - Add DT binding and driver support for an optional external refclock in addition to the refclock from the internal PLL (Richard Zhu) - Fix CLKREQ# control so host asserts it during enumeration and Endpoints can use it afterwards to exit the L1.2 link state (Richard Zhu) NVIDIA Tegra PCIe controller driver: - Export irq_domain_free_irqs() to allow PCI/MSI drivers that tear down MSI domains to be built as modules (Aaron Kling) - Allow pci-tegra to be built as a module (Aaron Kling) NVIDIA Tegra194 PCIe controller driver: - Relax Kconfig so tegra194 can be built for platforms beyond Tegra194 (Vidya Sagar) Qualcomm PCIe controller driver: - Merge SC8180x DT binding into SM8150 (Krzysztof Kozlowski) - Move SDX55, SDM845, QCS404, IPQ5018, IPQ6018, IPQ8074 Gen3, IPQ8074, IPQ4019, IPQ9574, APQ8064, MSM8996, APQ8084 to dedicated schema (Krzysztof Kozlowski) - Add DT binding and driver support for SA8255p Endpoint being configured by firmware (Mrinmay Sarkar) - Parse PERST# from all PCIe bridge nodes for future platforms that will have PERST# in Switch Downstream Ports as well as in Root Ports (Manivannan Sadhasivam) Renesas RZ/G3S PCIe controller driver: - Use pci_generic_config_write() since the writability provided by the custom wrapper is unnecessary (Claudiu Beznea) SOPHGO PCIe controller driver: - Disable ASPM L0s and L1 on Sophgo 2044 PCIe Root Ports (Inochi Amaoto) Synopsys DesignWare PCIe controller driver: - Extend PCI_FIND_NEXT_CAP() and PCI_FIND_NEXT_EXT_CAP() to return a pointer to the preceding Capability, to allow removal of Capabilities that are advertised but not fully implemented (Qiang Yu) - Remove MSI and MSI-X Capabilities in platforms that can't support them, so the PCI core automatically falls back to INTx (Qiang Yu) - Add ASPM L1.1 and L1.2 Substates context to debugfs ltssm_status for drivers that support this (Shawn Lin) - Skip PME_Turn_Off broadcast and L2/L3 transition during suspend if link is not up to avoid an unnecessary timeout (Manivannan Sadhasivam) - Revert dw-rockchip, qcom, and DWC core changes that used link-up IRQs to trigger enumeration instead of waiting for link to be up because the PCI core doesn't allocate bus number space for hierarchies that might be attached (Niklas Cassel) - Make endpoint iATU entry for MSI permanent instead of programming it dynamically, which is slow and racy with respect to other concurrent traffic, e.g., eDMA (Koichiro Den) - Use iMSI-RX MSI target address when possible to fix endpoints using 32-bit MSI (Shawn Lin) - Allow DWC host controller driver probe to continue if device is not found or found but inactive; only fail when there's an error with the link (Manivannan Sadhasivam) - For controllers like NXP i.MX6QP and i.MX7D, where LTSSM registers are not accessible after PME_Turn_Off, simply wait 10ms instead of polling for L2/L3 Ready (Richard Zhu) - Use multiple iATU entries to map large bridge windows and DMA ranges when necessary instead of failing (Samuel Holland) - Add EPC dynamic_inbound_mapping feature bit for Endpoint Controllers that can update BAR inbound address translation without requiring EPF driver to clear/reset the BAR first, and advertise it for DWC-based Endpoints (Koichiro Den) - Add EPC subrange_mapping feature bit for Endpoint Controllers that can map multiple independent inbound regions in a single BAR, implement subrange mapping, advertise it for DWC-based Endpoints, and add Endpoint selftests for it (Koichiro Den) - Make resizable BARs work for Endpoint multi-PF configurations; previously it only worked for PF 0 (Aksh Garg) - Fix Endpoint non-PF 0 support for BAR configuration, ATU mappings, and Address Match Mode (Aksh Garg) - Set up iATU when ECAM is enabled; previously IO and MEM outbound windows weren't programmed, and ECAM-related iATU entries weren't restored after suspend/resume, so config accesses failed (Krishna Chaitanya Chundru) Miscellaneous: - Use system_percpu_wq and WQ_PERCPU to explicitly request per-CPU work so WQ_UNBOUND can eventually be removed (Marco Crivellari) 10 Feb 2026: media updates [+ + +] a/v7.0-1 For: Key changes - PCI=E2=80=AF:=E2=80=AFmgb4 =E2=80=93 Add support for GMSL1 and GMSL=E2=80= =91coax modules =20 - Add driver for TI=E2=80=AFVIP; - AV1 =E2=80=93 first kernel support (pixel=E2=80=91format, decoder, transc= oder) =20 - Three new camera=E2=80=91sensor drivers (os05b10, s5k3m5, s5kjn1) =20 - Synopsys CSI=E2=80=912 receiver driver =20 - Verisilicon & rkvdec =E2=80=93 major fixes and enhancements =20 - PCI=E2=80=AFmgb4 =E2=80=93 support for GMSL=E2=80=91coax modules - IPU6 (and 7) fixes and preparation for metadata; - omap3isp: v4l2-compliance updates; - dvb/vb2: fix DVB streaming, drop wait_prepare/finish. =20 Regards, Mauro --- [GIT PULL for v7.0] media updates 10 Feb 2026: Fwd: asm-generic header updates for 7.0 [+ + +] Forgot to Cc lkml From: Arnd Bergmann <arnd@arndb.de> To: Linus Torvalds <torvalds@linux-foundation.org> Cc: Linux-Arch <linux-arch@vger.kernel.org>, linux-api@vger.kernel.org, = "Thomas Wei=C3=9Fschuh" <thomas.weissschuh@linutronix.de> Subject: [GIT PULL] asm-generic header updates for 7.0 Date: Tuesday, February 10, 2026 18:02 asm-generic header updates for 7.0 A series from Thomas Wei=C3=9Fschuh cleans up the UAPI header files to no longer contain any references to Kconfig symbols, as these make no sense in userspace. The build-time check for these was originally added by Sam Ravnborg in linux-2.6.28, and a later version started warning for all newly added CONFIG_* checks here but kept a list of known exceptions. Wi= th the last exceptions gone from that list, the warning is now unconditional in 'make headers_install'. John Garry contributed a cleanup of cpumask_of_node(). 10 Feb 2026: soc updates for 7.0 [+ + +] The 7.0 merge window seems fairly quiet for the soc tree, with only 757 non-merge changesets throughout the tree, and three quarters of those being arm64 devicetree updates. A few new SoC models got merged, but fewer new machines normal. The most active developers this time by number of patches are 37 Rob Herring (Arm) 35 Krzysztof Kozlowski 26 Lad Prabhakar 25 AngeloGioacchino Del Regno 18 Luca Weiss 15 Vladimir Zapolskiy 15 Heiko Stuebner 15 Guodong Xu 15 Cosmin Tanislav 15 Alexander Stein 14 Peng Fan 14 Alain Volmat 12 Frank Li 11 Patrice Chotard 11 Francesco Dolcini 11 Dmitry Baryshkov 10 Stefano Radaelli and this is the overall dirstat: 0.5% Documentation/devicetree/bindings/arm/ 0.3% Documentation/devicetree/bindings/mtd/ 0.5% Documentation/devicetree/bindings/riscv/ 0.5% Documentation/devicetree/bindings/ 3.2% arch/arm/boot/dts/aspeed/ 0.8% arch/arm/boot/dts/microchip/ 0.6% arch/arm/boot/dts/nxp/imx/ 0.2% arch/arm/boot/dts/nxp/lpc/ 0.5% arch/arm/boot/dts/qcom/ 0.5% arch/arm/boot/dts/renesas/ 0.4% arch/arm/boot/dts/st/ 0.6% arch/arm/boot/dts/ti/omap/ 0.2% arch/arm/boot/dts/ 0.2% arch/arm64/boot/dts/allwinner/ 1.3% arch/arm64/boot/dts/amlogic/ 3.2% arch/arm64/boot/dts/apple/ 0.4% arch/arm64/boot/dts/broadcom/northstar2/ 0.8% arch/arm64/boot/dts/broadcom/stingray/ 0.3% arch/arm64/boot/dts/cavium/ 22.5% arch/arm64/boot/dts/freescale/ 0.5% arch/arm64/boot/dts/intel/ 0.4% arch/arm64/boot/dts/marvell/ 4.3% arch/arm64/boot/dts/mediatek/ 0.2% arch/arm64/boot/dts/nvidia/ 31.6% arch/arm64/boot/dts/qcom/ 0.8% arch/arm64/boot/dts/realtek/ 9.5% arch/arm64/boot/dts/renesas/ 7.1% arch/arm64/boot/dts/rockchip/ 0.3% arch/arm64/boot/dts/st/ 1.0% arch/arm64/boot/dts/ti/ 0.4% arch/arm64/boot/dts/ 2.0% arch/riscv/boot/dts/sophgo/ 2.4% arch/riscv/boot/dts/spacemit/ 0.2% arch/riscv/boot/dts/ 775 files changed, 52313 insertions(+), 5630 deletions(-) 10 Feb 2026: NFSD changes for the v7.0 merge window [+ + +] NFSD 7.0 Release Notes Neil Brown and Jeff Layton contributed a dynamic thread pool sizing mechanism for NFSD. The sunrpc layer now tracks minimum and maximum thread counts per pool, and NFSD adjusts running thread counts based on workload: idle threads exit after a timeout when the pool exceeds its minimum, and new threads spawn automatically when all threads are busy. Administrators control this behavior via the nfsdctl netlink interface. Rick Macklem, FreeBSD NFS maintainer, generously contributed server- side support for the POSIX ACL extension to NFSv4, as specified in draft-ietf-nfsv4-posix-acls. This extension allows NFSv4 clients to get and set POSIX access and default ACLs using native NFSv4 operations, eliminating the need for sideband protocols. The feature is gated by a Kconfig option since the IETF draft has not yet been ratified. Chuck Lever delivered numerous improvements to the xdrgen tool. Error reporting now covers parsing, AST transformation, and invalid declarations. Generated enum decoders validate incoming values against valid enumerator lists. New features include pass-through line support for embedding C directives in XDR specifications, 16-bit integer types, and program number definitions. Several code generation issues were also addressed. When an administrator revokes NFSv4 state for a filesystem via the unlock_fs interface, ongoing async COPY operations referencing that filesystem are now cancelled, with CB_OFFLOAD callbacks notifying affected clients. The remaining patches in this pull request are clean-ups and minor optimizations. Sincere thanks to all contributors, reviewers, testers, and bug reporters who participated in the v7.0 NFSD development cycle. 10 Feb 2026: sound updates for 7.0-rc1 [+ + +] please pull sound fixes for v7.0-rc1 from: The topmost commit is 5fafe02a7ea954b5605d69c5a8621fb148f0fc27 sound updates for 7.0-rc1 It's been relatively calm for a new era; majority of changes are for ASoC, mostly device-specific changes, while there are a bit of cleanups in core stuff. A few SPI API and regmap updates are included to be used by sound drivers, too. Core: - A few trivial cleanups about __free() and runtime PM macros - Convert to new snd_seq_bus binding ASoC: - Generic SDCA support for reporting jack events - Continuing platform support, cleanup and feature improvements for AMD, Intel, Qualcomm and SOF code - Platform description improvements for the Cirrus drivers - Support for NXP i.MX952, Realtek RT1320 and RT5575, and Sophogo CV1800B HD- and USB-audio: - Many quirks as usual 10 Feb 2026: integrity: subsystem updates for v7.0 [+ + +] There are just two bug fixes: IMA's detecting scripts (bprm_creds_for_exec)= ,=20 calculating the EVM HMAC. thanks, Mimi integrity-v7.0 10 Feb 2026: x86/sev for v7.0-rc1 [+ + +] please pull the x86/sev lineup for v7.0-rc1. Thx. --- - Make the SEV internal header really internal and carve out the SVSM-specific code into a separate compilation unit, along with other cleanups and fixups. 10 Feb 2026: x86/paravirt for v7.0-rc1 [+ + +] please pull the x86/paravirt lineup for v7.0-rc1. Thx. --- - A nice cleanup to the paravirt code containing a unification of the paravirt clock interface, taming the include hell by splitting the pv_ops structure and removing of a bunch of obsolete code. Work by Juergen Gross. 10 Feb 2026: x86/microcode for v7.0-rc1 [+ + +] please pull a x86/microcode change for v7.0-rc1. Thx. --- - Since debugging the microcode loader makes sense on baremetal too (it was used in a guest only until now), extend it to be able to do that too. 10 Feb 2026: IOMMU Updates for Linux v7.0 [+ + +] Please note that the patch from the fixes branch included in this pull request is already part of v6.19 as I did not re-create the merge commit on-top of v6.19. With that in mind: IOMMU Updates for Linux v7.0 Including: - Core changes: - Rust bindings for IO-pgtable code - IOMMU page allocation debugging support - Disable ATS during PCI resets - Intel VT-d changes: - Skip dev-iotlb flush for inaccessible PCIe device - Flush cache for PASID table before using it - Use right invalidation method for SVA and NESTED domains - Ensure atomicity in context and PASID entry updates - AMD-Vi changes: - Support for nested translations - Other minor improvements - ARM-SMMU-v2 changes: - Configure SoC-specific prefetcher settings for Qualcomm's "MDSS". - ARM-SMMU-v3 changes: - Improve CMDQ locking fairness for pathetically small queue sizes. - Remove tracking of the IAS as this is only relevant for AArch32 and was causing C_BAD_STE errors. - Add device-tree support for NVIDIA's CMDQV extension. - Allow some hitless transitions for the 'MEV' and 'EATS' STE fields. - Don't disable ATS for nested S1-bypass nested domains. - Additions to the kunit selftests. 10 Feb 2026: gpio updates for v7.0-rc1 [+ + +] Please consider pulling the following set of updates for the GPIO subsystem for the v7.0 cycle. There are two new drivers and some changes to GPIO core but mostly just GPIO driver updates across a wide array of files, adding support for new models as well as various refactoring changes. Nothing controversial and everything has spent a good measure of time in linux-next. The merges are: an immutable branch from the MFD tree, another immutable branch between the GPIO and reset trees and a pull of upstream GPIO fixes from v6.19-rc5. Details are in the signed tag as usual. Thanks, Bartosz gpio updates for v7.0-rc1 GPIOLIB core: - shrink the GPIO bus driver stub code - rework software node support for "undefined" software nodes - provide and use devm_fwnode_gpiod_get_optional() - only compile the OF quirk for MT2701 when needed New drivers: - add the GPIO driver for ROHM bd72720 - add the gpio-line-mux driver providing 1-to-many mapping for a single real GPIO Driver changes: - refactor gpio-pca9570: use lock guard, add missing headers, use devres consistently - add support for a new model (G7 Aspeed sgpiom) to the aspeed-sgpio driver along with some prerequisite refactoring - use device_get_match_data() where applicable and save some lines - add support for more models to gpio-cadence - add the compatible property to reset-gpio and use it in shared GPIO management - drop unnecessary use of irqd_get_trigger_type() in gpio-max77759 - add support for a new variant to gpio-pca953x - extend build coverage with COMPILE_TEST for more drivers - constify configfs structures in gpio-sim and gpio-virtuser - add support for the K3 SoC to gpio-spacemit - implement the missing .get_direction() callback in gpio-max77620 - add support for Tegra264 to gpio-tegra186 - drop unneeded MODULE_ALIAS() from gpio-menz127 DT bindings: - document support for the opencores GPIO controller in gpio-mmio - document new variants for gpio-pca953x Documentation: - extensively describe interrupt source detection for gpio-pca953x and add more models to the list of supported variants 10 Feb 2026: power sequencing updates for v7.0-rc1 [+ + +] subsystem for the v7.0 cycle. There's one new driver and support for more models added to the existing qcom-wcn driver as well as some minor tweaks and fixes. Details are in the signed tag. Thanks, Bartosz power sequencing updates for v7.0-rc1 New drivers: - add the power sequencing driver for PCIe M.2 connectors Driver improvements: - use device_get_match_data() where applicable - add support for the WCN39xx family of models to pwrseq-qcom-wcn Fixes: - fix a locking issue in pwrseq core - fix retval check in pwrseq-qcom-wcn 10 Feb 2026: slab updates for 7.0 [+ + +] please pull the latest slab updates from: Thanks, Vlastimil - The percpu sheaves caching layer was introduced as opt-in in 6.18 and now we enable it for all caches and remove the previous cpu (partial) slab caching mechanism. Besides the lower locking overhead and much more likely fastpath when freeing, this removes the rather complicated code related to the cpu slab lockless fastpaths (using this_cpu_try_cmpxchg128/64) and all its complications for PREEMPT_RT or kmalloc_nolock(). The lockless slab freelist+counters update operation using try_cmpxchg128/64 remains and is crucial for freeing remote NUMA objects, and to allow flushing objects from sheaves to slabs mostly without the node list_lock. (Vlastimil Babka) - Eliminate slabobj_ext metadata overhead when possible. Instead of using kmalloc() to allocate the array for memcg and/or allocation profiling tag pointers, use leftover space in a slab or per-object padding due to alignment. (Harry Yoo) - Various followup improvements to the above. (Hao Li) slab updates for 7.0 10 Feb 2026: x86/cache for v7.0-rc1 [+ + +] please pull the x86/cache lineup for v7.0-rc1. Thx. --- - Extend the resctrl machinery to support telemetry monitoring on Intel. The practical usage of this is being able to tell how much energy or how much work can be attributed to a group of tasks tracked under a single idenitifier. Prepend this work with proper refactoring of resctrl domains handling code. Work by Tony Luck 9 Feb 2026: Kbuild / Kconfig updates for 7.0 [+ + +] one trivial conflict against the Documentation tree: https://lore.kernel.org/aXeZT4VGXCf3a6CF@sirena.org.uk/ Please let me know if there are any issues. Cheers, Nathan Kbuild/Kconfig updates for 7.0 Kbuild changes 9 Feb 2026: x86/bugs for v7.0-rc1 [+ + +] please pull a x86/bugs change for v7.0-rc1. Thx. --- - Add EPERM to the possible PR_SET_SPECULATION_CTRL pr_ctl() error codes to "legitimize" it 9 Feb 2026: x86/alternatives for v7.0-rc1 [+ + +] please pull the x86/alternatives lineup for v7.0-rc1. Thx. --- - Reorganize the alternatives patching mechanism to patch a single location only once instead of multiple times as it was the case with the two or three alternative options macros 9 Feb 2026: Smack patches for 7.0 [+ + +] Here is the Smack pull request for v7.0. There's nothing exciting. Two improvements to the code for setting the CIPSO Domain Of Interpretation (DOI), a seldom used feature, and a formatting change. All tested and included in next for some time. Smack fixes for DOI specification. 9 Feb 2026: x86/misc for 7.0-rc1 [+ + +] The IPv6 patch in here surprised me in a couple of ways. First, the function it inlines is able to eat a lot more CPU time than I would have expected. Second, the inlining does not seem to bloat the kernel, at least in the configs folks have tested. -- * Inline x86-specific IPv6 checksum helper * Update IOMMU docs to use stable identifiers * Print unhashed pointers on fatal stack overflows 9 Feb 2026: x86/entry for 7.0-rc1 [+ + +] composed of a set of long overdue VDSO cleanups. They makes the VDSO build much more logical and zap quite a bit of old cruft. It also results in a coveted net-code-removal diffstat. There have been a few bumps along the way with this series, thus the bug fixes on top. But nothing too scary. -- * VDSO rework and cleanups 09 Feb 2026: Documentation for 7.0 [+ + +] A slightly calmer cycle for docs this time around, though there is still a fair amount going on, including: - Some signs of life on the long-moribund Japanese translation - Documentation on policies around the use of generative tools for patch submissions, and a separate document intended for consumption by generative tools. - The completion of the move of the documentation tools to tools/docs. For now we're leaving a /scripts/kernel-doc symlink behind to avoid breaking scripts. - Ongoing build-system work includes the incorporation of documentation in Python code, better support for documenting variables, and lots of improvements and fixes. - Automatic linking of man-page references -- cat(1), for example -- to the online pages in the HTML build. ...and the usual array of typo fixes and such. Additional notes: The removal of a bunch of indexing boilerplate has created a few merge conflicts with various trees; the resolution is generally to take both sides for every index.rst collision. The kernel.org tree is new, but how I plan to do things in the future; hopefully it's all set up right. If all else fails, the git.lwn.net tree is still current as well: git://git.lwn.net/linux.git tags/docs-7.0 09 Feb 2026: sched_ext: Changes for v6.20 [+ + +] sched_ext: Changes for v6.20 - Move C example schedulers back from the external scx repo to tools/sched_ext as the authoritative source. scx_userland and scx_pair are returning while scx_sdt (BPF arena-based task data management) is new. These schedulers will be dropped from the external repo. - Improve error reporting by adding scx_bpf_error() calls when DSQ creation fails across all in-tree schedulers. - Avoid redundant irq_work_queue() calls in destroy_dsq() by only queueing when llist_add() indicates an empty list. - Fix flaky init_enable_count selftest by properly synchronizing pre-forked children using a pipe instead of sleep(). 9 Feb 2026: kmalloc_obj branch for v7.0-rc1 [+ + +] to carry this tree as a distinct branch, so here it is. Introduces the kmalloc_obj* family of APIs for switching to type-based kmalloc allocations, away from purely size-based allocations. Discussed on lkml, with you, and at Linux Plumbers. It's been in -next for the entire dev cycle. Before you cut -rc1, I'd like to send you the treewide change (generated from the Coccinelle script in this PR), which mechanically converts almost 20k callsites from kmalloc* to kmalloc_obj*: 8007 files changed, 19980 insertions(+), 20838 deletions(-) This change needed fixes for mismatched types (since now the return type from allocations is a pointer to the requested type, not "void *"), and I've been fixing these over the last 4 releases. For those, see: $ git log --author Kees --grep "preparation for making the kmalloc" These fixes have mostly been trivial mismatches with const qualifiers or accidentally identical sizes (e.g. same object size: "struct kvec *" vs "struct iovec *", or differing pointer pointers: "struct vkms_plane_state **" vs "struct drm_plane **"), but I did catch one case of too-small allocation (the fix is in the works). While working through these fixes it became clear the integral type allocations needed to be excluded from the mechanical treewide change since many of those needed case-by-case examination for type correctness. Much of the Coccinelle script, therefore, is excluding those. I've had the treewide change getting scanned by 0-day for the entire dev cycle, and a few stragglers have popped up (recently introduced type mismatches). I've sent patches for these already, but if they don't get picked up for -rc1, I'll add them to my treewide change branch before I send you that PR. I've also been doing my own allmodconfig builds across architectures to see if I can catch anything 0-day hasn't found. Note that the Coccinelle script commit has a commit date from today since I added wchar_t to the exclusion list today after finding an instance of that in s390 over the weekend. If you'd rather handle the treewide change differently, please let me know what you'd like to see! :) Thanks! -Kees kmalloc_obj branch for v7.0-rc1 - Introduce kmalloc_obj*() family of type-based allocator APIs - checkpatch: Suggest kmalloc_obj family for sizeof allocations - coccinelle: Add kmalloc_objs conversion script 09 Feb 2026: cgroup changes for v6.20 [+ + +] cgroup: Changes for v6.20 - cpuset changes: - Continue separating v1 and v2 implementations by moving more v1-specific logic into cpuset-v1.c. - Improve partition handling. Sibling partitions are no longer invalidated on cpuset.cpus conflict, cpuset.cpus changes no longer fail in v2, and effective_xcpus computation is made consistent. - Fix partition effective CPUs overlap that caused a warning on cpuset removal when sibling partitions shared CPUs. - Increase the maximum cgroup subsystem count from 16 to 32 to accommodate future subsystem additions. - Misc cleanups and selftest improvements including switching to css_is_online() helper, removing dead code and stale documentation references, using lockdep_assert_cpuset_lock_held() consistently, and adding polling helpers for asynchronously updated cgroup statistics. 09 Feb 2026: workqueue changes for v6.20 [+ + +] workqueue: Changes for v6.20 - Rework the rescuer to process work items one-by-one instead of slurping all pending work items in a single pass. As there is only one rescuer per workqueue, a single long-blocking work item could cause high latency for all tasks queued behind it, even after memory pressure is relieved and regular kworkers become available to service them. - Add CONFIG_BOOTPARAM_WQ_STALL_PANIC build-time option and workqueue.panic_on_stall_time parameter for time-based stall panic, giving systems more control over workqueue stall handling. - Replace BUG_ON() with panic() in the stall panic path for clearer intent and more informative output. 9 Feb 2026: hardening updates for v7.0-rc1 [+ + +] and various scattered annotations and flex array warning fixes that we reviewed by unlanded in other trees. Introduces new annotation for expanding counted_by to pointer members, now that compiler behavior between GCC and Clang has been normalized. Thanks! -Kees hardening updates for v7.0-rc1 - Various missed __counted_by annotations (Thorsten Blum) - Various missed -Wflex-array-member-not-at-end fixes (Gustavo A. R. Silva) - Avoid leftover tempfiles for interrupted compile-time FORTIFY tests (Nicolas Schier) - Remove non-existant CONFIG_UBSAN_REPORT_FULL from docs (Stefan Wiehler) - fortify: Use C arithmetic not FIELD_xxx() in FORTIFY_REASON defines (David Laight) - Add __counted_by_ptr attribute, tests, and first user (Bill Wendling, Kees Cook) - Update MAINTAINERS file to make hardening section not include pstore 9 Feb 2026: pstore updates for v7.0-rc1 [+ + +] Thanks! -Kees pstore updates for v7.0-rc1 - Catch unlikely NULL return from vmap() (Ruipeng Qi) - Handle corner case of past incomplete buffer fills causing heap overflow (Sai Ritvik Tanksalkar) 9 Feb 2026: execve update for v7.0-rc1 [+ + +] tests from the execve unit tests. Thanks! -Kees execve update for v7.0-rc1 - fs/tests: exec: drop duplicate bprm_stack_limits test vectors (Titouan Ameline de Cadeville) 9 Feb 2026: dlm updates for 7.0 [+ + +] This set includes several minor code cleanups, and one notable fix for recovery of in-progress lock conversions which would lead to a the convert operation never completing. Thanks, Dave 09 Feb 2026: regmap updates for v6.20 [+ + +] regmap: Updates for v7.0 The main change here is the implementation of a mechanism for generating register defaults via a callback rather than with a table in the driver. This is useful for devices where there are large ranges of registers with the same or generateable values, it allows us to have a small amount of code instead of a larger amount of default data. 09 Feb 2026: regulator updates for v6.20 [+ + +] regulator: Updates for v7.0 There's a bunch of new drivers here, plus a lot of hardening for the supply resolution code which allow us to support systems where we have two PMICs each of which has regulators supplied by the other. This did work a long time ago but got broken as part of improved integration with the device model, it's fairly rare so nobody noticed. - Improvements for supply handling from André Draszik to allow systems with two PMICs with supply/consumer relationships in both directions to instantiate. - New drivers for Maxim MAX776750, Realtek RT8902, Samsung S2MPG11, Texas Instuments TPS65185. This have also pulls in some MFD updates which are build dependencies for the Samsung S2MPG11 support. 09 Feb 2026: SPI updates for v6.20 [+ + +] spi: Updates for v7.0 The highlight here is that David Lechner has added support for multi-lane SPI devices. Unlike the existing dual/quad SPI support this is for devices (typically ADCs/DACs) which support multiple independent data streams over multiple data lanes, instead of sending one data stream N times as fast they simultaneously transfer N different data streams. This is very similar to the case where multiple devices are grouped together but in this case it's a single device in a way that's visible to software. Otherwise there's been quite a bit of work on existing drivers, both cleanup and feature improvement, and a reasonable collection of new drivers. - Support for multi-lane SPI devices. - Preparatory work for some memory mapped flash improvements that will happen in the MTD subsystem. - Several conversions to fwnode APIs. - A bunch of cleanup and hardening work on the ST drivers. - Support for DMA mode on Renesas RZV2H and i.MX target mode. - Support for ATCSPI200, AXIADO AX300, NXP XPI and Renesas RZ/N1. 9 Feb 2026: Modules changes for v7.0-rc1 [+ + +] Modules changes for v7.0-rc1 Module signing: - Remove SHA-1 support for signing modules. SHA-1 is no longer considered secure for signatures due to vulnerabilities that can lead to hash collisions. None of the major distributions use SHA-1 anymore, and the kernel has defaulted to SHA-512 since v6.11. Note that loading SHA-1 signed modules is still supported. - Update scripts/sign-file to use only the OpenSSL CMS API for signing. As SHA-1 support is gone, we can drop the legacy PKCS#7 API which was limited to SHA-1. This also cleans up support for legacy OpenSSL versions. Cleanups and fixes: - Use system_dfl_wq instead of the per-cpu system_wq following the ongoing workqueue API refactoring. - Avoid open-coded kvrealloc() in module decompression logic by using the standard helper. - Improve section annotations by replacing the custom __modinit with __init_or_module and removing several unused __INIT*_OR_MODULE macros. - Fix kernel-doc warnings in include/linux/moduleparam.h. - Ensure set_module_sig_enforced is only declared when module signing is enabled. - Fix gendwarfksyms build failures on 32-bit hosts. MAINTAINERS: - Update the module subsystem entry to reflect the maintainer rotation and update the git repository link. The changes have been soaking in linux-next since -rc2. Note that like Daniel mentioned in the previous pull request [1], we rotate maintainership every 6 months, and I will be handling the module subsystem pull requests for the first half of this year. Link: https://lore.kernel.org/r/20251203234840.3720-1-da.gomez@kernel.org [1] Signed-off-by: Sami Tolvanen <samitolvanen@google.com> 9 Feb 2026: arm64 updates for 7.0 [+ + +] normal, probably due to LPC & Christmas/New Year meaning that a few series weren't quite ready or reviewed in time. It's still useful across the board, despite the only real feature being support for the LS64 feature enabling 64-byte atomic accesses to endpoints that support it. There's the usual summary in the tag. Logistics-wise, we ran into a couple of small conflicts in -next. The first one [1] is against a KVM/ARM fix in your tree (86364832ba6f ("KVM: arm64: Don't blindly set set PSTATE.PAN on guest exit") which clashes with the removal of CONFIG_ARM64_PAN in arch/arm64/kvm/hyp/entry.S. The right fix is to take what we have here so that the line becomes: ALTERNATIVE(nop, SET_PSTATE_PAN(1), ARM64_HAS_PAN) kvm_pan_patch_el2_entry() is then unused but is removed by the kvmarm tree (who share the for-next/cpufeature branch). Marc and I will do a sweep at -rc1 to remove anything left over. The second conflict [2] is a trivial MAINTAINERS conflict where Catalin and I have been added to the "ACPI FOR ARM64 (ACPI/arm64)" entry but Sudeep has changed his email address in the context. The only unusual part of the diffstat is the single-line removal of the unused 'SYSCALL_MAX_ARGS' definition from arch/xtensa, which was part of a series cleaning up our syscall_get_arguments() implementation and the maintainers were on cc. Will [1] https://lore.kernel.org/r/86h5s8bca4.wl-maz@kernel.org [2] https://lore.kernel.org/r/aXtqo7r3bSDMNBek@sirena.org.uk --->8 arm64 updates for 7.0 ACPI: - Add interrupt signalling support to the AGDI handler. - Add Catalin and myself to the arm64 ACPI MAINTAINERS entry. CPU features: - Drop Kconfig options for PAN and LSE (these are detected at runtime). - Add support for 64-byte single-copy atomic instructions (LS64/LS64V). - Reduce MTE overhead when executing in the kernel on Ampere CPUs. - Ensure POR_EL0 value exposed via ptrace is up-to-date. - Fix error handling on GCS allocation failure. CPU frequency: - Add CPU hotplug support to the FIE setup in the AMU driver. Entry code: - Minor optimisations and cleanups to the syscall entry path. - Preparatory rework for moving to the generic syscall entry code. Hardware errata: - Work around Spectre-BHB on TSV110 processors. - Work around broken CMO propagation on some systems with the SI-L1 interconnect. Miscellaneous: - Disable branch profiling for arch/arm64/ to avoid issues with noinstr. - Minor fixes and cleanups (kexec + ubsan, WARN_ONCE() instead of WARN_ON(), reduction of boolean expression). - Fix custom __READ_ONCE() implementation for LTO builds when operating on non-atomic types. Perf and PMUs: - Support for CMN-600AE. - Be stricter about supported hardware in the CMN driver. - Support for DSU-110 and DSU-120. - Support for the cycles event in the DSU driver (alongside the dedicated cycles counter). - Use IRQF_NO_THREAD instead of IRQF_ONESHOT in the cxlpmu driver. - Use !bitmap_empty() as a faster alternative to bitmap_weight(). - Fix SPE error handling when failing to resume profiling. Selftests: - Add support for the FORCE_TARGETS option to the arm64 kselftests. - Avoid nolibc-specific my_syscall() function. - Add basic test for the LS64 HWCAP. - Extend fp-pidbench to cover additional workload patterns. 9 Feb 2026: alpha updates for v7.0 [+ + +] This pull request includes a single fix for the long‑standing user‑space crashes on Alpha systems triggered by memory compaction. alpha updates for v7.0 - alpha: fix user-space corruption during memory compaction 9 Feb 2026: gfs2 changes for 7.0 [+ + +] please consider pulling the following gfs2 changes for 7.0. Thanks, Andreas gfs2 changes - Prevent rename() from failing with -ESTALE when there are locking conflicts and retry the operation instead. - Don't fail when fiemap triggers a page fault (xfstest generic/742). - Fix another locking request cancellation bug. - Minor other fixes and cleanups. 9 Feb 2026: EDAC updates for v7.0-rc1 [+ + +] please pull EDAC updates for v7.0-rc1. Thx. --- - Remove two drivers for obsolete hardware: i82443bxgx_edac and r82600_edac - Add support for Intel Amston Lake and Panther Lake-H SoCs to igen6_edac - The usual amount of fixes and cleanups 9 Feb 2026: MMC updates for v7.0 [+ + +] Here's the pull-request with the updates for MMC for v7.0. Details about the highlights are as usual found in the signed tag. Note that, this time I have picked up some changes to improve the mux subsystem and those are part of this pull-request, as these changes are required for mmc. Kind regards Ulf Hansson MMC core: - Add NXP vendor and IW61x device IDs for WiFi chips over SDIO - Add quirk for incorrect manufacturing date - Add support for manufacturing date beyond 2025 - Optimize support for secure erase/trim for some Kingston eMMCs MMC host: - dw_mmc: A great amount of cleanups/simplifications to improve the code - dw_mmc: Remove mshc DT alias support - dw_mmc-rockchip: Fix runtime PM support for internal phase support - mtk-sd: Add support for the MT8189 variant - renesas_sdhi_core: Add support for selecting an optional mux - sdhci: Stop advertising the driver in dmesg - sdhci-esdhc-imx: Wait for data transfer completion before reset - sdhci-msm: Enable ICE for CQE-capable controllers with non-CQE cards - sdhci-of-bst: Add driver for the Black Sesame Technologies C1200 controller - sdhci-of-k1: Add support for reset - sdhci-of-k1: Add support for the K3 variant mux core/consumers: - phy-can-transceiver: Convert to devm_mux_state_get_optional() - i2c-omap: Convert to devm_mux_state_get_optional_selected() - core: Add helper functions for getting optional and selected mux-state 09 Feb 2026: timers/vdso for v7.0-rc1 [+ + +] please pull the latest timers/vdso branch from: -02-09 es_common() Updates for the VDSO subsystem: - Provide the missing 64-bit variant of clock_getres() This allows the extension of CONFIG_COMPAT_32BIT_TIME to the vDSO and finally the removal of 32-bit time types from the kernel and UAPI. - Remove the useless and broken getcpu_cache from the VDSO The intention was to provide a trivial way to retrieve the CPU number from the VDSO, but as the VDSO data is per process there is no way to make it work. - Switch get/put_unaligned() from packed struct to memcpy() The packed struct violates strict aliasing rules which requires to pass -fno-strict-aliasing to the compiler. As this are scalar values __builtin_memcpy() turns them into simple loads and stores - Use __typeof_unqual__() for __unqual_scalar_typeof() The get/put_unaligned() changes triggered a new sparse warning when __beNN types are used with get/put_unaligned() as sparse builds add a special 'bitwise' attribute to them which prevents sparse to evaluate the Generic in __unqual_scalar_typeof(). Newer sparse versions support __typeof_unqual__() which avoids the proble= m, but requires a recent sparse install. So this adds a sanity check to spar= se builds, which validates that sparse is available and capable of handling = it. - Force inline __cvdso_clock_getres_common() Compilers sometimes un-inline agressively, which results in function call overhead and problems with automatic stack variable initialization. Interestingly enough the force inlining results in smaller code than the un-inlined variant produced by GCC when optimizing for size. Thanks, tglx 09 Feb 2026: irq/drivers for v7.0-rc1 [+ + +] please pull the latest irq/drivers branch from: -02-09 de" Updates for interrupt chip drivers: - Add support for the Renesas RZ/V2N SoC - Add a new driver for the Renesas RZ/[TN]2H SoCs - Preserve the register state of the RISCV APLIC interrupt controller accro= ss suspend/resume - Reinitialize the RISCV IMSIC registers after suspend/resume - Make the various Loongson interrupt chip drivers 32/64-bit aware - Handle the number of hardware interrupts in the SIFIVE PLIC driver correctly. The hardware interrupt 0 is reserved which resulted in inconsistent accounting. That went unnoticed as the off by one is only noticable when the number of device interrupts is a multiple of 32. - The usual device tree updates, cleanups and improvements all over the pla= ce. Thanks, tglx 09 Feb 2026: x86/irq for v7.0-rc1 [+ + +] please pull the latest x86/irq branch from: 09 Trivial cleanups for the posted MSI interrupt handling Thanks, tglx 09 Feb 2026: timers/clocksource for v7.0-rc1 [+ + +] please pull the latest timers/clocksource branch from: ce-2026-02-09 /linux/kernel/git/daniel.lezcano/linux into timers/clocksource Updates for clockevent/clocksource drivers: A rather small set of boring cleanups, fixes and improvements. Thanks, tglx 09 Feb 2026: timers/core for v7.0-rc1 [+ + +] please pull the latest timers/core branch from: -02-09 eap() Updates for the core time subsystem: - Inline timecounter_cyc2time() as that is now used in the networking hotpath. Inlining it significantly improves performance. - Optimize the tick dependency check in case that the tracepoint is disable= d, which improves the hotpath performance in the tick management code, which is a hotpath on transitions in and out of idle. - The usual cleanups and improvements Thanks, tglx 09 Feb 2026: irq/msi for v7.0-rc1 [+ + +] please pull the latest irq/msi branch from: 09 vice DMA limit Updates for the [PCI] MSI subsystem: - Add interrupt redirection infrastructure Some PCI controllers use a single demultiplexing interrupt for the MSI interrupts of subordinate devices. This prevents setting the interrupt affinity of device interrupts, which causes device interrupts to be delivered to a single CPU. That obviously = is counterproductive for multi-queue devices and interrupt balancing. To work around this limitation the new infrastructure installs a dummy irq_set_affinity() callback which captures the affinity mask and picks a redirection target CPU out of the mask. When the PCI controller demultiplexes the interrupts it invokes a new handling function in the core, which either runs the interrupt handler in the context of the target CPU or delegates it to irq_work on the target C= PU. - Utilize the interrupt redirection mechanism in the PCI DWC host controller driver. This allows affinity control for the subordinate device MSI interrupts instead of being randomly executed on the CPU which runs the demultiplex handler. - Replace the binary 64-bit MSI flag with a DMA mask Some PCI devices have PCI_MSI_FLAGS_64BIT in the MSI capability, but implement less than 64 address bits. This breaks on platforms where such a device is assigned an MSI address higher than what's supported. With the binary 64-bit flag there is no other choice than disabling 64-bit MSI support which leaves the device disfunctional. By using a DMA mask the address limit of a device can be described correctly which provides support for the above scenario. - Make use of the DMA mask based address limit in the hda/intel and radeon drivers to enable them on affected platforms. - The usual small cleanups and improvements Thanks, tglx 09 Feb 2026: irq/core for v7.0-rc1 [+ + +] please pull the latest irq/core branch from: -09 handler_proc Updates for the interrupt core subsystem: - Remove the interrupt timing infrastructure This was added seven years ago to be used for power management purposes, b= ut that integration never happened. - Clean up the remaining setup_percpu_irq() users The memory allocator is available when interrupts can be requested so there is not need for static irq_action. Move the remaining users to request_percpu_irq() and delete the historical cruft. - Warn when interrupt flag inconsistencies are detected in request*_irq(). Inconsistent flags can lead to hard to diagnose malfunction. The fallout of this new warning has been addressed in next and the fixes are coming in via the maintainer trees and the tip irq/cleanup pull requests. - Invoke affinity notifier when CPU hotplug breaks affinity Otherwise the code using the notifier misses the affinity change and operates on stale information. - The usual cleanups and improvements Thanks, tglx 9 Feb 2026: pmdomain updates for v7.0 [+ + +] Here's the pull-request with pmdomain updates for v7.0. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson pmdomain core: - Extend debugfs support for domain idle states pmdomain providers: - imx: Add suppport for child nodes for imx93-blk-ctrl power domains - marvell: Add support for the audio power island for Marvell PXA1908 - mediatek: Add support for the MT7622 audio power domain - mediatek: Expose shader_present as nvmem cell for mt8196-gpufreq - mediatek: Add support for the the MT8189 SoC - ti: Handle wakeup constraint for out-of-band wakeup for ti_sci domains 9 Feb 2026: sparc updates for v7.0 [+ + +] This includes the following changes related to sparc for v7.0: - Hardcode uapi ioctls.h TC* constants to not rely upon struct termio that has been dropped by glibc - Fix bug for fork/clone and add support for clone3 - Add ARCH_HAS_CC_CAN_LINK - API choice improvements and cleanup of unused variables 9 Feb 2026: m68k updates for v6.20 [+ + +] m68k updates for v7.0 - Add missing put_device() in the NuBus driver, - Replace vsprintf() with vsnprintf() on Sun-3. Thanks for pulling! 9 Feb 2026: pwm: Changes for 7.0-rc1 [+ + +] Subject: [GIT PULL] pwm: Changes for 7.0-rc1 MIME-Version: 1.0 Hello Linus, the following changes since commit 0a155a8a24ddc647aaf28ce7cdb14af7270c158f: MAINTAINERS: Add myself as reviewer for PWM rust drivers (2026-01-20 09:5= 3:18 +0100) are available in the Git repository at: wm/for-7.0-rc1 for you to fetch changes up to 9321f9d27fbaf6c4f32772fc2620961a0c492135: pwm: Remove redundant check in pwm_ops_check() (2026-01-30 11:04:44 +0100) The commits are all in next since next-20260130, all but the top commit are already in next-20260122. There is a change to MAINTAINERS, but I didn't hear any complaints from Stephen and Mark about conflicts in next, and there are no changes touching non-pwm files this time around, so I expect everything will be smooth for you. Thanks for pulling this into 7.20-rc1. Best regards Uwe pwm: Changes for v7.0-rc1 There are a few patches adapting to changes in Rust land which seems to be the norm since there is a pwm driver written in Rust. Other than that just a few cleanups and a single fix for the tiehrpwm driver that came in too late for making it into v6.19. Thanks to Andy Shevchenko, Bartosz Golaszewski, Daniel Almeida and Michal Wilczynski for reviews in this cycle, and to Alice Ryhl, Ben Zong-You Xie, Gokul Praveen, Kari Argillander, Markus Probst, Raag Jadav, Shankari Anand, Tamir Duberstein and Vladimir Zapolskiy for code contributions. 9 Feb 2026: Crypto Update for 7.0 [+ + +] There is a merge conflict with the tip tree due to both touching crypto/drbg.c. However, the resolution should be trivial. This update includes the following changes: API: - Fix race condition in hwrng core by using RCU. Algorithms: - Allow authenc(sha224,rfc3686) in fips mode. - Add test vectors for authenc(hmac(sha384),cbc(aes)). - Add test vectors for authenc(hmac(sha224),cbc(aes)). - Add test vectors for authenc(hmac(md5),cbc(des3_ede)). - Add lz4 support in hisi_zip. - Only allow clear key use during self-test in s390/{phmac,paes}. Drivers: - Set rng quality to 900 in airoha. - Add gcm(aes) support for AMD/Xilinx Versal device. - Allow tfms to share device in hisilicon/trng. 9 Feb 2026: x86/platform changes for v7.0 [+ + +] for you to fetch changes up to ac059ae422d7d05ed9d62970a30fa3b95870b967: x86/platform updates for v7.0: - x86/hyperv: Fix smp_ops build failure on UP kernels (Ingo Molnar) Thanks, Ingo 9 Feb 2026: x86/cpu changes for v7.0 [+ + +] for you to fetch changes up to f8c7600d468bdb6e44ed3b3247c6e53f5be5d8de: x86/cpu changes for v7.0: - amd: Correct the microcode table for Zenbleed - amd: Use ZEN_MODEL_STEP_UCODE() for erratum_1386_microcode[] - Drop vestigial PBE logic in AMD/Hygon/Centaur/Cyrix (Andrew Cooper) - tsx: Set default TSX mode to auto (Nikolay Borisov) - Drop unused Kconfig symbol X86_P6_NOP (Randy Dunlap) Thanks, Ingo 9 Feb 2026: x86/boot changes for v7.0 [+ + +] for you to fetch changes up to 2a11e1479ef07519bfd6b64ee276905ca84cf817: x86/boot changes for v7.0: - x86/acpi: Add acpi=spcr to use SPCR-provided default console (Shenghao Yang) - x86/acpi/boot: Correct the acpi_is_processor_usable() check again (Yazen Ghannam) - Refresh the x86 memory map (e820 table) handling code, and make the printouts a bit more informative. (Ingo Molnar) Thanks, Ingo 9 Feb 2026: x86/apic changes for v7.0 [+ + +] for you to fetch changes up to 9bad74127f0ae8eeed2510fe381b064e08e6507e: x86 APIC code changes for v7.0: - Inline __x2apic_send_IPI_dest() (Eric Dumazet) Thanks, Ingo 9 Feb 2026: Scheduler changes for v7.0 [+ + +] for you to fetch changes up to e34881c84c255bc300f24d9fe685324be20da3d1: Scheduler changes for v7.0: Scheduler Kconfig space updates: - Further consolidate configurable preemption modes: reduce the number of architectures that are allowed to offer PREEMPT_NONE and PREEMPT_VOLUNTARY, reducing the number of preemption models from four to just two: 'full' and 'lazy' on up-to-date architectures (arm64, loongarch, powerpc, riscv, s390, x86). None and voluntary are only available as legacy features on platforms that don't implement lazy preemption yet, or which don't even support preemption. The goal is to eventually remove cond_resched() and voluntary preemption altogether. (Peter Zijlstra) RSEQ based 'scheduler time slice extension' support: This allows a thread to request a time slice extension when it enters a critical section to avoid contention on a resource when the thread is scheduled out inside of the critical section. - Add fields and constants for time slice extension - Provide static branch for time slice extensions - Add statistics for time slice extensions - Add prctl() to enable time slice extensions - Implement sys_rseq_slice_yield() - Implement syscall entry work for time slice extensions - Implement time slice extension enforcement timer - Reset slice extension when scheduled - Implement rseq_grant_slice_extension() - entry: Hook up rseq time slice extension - selftests: Implement time slice extension test (Thomas Gleixner) - Allow registering RSEQ with slice extension - Move slice_ext_nsec to debugfs - Lower default slice extension - selftests/rseq: Add rseq slice histogram script (Peter Zijlstra) Scheduler performance/scalability improvements: - Update rq->avg_idle when a task is moved to an idle CPU, which improves the scalability of various workloads. (Shubhang Kaushik) - Reorder fields in 'struct rq' for better caching (Blake Jones) - Fair scheduler SMP NOHZ balancing code speedups: - Move checking for nohz cpus after time check - Change likelyhood of nohz.nr_cpus - Remove nohz.nr_cpus and use weight of cpumask instead (Shrikanth Hegde) - Avoid false sharing for sched_clock_irqtime (Wangyang Guo) - Drop useless cpumask_empty() in find_energy_efficient_cpu() - Simplify task_numa_find_cpu() - Use cpumask_weight_and() in sched_balance_find_dst_group() (Yury Norov) DL scheduler updates: - Add a deadline server for sched_ext tasks (by Andrea Righi and Joel Fernandes, with fixes by Peter Zijlstra) RT scheduler updates: - Skip currently executing CPU in rto_next_cpu() (Chen Jinghuang) Entry code updates and performance improvements, which is part of the scheduler tree in this cycle due to interdependencies with the RSEQ based time slice extension work: - Remove unused syscall argument from syscall_trace_enter() - Rework syscall_exit_to_user_mode_work() for architecture reuse - Add arch_ptrace_report_syscall_entry/exit() - Inline syscall_exit_work() and syscall_trace_enter() (Jinjie Ruan) Scheduler core updates: - Rework sched_class::wakeup_preempt() and rq_modified_*() - Avoid rq->lock bouncing in sched_balance_newidle() - Rename rcu_dereference_check_sched_domain() => rcu_dereference_sched_domain() - <linux/compiler_types.h>: Add the __signed_scalar_typeof() helper (Peter Zijlstra) Fair scheduler updates/refactoring: - Fold the sched_avg update - Change rcu_dereference_check_sched_domain() to rcu-sched - Switch to rcu_dereference_all() - Remove superfluous rcu_read_lock() - Limit hrtick work (Peter Zijlstra) - Join two #ifdef CONFIG_FAIR_GROUP_SCHED blocks - Clean up comments in 'struct cfs_rq' - Separate se->vlag from se->vprot - Rename cfs_rq::avg_load to cfs_rq::sum_weight - Rename cfs_rq::avg_vruntime to ::sum_w_vruntime & helper functions - Introduce and use the vruntime_cmp() and vruntime_op() wrappers for wrapped-signed aritmetics - Sort out 'blocked_load*' namespace noise (Ingo Molnar) Scheduler debugging code updates: - Export hidden tracepoints to modules (Gabriele Monaco) - Convert copy_from_user() + kstrtouint() to kstrtouint_from_user() (Fushuai Wang) - Add assertions to QUEUE_CLASS (Peter Zijlstra) - hrtimer: Fix tracing oddity (Thomas Gleixner) Misc fixes and cleanups: - Re-evaluate scheduling when migrating queued tasks out of throttled cgroups (Zicheng Qu) - Remove task_struct->faults_disabled_mapping (Christoph Hellwig) - Fix math notation errors in avg_vruntime comment (Zhan Xusheng) - sched/cpufreq: Use %pe format for PTR_ERR() printing (zenghongling) Thanks, Ingo 9 Feb 2026: Performance events changes for v7.0 [+ + +] for you to fetch changes up to 7db06e329af30dcb170a6782c1714217ad65033d: Performance events changes for v7.0: x86 PMU driver updates: - Add support for the core PMU for Intel Diamond Rapids (DMR) CPUs. Compared to previous iterations of the Intel PMU code, there's been a lot of changes, which center around three main areas: - Introduce the OFF-MODULE RESPONSE (OMR) facility to replace the Off-Core Response (OCR) facility - New PEBS data source encoding layout - Support the new "RDPMC user disable" feature (Dapeng Mi) - Likewise, a large series adds uncore PMU support for Intel Diamond Rapids (DMR) CPUs, which center around these four main areas: - DMR may have two Integrated I/O and Memory Hub (IMH) dies, separate from the compute tile (CBB) dies. Each CBB and each IMH die has its own discovery domain. - Unlike prior CPUs that retrieve the global discovery table portal exclusively via PCI or MSR, DMR uses PCI for IMH PMON discovery and MSR for CBB PMON discovery. - DMR introduces several new PMON types: SCA, HAMVF, D2D_ULA, UBR, PCIE4, CRS, CPC, ITC, OTC, CMS, and PCIE6. - IIO free-running counters in DMR are MMIO-based, unlike SPR. (Zide Chen) - Also add support for Add missing PMON units for Intel Panther Lake, and support Nova Lake (NVL), which largely maps to Panther Lake. (Zide Chen) - KVM integration: Add support for mediated vPMUs (by Kan Liang and Sean Christopherson, with fixes and cleanups by Peter Zijlstra, Sandipan Das and Mingwei Zhang) - Add Intel cstate driver to support for Wildcat Lake (WCL) CPUs, which are a low-power variant of Panther Lake. (Zide Chen) - Add core, cstate and MSR PMU support for the Airmont NP Intel CPU (aka MaxLinear Lightning Mountain), which maps to the existing Airmont code. (Martin Schiller) Performance enhancements: - core: Speed up kexec shutdown by avoiding unnecessary cross CPU calls. (Jan H. Sch�nherr) - core: Fix slow perf_event_task_exit() with LBR callstacks (Namhyung Kim) User-space stack unwinding support: - Various cleanups and refactorings in preparation to generalize the unwinding code for other architectures. (Jens Remus) Uprobes updates: - Transition from kmap_atomic to kmap_local_page (Keke Ming) - Fix incorrect lockdep condition in filter_chain() (Breno Leitao) - Fix XOL allocation failure for 32-bit tasks (Oleg Nesterov) Misc fixes and cleanups: - s390: Remove kvm_types.h from Kbuild (Randy Dunlap) - x86/intel/uncore: Convert comma to semicolon (Chen Ni) - x86/uncore: Clean up const mismatch (Greg Kroah-Hartman) - x86/ibs: Fix typo in dc_l2tlb_miss comment (Xiang-Bin Shi) Thanks, Ingo 9 Feb 2026: xen: branch for v7.0-rc1 [+ + +] Please git pull the following tag: xen: branch for v7.0-rc1 It contains the following patches: - a simple fix for running as Xen PVH guest in 32-bit mode without PAE - a small series fixing PV device handling for suspend/resume when running as a Xen guest - a small series cleaning up workqueue usage - a small series fixing the Xen balloon driver for PVH dom0 - a patch introducing the possibility to use hypercalls for console messages in unprivileged guests - a patch enabling a Xen dom0 to use virtio devices in nested virtualization setups - a simplification of the xen-mcelog driver Thanks. Juergen 9 Feb 2026: erofs updates for 7.0-rc1 [+ + +] Could you consider this pull request for 7.0-rc1? In this cycle, inode page cache sharing among filesystems on the same machine is now supported, which is particularly useful for high-density hosts running tens of thousands of containers. In addition, we fully isolate the EROFS core on-disk format from other optional encoded layouts since the core on-disk part is designed to be simple, effective, and secure. Users can use the core format to build unique golden immutable images and import their filesystem trees directly from raw block devices via DMA, page-mapped DAX devices, and/or file-backed mounts without having to worry about unnecessary intrinsic consistency issues found in other generic filesystems by design. However, the full vision is still working in progress and will spend more time to achieve final goals. There are other improvements and bug fixes as usual, as listed below. All commits have been in -next for a while. Note that I have merged the `vfs-7.0.iomap` branch in order to import iomap changes and route the iomap updates properly, so the same merge conflicts are observed as in: https://lore.kernel.org/r/20260206-vfs-iomap-v70-71e0b356ce5c@brauner Thanks, Gao Xiang Changes since last update: - Support inode page cache sharing among filesystems - Formally separate optional encoded (aka compressed) inode layouts (and the implementations) from the EROFS core on-disk aligned plain format for future zero-trust security usage - Improve performance by caching the fact that an inode does not have a POSIX ACL - Improve LZ4 decompression error reporting - Enable LZMA by default and promote DEFLATE and Zstandard algorithms out of EXPERIMENTAL status - Switch to inode_set_cached_link() to cache symlink lengths - random bugfixes and minor cleanups 8 Feb 2026: Crypto library updates for 7.0 [+ + +] - Add support for verifying ML-DSA signatures. ML-DSA (Module-Lattice-Based Digital Signature Algorithm) is a recently-standardized post-quantum (quantum-resistant) signature algorithm. It was known as Dilithium pre-standardization. The first use case in the kernel will be module signing. But there are also other users of RSA and ECDSA signatures in the kernel that might want to upgrade to ML-DSA eventually. - Improve the AES library: - Make the AES key expansion and single block encryption and decryption functions use the architecture-optimized AES code. Enable these optimizations by default. - Support preparing an AES key for encryption-only, using about half as much memory as a bidirectional key. - Replace the existing two generic implementations of AES with a single one. - Simplify how Adiantum message hashing is implemented. Remove the "nhpoly1305" crypto_shash in favor of direct lib/crypto/ support for NH hashing, and enable optimizations by default. 9 Feb 2026: chrome-platform updates for v7.0 [+ + +] Hi Linus, Thanks, Tzung-Bi ------ chrome-platform: Updates for v7.0 * New (cros_ec_lightbar) - Report the number of exposed LED segments via sysfs. - Support large sequence of program to be transmitted. * Fixes - Don't touch fwnode_handle::dev which is a private field. - Fix wrong assignment for response size in cros_ec_lightbar. * Cleanups - Use acpi_get_local_u64_address() helper. 8 Feb 2026: bitmap for 6.20 [+ + +] more rust helpers, a new KUNIT test for bitops and a couple random fixes. All patches spent in -next for at least 2 weeks with no issues. Thanks, Yury bitmap updates for v6.20 - more rust helpers (Alice); - more bitops tests (Ryota); - FIND_NTH_BIT() uninitialized variable fix (Lee Yongjun); - random cleanups (Andy, H. Peter). 8 Feb 2026: Rust for v6.20 / v7.0 [+ + +] This is the next round of the Rust support. A medium-sized one this time. The major changes are the rewrite of our procedural macros to use the `syn` parsing library which we introduced last cycle. Only a single one-liner conflict expected at this time (please pick the longer line). The resolutions in linux-next should be fine. I did a test merge with what you have at the moment. All commits have been in linux-next for a week or more. Cheers, Miguel Rust changes for v6.20 / v7.0 Toolchain and infrastructure: - Add '__rust_helper' annotation to the C helpers. This is needed to inline these helpers into Rust code. - Remove imports available via the prelude, treewide. This was possible thanks to a new lint in Klint that Gary has implemented -- more Klint-related changes, including initial upstream support, are coming. - Deduplicate pin-init flags. 'kernel' crate: - Add support for calling a function exactly once with the new 'do_once_lite!' macro (and 'OnceLite' type). Based on this, add 'pr_*_once!' macros to print only once. - Add 'impl_flags!' macro for defining common bitflags operations: impl_flags!( /// Represents multiple permissions. #[derive(Debug, Clone, Default, Copy, PartialEq, Eq)] pub struct Permissions(u32); /// Represents a single permission. #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Permission { /// Read permission. Read = 1 << 0, /// Write permission. Write = 1 << 1, /// Execute permission. Execute = 1 << 2, } ); let mut f: Permissions = Permission::Read | Permission::Write; assert!(f.contains(Permission::Read)); assert!(!f.contains(Permission::Execute)); f |= Permission::Execute; assert!(f.contains(Permission::Execute)); let f2: Permissions = Permission::Write | Permission::Execute; assert!((f ^ f2).contains(Permission::Read)); assert!(!(f ^ f2).contains(Permission::Write)); - 'bug' module: support 'CONFIG_DEBUG_BUGVERBOSE_DETAILED' in the 'warn_on!' macro in order to show the evaluated condition alongside the file path: ------------[ cut here ]------------ WARNING: [val == 1] linux/samples/rust/rust_minimal.rs:27 at ... Modules linked in: rust_minimal(+) - Add safety module with 'unsafe_precondition_assert!' macro, currently a wrapper for 'debug_assert!', intended to mark the validation of safety preconditions where possible: /// # Safety /// /// The caller must ensure that `index` is less than `N`. unsafe fn set_unchecked(&mut self, index: usize, value: T) { unsafe_precondition_assert!( index < N, "set_unchecked() requires index ({index}) < N ({N})" ); ... } - Add instructions to 'build_assert!' documentation requesting to always inline functions when used with function arguments. - 'ptr' module: replace 'build_assert!' with a 'const' one. - 'rbtree' module: reduce unsafe blocks on pointer derefs. - 'transmute' module: implement 'FromBytes' and 'AsBytes' for inhabited ZSTs, and use it in Nova. - More treewide replacements of 'c_str!' with C string literals. 'macros' crate: - Rewrite most procedural macros ('module!', 'concat_idents!', '#[export]', '#[vtable]', '#[kunit_tests]') to use the 'syn' parsing library which we introduced last cycle, with better diagnostics. This also allows to support '#[cfg]' properly in the '#[vtable]' macro, to support arbitrary types in 'module!' macro (not just an identifier) and to remove several custom parsing helpers we had. - Use 'quote!' from the recently vendored 'quote' library and remove our custom one. The vendored one also allows us to avoid quoting '"' and '{}' inside the template anymore and editors can now highlight it. In addition, it improves robustness as it eliminates the need for string quoting and escaping. - Use 'pin_init::zeroed()' to simplify KUnit code. 'pin-init' crate: - Rewrite all procedural macros ('[pin_]init!', '#[pin_data]', '#[pinned_drop]', 'derive([Maybe]Zeroable)') to use the 'syn' parsing library which we introduced last cycle, with better diagnostics. - Implement 'InPlaceWrite' for '&'static mut MaybeUninit<T>'. This enables users to use external allocation mechanisms such as 'static_cell'. - Support tuple structs in 'derive([Maybe]Zeroable)'. - Support attributes on fields in '[pin_]init!' (such as '#[cfg(...)]'). - Add a '#[default_error(<type>)]' attribute to '[pin_]init!' to override the default error (when no '? Error' is specified). - Support packed structs in '[pin_]init!' with '#[disable_initialized_field_access]'. - Remove 'try_[pin_]init!' in favor of merging their feature with '[pin_]init!'. Update the kernel's own 'try_[pin_]init!' macros to use the 'default_error' attribute. - Correct 'T: Sized' bounds to 'T: ?Sized' in the generated 'PinnedDrop' check by '#[pin_data]'. Documentation: - Conclude the Rust experiment. MAINTAINERS: - Add "RUST [RUST-ANALYZER]" entry for the rust-analyzer support. Tamir and Jesung will take care of it. They have both been active around it for a while. The new tree will flow through the Rust one. - Add Gary as maintainer for "RUST [PIN-INIT]". - Update Boqun and Tamir emails to their kernel.org accounts. And a few other cleanups and improvements. 8 Feb 2026: locking updates for v6.20 [+ + +] for you to fetch changes up to 7a562d5d2396c9c78fbbced7ae81bcfcfa0fde3f: [ MERGE NOTE: please note the default-enabled nature of the new locking context analysis feature, and its justification described below. If that's too aggressive, please disregard this pull request. ] Locking updates for v6.20: Lock debugging: - Implement compiler-driven static analysis locking context checking, using the upcoming Clang 22 compiler's context analysis features. (Marco Elver) We removed Sparse context analysis support, because prior to removal even a defconfig kernel produced 1,700+ context tracking Sparse warnings, the overwhelming majority of which are false positives. On an allmodconfig kernel the number of false positive context tracking Sparse warnings grows to over 5,200... On the plus side of the balance actual locking bugs found by Sparse context analysis is also rather ... sparse: I found only 3 such commits in the last 3 years. So the rate of false positives and the maintenance overhead is rather high and there appears to be no active policy in place to achieve a zero-warnings baseline to move the annotations & fixers to developers who introduce new code. Clang context analysis is more complete and more aggressive in trying to find bugs, at least in principle. Plus it has a different model to enabling it: it's enabled subsystem by subsystem, which results in zero warnings on all relevant kernel builds (as far as our testing managed to cover it). Which allowed us to enable it by default, similar to other compiler warnings, with the expectation that there are no warnings going forward. This enforces a zero-warnings baseline on clang-22+ builds. (Which are still limited in distribution, admittedly.) Hopefully the Clang approach can lead to a more maintainable zero-warnings status quo and policy, with more and more subsystems and drivers enabling the feature. Context tracking can be enabled for all kernel code via WARN_CONTEXT_ANALYSIS_ALL=y (default disabled), but this will generate a lot of false positives. ( Having said that, Sparse support could still be added back, if anyone is interested - the removal patch is still relatively straightforward to revert at this stage. ) Rust integration updates: (Alice Ryhl, Fujita Tomonori, Boqun Feng) - Add support for Atomic<i8/i16/bool> and replace most Rust native AtomicBool usages with Atomic<bool> - Clean up LockClassKey and improve its documentation - Add missing Send and Sync trait implementation for SetOnce - Make ARef Unpin as it is supposed to be - Add __rust_helper to a few Rust helpers as a preparation for helper LTO - Inline various lock related functions to avoid additional function calls. WW mutexes: - Extend ww_mutex tests and other test-ww_mutex updates (John Stultz) Misc fixes and cleanups: - rcu: Mark lockdep_assert_rcu_helper() __always_inline (Arnd Bergmann) - locking/local_lock: Include more missing headers (Peter Zijlstra) - seqlock: fix scoped_seqlock_read kernel-doc (Randy Dunlap) - rust: sync: Replace `kernel::c_str!` with C-Strings (Tamir Duberstein) Thanks, Ingo 7 Feb 2026: s390 updates for 7.0 merge window [+ + +] please pull s390 updates for the 7.0 merge window. Thanks, Heiko s390 updates for 7.0 merge window - Drop support for outdated 3590/3592 and 3480 tape devices, and limit support to virtualized 3490E types devices - Implement exception based WARN() and WARN_ONCE() similar to x86 - Slightly optimize preempt primitives like __preempt_count_add() and __preempt_count_dec_and_test() - A couple of small fixes and improvements 6 Feb 2026: KVM: x86 pull requests for 6.20 [+ + +] Unless I'm forgetting something, there's only one conflict, between "selftests" and the kvm-riscv tree[*] (Anup also mentioned this in his pull request). There are two ABI changes, both of which I'm confident won't break userspace: - When populating guest_memfd, require the source to be 4KiB aligned. - Disallow changing the virtual CPU model when L2 is active (basically an extension of the existing rule that the model can't be changed after KVM_RUN. Oh, and except for the PMU pull request, these are all against 6.19-rc4. [*] https://lore.kernel.org/all/aXt2F2jIm5YK8LB1@sirena.org.uk 06 Feb 2026: hfs/hfsplus changes for 7.0-rc1 [+ + +] This pull request contains several fixes of syzbot reported issues and HFS+ fixes of xfstests failures. Jori Koolstra has fixed the syzbot reported issue of triggering BUG_ON() in the case of corrupted superblock. This patch replaces the BUG_ON() in multiple places with proper error handling and resolves the syzbot reported bug. Mehdi Ben Hadj Khelifa has fixed the syzbot reported issues in mount logic of HFS/HFS+ file systems. When HFS/HFS+ were converted to the new mount api a bug was introduced by changing the allocation pattern of sb->s_fs_info. The memory leaks issue has been fixed by these two patches. Shardul Bankar suggested the nice fix in hfs_bnode_create() by returning ERR_PTR(-EEXIST) instead of the node pointer when it's already hashed and fix of avoiding the double unload_nls() on mount failure. Tetsuo Handa added logic of setting inode's mode as regular file for the case of system inodes. The rest patches fix issue of failures in generic/020, generic/037, generic/062, generic/480, and generic/498 xfstests for the case of HFS+ file system. Currently, only 30 xfstests' test-cases experience failures for HFS+ file system (initially, it was around 100 failed xfstests). hfs/hfsplus updates for v7.0 - hfsplus: avoid double unload_nls() on mount failure - hfsplus: fix warning issue in inode.c - hfsplus: fix generic/062 xfstests failure - hfsplus: fix generic/037 xfstests failure - hfsplus: pretend special inodes as regular files - hfsplus: return error when node already exists in hfs_bnode_create - hfs: Replace BUG_ON with error handling for CNID count checks - hfsplus: fix generic/020 xfstests failure - hfsplus: fix volume corruption issue for generic/498 - hfsplus: fix volume corruption issue for generic/480 - hfsplus: ensure sb->s_fs_info is always cleaned up - hfs: ensure sb->s_fs_info is always cleaned up 06 Feb 2026: nilfs2 changes for 7.0-rc1 [+ + +] This pull request contains one fix in NILFS2 logic and fix of kernel-doc warnings. Edward Adam Davis has fixed the syzbot reported issue in nilfs_sufile_trim_fs() logic. When a user executes the FITRIM command, an underflow can occur when calculating nblocks if end_block is too small. This ultimately leads to the block layer function __blkdev_issue_discard() taking an excessively long time to process the bio chain, and the ns_segctor_sem lock remains held for a long period. This prevents other tasks from acquiring the ns_segctor_sem lock, resulting in the hang reported by syzbot Randy Dunlap eliminated 40+ kernel-doc warnings in nilfs2_ondisk.h by converting all of the struct member comments to kernel-doc comments. Ryusuke Konishi eliminated kernel-doc warnings in nilfs2_api.h. nilfs2 updates for v7.0 - nilfs2: fix missing struct keywords in nilfs2_api.h kernel-doc - nilfs2: convert nilfs_super_block to kernel-doc - nilfs2: Fix potential block overflow that cause system hang 6 Feb 2026: nolibc changes for 6.20/7.0 [+ + +] nolibc changes for 6.20/7.0 Highlights: * All time-related functionality uses 64-bit timestamps for y2038 compatibility. * fread() and fskeek() support. * ptrace() support. * Addition of libc-test to the regular kselftests. * Smaller cleanups and fixes to the code and build system. 6 Feb 2026: Btrfs updates for 6.20/7.0 [+ + +] Hi, please pull the following btrfs updates. Thanks. User visible changes, feature updates: - when using block size > page size, enable direct IO - fallback to buffered IO if the data profile has duplication, workaround to avoid checksum mismatches on block group profiles with redundancy, real direct IO is possible on single or RAID0 - redo export of zoned statistics, moved from sysfs to /proc/pid/mountstats due to size limitations of the former Experimental features: - remove offload checksum tunable, intended to find best way to do it but since we've switched to offload to thread for everything we don't need it anymore - initial support for remap-tree feature, a translation layer of logical block addresses that allow changes without moving/rewriting blocks to do eg. relocation, or other changes that require COW Notable fixes: - automatic removal of accidentally leftover chunks when free-space-tree is enabled since mkfs.btrfs v6.16.1 - zoned mode - do not try to append to conventional zones when RAID is mixing zoned and conventional drives - fixup write pointers when mixing zoned and conventional on DUP/RAID* profiles - when using squota, relax deletion rules for qgroups with 0 members to allow easier recovery from accounting bugs, also add more checks to detect bad accounting - fix periodic reclaim scanning, properly check boundary conditions not to trigger it unexpectedly or miss the time to run it - trim - continue after first error - change reporting to the first detected error - add more cancellation points - reduce contention of big device lock that can block other operations when there's lots of trimmed space - when chunk allocation is forced (needs experimental build) fix transaction abort when unexpected space layout is detected Core: - switch to crypto library API for checksumming, removed module dependencies, pointer indirections, etc. - error handling improvements - adjust how and where transaction commit or abort are done and are maybe not necessary - minor compression optimization to skip single block ranges - improve how compression folios are handled - new and updated selftests - cleanups, refactoring - auto-freeing and other automatic variable cleanup conversion - structure size optimizations - condition annotations 6 Feb 2026: v7.0 [+ + +] This is the batch of pull requests for the v7.0 merge window. This cycle has a few infrastructure pieces worth highlighting. There's nullfs, a completely catatonic minimal pseudo filesystem that serves as the immutable root of the mount hierarchy. The mutable rootfs (tmpfs/ramfs) is mounted on top of it. This allows userspace to simply pivot_root() in the initramfs without the traditional switch_root workarounds. nullfs is enabled unconditionally. If we see any real regression we'll hide it behind a boot option. There's an easy to revert change to make that happen. It will also serve as a foundation for creating completely empty mount namespaces in a future cycle. Along with nullfs, we remove the deprecated linuxrc-based initrd code path is removed. It was deprecated in 2020 and this completes the removal. Initramfs is entirely unaffected. The non-linuxrc initrd path (root=/dev/ram0) is preserved but now carries a deprecation warning targeting January 2027 removal. There a new OPEN_TREE_NAMESPACE extension for open_tree(). Container runtimes currently use CLONE_NEWNS to copy the caller's entire mount namespace only to then pivot_root() and recursively unmount everything they just copied. With large mount tables and thousands of parallel container launches this creates significant contention on the namespace semaphore. OPEN_TREE_NAMESPACE copies only the specified mount tree and returns a mount namespace fd instead of a detached mount fd — functioning as a combined unshare(CLONE_NEWNS) + pivot_root() in a single syscall. Using it for container creation brings about a 40% increase in throughput. We added a new STATMOUNT_BY_FD extension to statmount(). It now accepts a file descriptor as a parameter, returning mount information for the mount the fd resides on, including detached mounts. With every in-tree filesystem now converted to the new mount API, we can remove all the legacy code in fs_context.c for unconverted filesystems - about 280 lines including legacy_init_fs_context() and friends. The mount(2) syscall path for userspace is untouched. The timestamp update path is reworked to propagate IOCB_NOWAIT through ->update_time so that filesystems which can update timestamps without blocking are no longer penalized. Previously, file_update_time_flags() unconditionally returned -EAGAIN when IOCB_NOWAIT was set, making non-blocking direct writes impossible on essentially all filesystems. XFS implements non-blocking timestamp updates as the first user. Lease support is changed to require explicit opt-in. Previously kernel_setlease() fell through to generic_setlease() when a filesystem did not define ->setlease(), silently granting lease support to every filesystem. The new default returns -EINVAL when ->setlease is NULL. With the new default simple_nosetlease() becomes redundant and is removed. There's a new generic fserror infrastructure for reporting metadata corruption and file I/O errors to userspace via fsnotify. EFSCORRUPTED and EUCLEAN are promoted from private per-filesystem definitions to canonical errno.h values across all architectures. A new super_operations::report_error callback lets filesystem drivers respond to file I/O errors themselves. knfsd can now use atomic_open() via dentry_create(), eliminating the racy vfs_create() + vfs_open() sequence for combined exclusive create and open operations. Btrfs drops its private copies of may_delete() and may_create() in favor of newly exported may_delete_dentry() and may_create_dentry(), removing ~70 lines of duplicated code that had drifted out of sync with the VFS originals. On the scalability side, pid allocation is reworked to only take pidmap_lock once instead of twice during alloc_pid(), improving thread creation/teardown throughput by 10-16%. File lock presence is tracked via a flag in ->i_opflags instead of reading ->i_flctx, avoiding false-sharing on open/close hot paths with a measured 4-16% improvement. A redundant DCACHE_MANAGED_DENTRY check in __follow_mount_rcu() that caused a 100% mispredicted branch is removed. Smaller items include minix superblock validation hardening (syzbot), iomap plumbing for erofs page cache sharing preliminaries, a fix for invalid folio access after folio_end_read(), posix_acl_to_xattr() now allocating the buffer internally since every caller was doing it anyway, chardev cleanup API conversion, the start of deprecating legacy BSD process accounting (acct(2)), Rust VFS helper annotations for LTO inlining, and the usual collection of kernel-doc fixes and cleanups. Note that I will have some pull requests coming in during the second half of the merge window as linux-next had to temporarily drop them last week when a selftest build error happened. So I'm delaying them a bit. Thanks! Christian 6 Feb 2026: LoongArch KVM changes for v6.20 [+ + +] LoongArch KVM changes for v6.20 1. Add more CPUCFG mask bits. 2. Improve feature detection. 3. Add FPU/LBT delay load support. 4. Set default return value in KVM IO bus ops. 5. Add paravirt preempt feature support. 6. Add KVM steal time test case for tools/selftests. 6 Feb 2026: Kthread changes for v7.0 [+ + +] Once the merge window opens, please pull the following changes since commit 9448598b22c50c8a5bb77a9103e2d49f134c9578: Linux 6.19-rc2 (2025-12-21 15:52:04 -0800) are available in the Git repository at: for you to fetch changes up to fa39ec4f89f2637ed1cdbcde3656825951787668: doc: Add housekeeping documentation (2026-02-03 15:23:35 +0100) The kthread code provides an infrastructure which manages the preferred affinity of unbound kthreads (node or custom cpumask) against housekeeping (CPU isolation) constraints and CPU hotplug events. One crucial missing piece is the handling of cpuset: when an isolated partition is created, deleted, or its CPUs updated, all the unbound kthreads in the top cpuset become indifferently affine to _all_ the non-isolated CPUs, possibly breaking their preferred affinity along the way. Solve this with performing the kthreads affinity update from cpuset to the kthreads consolidated relevant code instead so that preferred affinities are honoured and applied against the updated cpuset isolated partitions. The dispatch of the new isolated cpumasks to timers, workqueues and kthreads is performed by housekeeping, as per the nice Tejun's suggestion. As a welcome side effect, HK_TYPE_DOMAIN then integrates both the set from boot defined domain isolation (through isolcpus=) and cpuset isolated partitions. Housekeeping cpumasks are now modifiable with a specific RCU based synchronization. A big step toward making nohz_full= also mutable through cpuset in the future. Thanks! 5 Feb 2026: ACPI support updates for v6.20-rc1/v7.0-rc1 [+ + +] This goes a bit early, but it's ready. acpi-6.20-rc1 Merge branch 'acpi-apei' Linux 6.19-rc7 to receive ACPI support updates for 6.20-rc1/7.0-rc1 (whichever it turns out to be). This one is significantly larger than previous ACPI support pull requests because several significant updates have coincided in it. First, there is a routine ACPICA code update, to upstream version 20251212, but this time it covers new ACPI 6.6 material that has not been covered yet. Among other things, it includes definitions of a few new ACPI tables and updates of some others, like the GICv5 MADT structures and ARM IORT IWB node definitions that are used for adding GICv5 ACPI probing on ARM (that technically is IRQ subsystem material, but it depends on the ACPICA changes, so it is included here). The latter alone adds a few hundred lines of new code. Second, there is an update of ACPI _OSC handling including a fix that prevents failures from occurring in some corner cases due to careless handling of _OSC error bits. On top of that, the "system resource" ACPI device objects with the PNP0C01 and PNP0C02 are now going to be handled by the ACPI core device enumeration code instead of handing them over to the legacy PNP system driver which causes device enumeration issues to occur. Some of those issues have been worked around in device drivers and elsewhere and those workarounds should not be necessary any more, so they are going away. Moreover, the time has come to convert all "core ACPI" device drivers that were still using struct acpi_driver objects for device binding into proper platform drivers that use struct platform_driver for this purpose. These updates are accompanied by some requisite core ACPI device enumeration code changes. Next, there are ACPI APEI updates, including changes to avoid excess overhead in the NMI handler and in SEA on the ARM side, changes to unify ACPI-based HW error tracing and logging, and changes to prevent APEI code from reaching out of its allocated memory. There are also some ACPI power management updates, mostly related to the ACPI cpuidle support in the processor driver, suspend-to-idle handling on systems with ACPI support and to ACPI PM of devices. In addition to the above, bugs are fixed and the code is cleaned up in assorted places all over. Specifics: - Update the ACPICA code in the kernel to upstream version 20251212 which includes the following changes: * Add support for new ACPI table DTPR (Michal Camacho Romero) * Release objects with acpi_ut_delete_object_desc() (Zilin Guan) * Add UUIDs for Microsoft fan extensions and UUIDs associated with TPM 2.0 devices (Armin Wolf) * Fix NULL pointer dereference in acpi_ev_address_space_dispatch() (Alexey Simakov) * Add KEYP ACPI table definition (Dave Jiang) * Add support for the Microsoft display mux _OSI string (Armin Wolf) * Add definitions for the IOVT ACPI table (Xianglai Li) * Abort AML bytecode execution on AML_FATAL_OP (Armin Wolf) * Include all fields in subtable type1 for PPTT (Ben Horgan) * Add GICv5 MADT structures and Arm IORT IWB node definitions (Jose Marinho) * Update Parameter Block structure for RAS2 and add a new flag in Memory Affinity Structure for SRAT (Pawel Chmielewski) * Add _VDM (Voltage Domain) object (Pawel Chmielewski) - Add support for GICv5 ACPI probing on ARM which is based on the GICv5 MADT structures and ARM IORT IWB node definitions recently added to ACPICA (Lorenzo Pieralisi) - Rework ACPI PM notification setup for PCI root buses and modify the ACPI PM setup for devices to register wakeup source objects under physical (that is, PCI, platform, etc.) devices instead of doing that under their ACPI companions (Rafael Wysocki) - Adjust debug messages regarding postponed ACPI PM printed during system resume to be more accurate (Rafael Wysocki) - Remove dead code from lps0_device_attach() (Gergo Koteles) - Start to invoke Microsoft Function 9 (Turn On Display) of the Low- Power S0 Idle (LPS0) _DSM in the suspend-to-idle resume flow on systems with ACPI LPS0 support to address a functional issue on Lenovo Yoga Slim 7i Aura (15ILL9), where system fans and keyboard backlights fail to resume after suspend (Jakob Riemenschneider) - Add sysfs attribute cid for exposing _CID lists under ACPI device objects (Rafael Wysocki) - Replace sprintf() with sysfs_emit() in all of the core ACPI sysfs interface code (Sumeet Pawnikar) - Use acpi_get_local_u64_address() in the code implementing ACPI support for PCI to evaluate _ADR instead of evaluating that object directly (Andy Shevchenko) - Add JWIPC JVC9100 to irq1_level_low_skip_override[] to unbreak serial IRQs on that system (Ai Chao) - Fix handling of _OSC errors in acpi_run_osc() to avoid failures on systems where _OSC error bits are set even though the _OSC return buffer contains acknowledged feature bits (Rafael Wysocki) - Clean up and rearrange \_SB._OSC handling for general platform features and USB4 features to avoid code duplication and unnecessary memory management overhead (Rafael Wysocki) - Make the ACPI core device enumeration code handle PNP0C01 and PNP0C02 ("system resource") device objects directly instead of letting the legacy PNP system driver handle them to avoid device enumeration issues on systems where PNP0C02 is present in the _CID list under ACPI device objects with a _HID matching a proper device driver in Linux (Rafael Wysocki) - Drop workarounds for the known device enumeration issues related to _CID lists containing PNP0C02 (Rafael Wysocki) - Drop outdated comment regarding removed function in the ACPI-based device enumeration code (Julia Lawall) - Make PRP0001 device matching work as expected for ACPI device objects using it as a _HID for board development and similar purposes (Kartik Rajput) - Use async schedule function in acpi_scan_clear_dep_fn() to avoid races with user space initialization on some systems (Yicong Yang) - Add a piece of documentation explaining why binding drivers directly to ACPI device objects is not a good idea in general and why it is desirable to convert drivers doing so into proper platform drivers that use struct platform_driver for device binding (Rafael Wysocki) - Convert multiple "core ACPI" drivers, including the NFIT ACPI device driver, the generic ACPI button drivers, the generic ACPI thermal zone driver, the ACPI hardware event device (HED) driver, the ACPI EC driver, the ACPI SMBUS HC driver, the ACPI Smart Battery Subsystem (SBS) driver, and the ACPI backlight (video) driver to proper platform drivers that use struct platform_driver for device binding (Rafael Wysocki) - Use acpi_get_local_u64_address() in the ACPI backlight (video) driver to evaluate _ADR instead of evaluating that object directly (Andy Shevchenko) - Convert the generic ACPI battery driver to a proper platform driver using struct platform_driver for device binding (Rafael Wysocki) - Fix incorrect charging status when current is zero in the generic ACPI battery driver (Ata =C4=B0lhan K=C3=B6kt=C3=BCrk) - Use LIST_HEAD() for initializing a stack-allocated list in the generic ACPI watchdog device driver (Can Peng) - Rework the ACPI idle driver initialization to register it directly from the common initialization code instead of doing that from a CPU hotplug "online" callback and clean it up (Huisong Li, Rafael Wysocki) - Fix a possible NULL pointer dereference in acpi_processor_errata_piix4() (Tuo Li) - Make read-only array non_mmio_desc[] static const (Colin Ian King) - Prevent the APEI GHES support code on ARM from accessing memory out of bounds or going past the ARM processor CPER record buffer (Mauro Carvalho Chehab) - Prevent cper_print_fw_err() from dumping the entire memory on systems with defective firmware (Mauro Carvalho Chehab) - Improve ghes_notify_nmi() status check to avoid unnecessary overhead in the NMI handler by carrying out all of the requisite preparations and the NMI registration time (Tony Luck) - Refactor the GHES driver by extracting common functionality into reusable helper functions to reduce code duplication and improve the ghes_notify_sea() status check in analogy with the previous ghes_notify_nmi() status check improvement (Shuai Xue) - Make ELOG and GHES log and trace consistently and support the CPER CXL protocol analogously (Fabio De Francesco) - Disable KASAN instrumentation in the APEI GHES driver when compile testing with clang < 18 (Nathan Chancellor) - Let ghes_edac be the preferred driver to load on __ZX__ and _BYO_ systems by extending the platfo