BPF fixes: - Fix a soft-lockup in BPF arena_map_free on 64k page size kernels (Alan Maguire) - Fix a missing allocation failure check in BPF verifier's acquire_lock_state (Kumar Kartikeya Dwivedi) - Fix a NULL-pointer dereference in trace_kfree_skb by adding kfree_skb to the raw_tp_null_args set (Kuniyuki Iwashima) - Fix a deadlock when freeing BPF cgroup storage (Abel Wu) - Fix a syzbot-reported deadlock when holding BPF map's freeze_mutex (Andrii Nakryiko) - Fix a use-after-free issue in bpf_test_init when eth_skb_pkt_type is accessing skb data not containing an Ethernet header (Shigeru Yoshida) - Fix skipping non-existing keys in generic_map_lookup_batch (Yan Zhai) - Several BPF sockmap fixes to address incorrect TCP copied_seq calculations, which prevented correct data reads from recv(2) in user space (Jiayuan Chen) - Two fixes for BPF map lookup nullness elision (Daniel Xu) - Fix a NULL-pointer dereference from vmlinux BTF lookup in bpf_sk_storage_tracing_allowed (Jared Kangas) Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Smaller than usual with no fixes from any subtree. Current release - regressions: - core: fix race of rtnl_net_lock(dev_net(dev)). Previous releases - regressions: - core: remove the single page frag cache for good - flow_dissector: fix handling of mixed port and port-range keys - sched: cls_api: fix error handling causing NULL dereference - tcp: - adjust rcvq_space after updating scaling ratio - drop secpath at the same time as we currently drop dst - eth: gtp: suppress list corruption splat in gtp_net_exit_batch_rtnl(). Previous releases - always broken: - vsock: - fix variables initialization during resuming - for connectible sockets allow only connected - eth: geneve: fix use-after-free in geneve_find_dev(). - eth: ibmvnic: don't reference skb after sending to VIOS Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Driver core api addition for 6.14-rc3 Here is a driver core new api for 6.14-rc3 that is being added to allow platform devices from stop being abused. It adds a new "faux_device" structure and bus and api to allow almost a straight or simpler conversion from platform devices that were not really a platform device. It also comes with a binding for rust, with an example driver in rust showing how it's used. I'm adding this now so that the patches that convert the different drivers and subsystems can all start flowing into linux-next now through their different development trees, in time for 6.15-rc1. We have a number that are already reviewed and tested, but adding those conversions now doesn't seem right. For now, no one is using this, and it passes all build tests from 0-day and linux-next, so all should be good. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
please pull s390 fixes for 6.14-rc3. Thank you, Vasily s390 updates for 6.14-rc3 - Fix isolated VFs handling by verifying that a VF’s parent PF is locally owned before registering it in an existing PCI domain - Disable arch_test_bit() optimization for PROFILE_ALL_BRANCHES to workaround gcc failure in handling __builtin_constant_p() in this case - Fix CHPID "configure" attribute caching in CIO by not updating the cache when SCLP returns no data, ensuring consistent sysfs output - Remove CONFIG_LSM from default configs and rely on defaults, which enables BPF LSM hook
Please git pull the following tag: xen: branch for v6.14-rc3 It contains 3 patches related to the xen-swiotlb driver: - 2 fixes for issues coming up due to another fix in 6.12 - 1 addition of an __init annotation Thanks. Juergen
Including fixes from netfilter, wireless and bluetooth. Kalle Valo steps down after serving as the WiFi driver maintainer for over a decade. Current release - fix to a fix: - vsock: orphan socket after transport release, avoid null-deref - Bluetooth: L2CAP: fix corrupted list in hci_chan_del Current release - regressions: - eth: stmmac: correct Rx buffer layout when SPH is enabled - rxrpc: fix alteration of headers whilst zerocopy pending - eth: iavf: fix a locking bug in an error path - s390/qeth: move netif_napi_add_tx() and napi_enable() from under BH - Revert "netfilter: flowtable: teardown flow if cached mtu is stale" Current release - new code bugs: - rxrpc: fix ipv6 path MTU discovery, only ipv4 worked - pse-pd: fix deadlock in current limit functions Previous releases - regressions: - rtnetlink: fix netns refleak with rtnl_setlink() - wifi: brcmfmac: use random seed flag for BCM4355 and BCM4364 firmware Previous releases - always broken: - add missing RCU protection of struct net throughout the stack - can: rockchip: bail out if skb cannot be allocated - eth: ti: am65-cpsw: base XDP support fixes Misc: - ethtool: tsconfig: update the format of hwtstamp flags, changes the uAPI but this uAPI was not in any release yet Signed-off-by: Jakub Kicinski <kuba@kernel.org>
USB-serial device ids for 6.14-rc3 Here are some new modem device ids and a couple of related cleanups of the device id table. All have been in linux-next with no reported issues.
Here is a platform-drivers-x86 fixes PR for v6.14. Fixes and new HW support: - thinkpad_acpi: - Fix registration of tpacpi platform driver - Support fan speed in ticks per revolution (Thinkpad X120e) - Support V9 DYTC profiles (new Thinkpad AMD platforms) - int3472: Handle GPIO "enable" vs "reset" variation (ov7251) Regards, i. platform-drivers-x86 for v6.14-3 Fixes and new HW support: - thinkpad_acpi: - Fix registration of tpacpi platform driver - Support fan speed in ticks per revolution (Thinkpad X120e) - Support V9 DYTC profiles (new Thinkpad AMD platforms) - int3472: Handle GPIO "enable" vs "reset" variation (ov7251) The following is an automated shortlog grouped by driver: int3472: - Call "reset" GPIO "enable" for INT347E - Use correct type for "polarity", call it gpio_flags thinkpad_acpi: - Fix invalid fan speed on ThinkPad X120e - Fix registration of tpacpi platform driver - Support for V9 DYTC platform profiles
Redo of pathname patternization and fix spelling errors.
ARM: * Correctly clean the BSS to the PoC before allowing EL2 to access it on nVHE/hVHE/protected configurations * Propagate ownership of debug registers in protected mode after the rework that landed in 6.14-rc1 * Stop pretending that we can run the protected mode without a GICv3 being present on the host * Fix a use-after-free situation that can occur if a vcpu fails to initialise the NV shadow S2 MMU contexts * Always evaluate the need to arm a background timer for fully emulated guest timers * Fix the emulation of EL1 timers in the absence of FEAT_ECV * Correctly handle the EL2 virtual timer, specially when HCR_EL2.E2H==0 s390: * move some of the guest page table (gmap) logic into KVM itself, inching towards the final goal of completely removing gmap from the non-kvm memory management code. As an initial set of cleanups, move some code from mm/gmap into kvm and start using __kvm_faultin_pfn() to fault-in pages as needed; but especially stop abusing page->index and page->lru to aid in the pgdesc conversion. x86: * Add missing check in the fix to defer starting the huge page recovery vhost_task * SRSO_USER_KERNEL_NO does not need SYNTHESIZED_F
Hi Linus, Please git pull the following tag: which has two tiny fixes to IBFT code. One for Kconfig and another for IPv6. Thank you.
Please git pull the following tag: xen: branch for v6.14-rc2 It contains 3 fixes of a single function, which was introduced in the 6.13 cycle. Thanks. Juergen
Interestingly the recent kmemleak improvements allowed our CI to catch a couple of percpu leaks addressed here. We (mostly Jakub, to be accurate) are working to increase review coverage over the net code-base tweaking the MAINTAINER entries. Current release - regressions: - core: harmonize tstats and dstats - ipv6: fix dst refleaks in rpl, seg6 and ioam6 lwtunnels - eth: tun: revert fix group permission check - eth: stmmac: revert "specify hardware capability value when FIFO size isn't specified" Previous releases - regressions: - udp: gso: do not drop small packets when PMTU reduces - rxrpc: fix race in call state changing vs recvmsg() - eth: ice: fix Rx data path for heavy 9k MTU traffic - eth: vmxnet3: fix tx queue race condition with XDP Previous releases - always broken: - sched: pfifo_tail_enqueue: drop new packet when sch->limit == 0 - ethtool: ntuple: fix rss + ring_cookie check - rxrpc: fix the rxrpc_connection attend queue handling Misc: - recognize Kuniyuki Iwashima as a maintainer Signed-off-by: Paolo Abeni <pabeni@redhat.com>
please pull a simple fixup of livepatching selftests from - Fix livepatching selftests for util-linux-2.40.x.
Here is a platform-drivers-x86 fixes PR for v6.14. Fixes: - ideapad-laptop: Pass a correct pointer to the driver data - intel/ifs: Provide a link to the IFS test images - intel/pmc: Use large enough type when decoding LTR value Regards, i. platform-drivers-x86 for v6.14-2 Fixes: - ideapad-laptop: Pass a correct pointer to the driver data - intel/ifs: Provide a link to the IFS test images - intel/pmc: Use large enough type when decoding LTR value The following is an automated shortlog grouped by driver: ideapad-laptop: - pass a correct pointer to the driver data intel/ifs: - Update documentation with image download path intel: pmc: - fix ltr decode in pmc_core_ltr_show()
thanks! Len Brown, Intel Open Source Technology Center Turbostat 2025.02.02 updates since 2024.11.30 Fix regression in 2023.11.07 that affinitized forked child in one-shot mode. Harden one-shot mode against hotplug online/offline Enable RAPL SysWatt column by default. Add initial PTL, CWF platform support. Harden initial PMT code in response to early use. Enable first built-in PMT counter: CWF c1e residency Refuse to run on unsupported platforms without --force, to encourage updating to a version that supports the system, and to avoid no-so-useful measurement results.
For a regression fix at the uvcvideo driver. Regards, Mauro --- [GIT PULL for v6.14] media updates
change to my email address. The public key containing this new uid should be available on keys.openpgp.com and keyserver.ubuntu.com -- hopefully one of those is satisfactory. Thanks, -Brian ==== hexagon updates for 6.14-rc1 * Move kernel prototypes to internal header * Fix to address an unbalanced spinlock * Miscellaneous patches to fix static checks * Update bcain@quicinc.com->brian.cain@oss.qualcomm.com
to be released GCC 15 which has regressed its initialization of unions when performing explicit initialization (i.e. a general problem, not specifically a hardening problem; we're just carrying the fix). Details in the final patch, Acked by Masahiro, with updated selftests to validate the fix. Thanks! -Kees hardening updates for v6.14-rc1-fix1 - Fix regression in GCC 15's initialization of union members
AT_EXECVE_CHECK selftests which didn't run on old versions of glibc. Thanks! -Kees AT_EXECVE_CHECK update for v6.14-rc1 (fix1) - selftests: Handle old glibc without execveat(2) (Mickaël Salaün)
- Save the original INTX_DISABLE bit at the first pcim_intx() call and restore that at devres cleanup instead of restoring the opposite of the most recent enable/disable pcim_intx() argument, which was wrong when a driver called pcim_intx() multiple times or with the already enabled state (Takashi Iwai)
RISC-V Patches for the 6.14 Merge Window, Part 1 * The PH1520 pinctrl and dwmac drivers are enabeled in defconfig. * A redundant AQRL barrier has been removed from the futex cmpxchg implementation. * Support for the T-Head vector extensions, which includes exposing these extensions to userspace on systems that implement them. * Some more page table information is now printed on die() and systems that cause PA overflows.
Thank you Kbuild updates for v6.14 - Support multiple hook locations for maint scripts of Debian package - Remove 'cpio' from the build tool requirement - Introduce gendwarfksyms tool, which computes CRCs for export symbols based on the DWARF information - Support CONFIG_MODVERSIONS for Rust - Resolve all conflicts in the genksyms parser - Fix several syntax errors in genksyms
x86/mm changes for v6.14: - The biggest changes are the TLB flushing scalability optimizations, to update the mm_cpumask lazily and related changes. This feature has both a track record and a continued risk of performance regressions, so it was already delayed by a cycle - but it's all 100% perfect nowâ„¢. (Rik van Riel) - Also miscellaneous fixes and cleanups. (Gautam Somani, Kirill A. Shutemov, Sebastian Andrzej Siewior) Thanks, Ingo
Here is the RTC subsystem pull request for 6.14. Not much this cycle, there are multiple small fixes. I took the last patch a bit late but this has been tested independently by two other developers. RTC for 6.13 Subsystem: - use boolean values with device_init_wakeup() Drivers: - pcf2127: add BSM support - pcf85063: fix possible out of bound write
This pull request contains updates for UBI and UBIFS: UBI: - New interface to dump detailed erase counters - Fixes around wear-leveling UBIFS: - Minor cleanups - Fix for TNC dumping code
This pull request contains the following changes for UML: - hostfs: Convert to writepages - Many cleanups: Removal of dead macros, missing __init
pm-6.14-rc1-2 Merge branch 'pm-sleep' Merge tag 'pm-6.14-rc1' of to receive more power management updates for 6.14-rc1. These are mostly fixes on top of the previously merged power management material with the addition of some teo cpuidle governor updates, some of which may also be regarded as fixes: - Add missing error handling for syscore_suspend() to the hibernation core code (Wentao Liang). - Revert a commit that added unused macros (Andy Shevchenko). - Synchronize the runtime PM status of devices that were runtime- suspended before a system-wide suspend and need to be resumed during the subsequent system-wide resume transition (Rafael Wysocki). - Clean up the teo cpuidle governor and make the handling of short idle intervals in it consistent regardless of the properties of idle states supplied by the cpuidle driver (Rafael Wysocki). - Fix some boost-related issues in cpufreq (Lifeng Zheng). - Fix build issues in the s3c64xx and airoha cpufreq drivers (Viresh Kumar). - Remove unconditional binding of schedutil governor kthreads to the affected CPUs if the cpufreq driver indicates that updates can happen from any CPU (Christian Loehle). Thanks!
First batch of fixes for 6.14. Nothing really stands out, but as usual there's a slight concentration of fixes for issues added in the last two weeks before the MW, and driver bugs from 6.13 which tend to get discovered upon wider distribution. Including fixes from IPSec, netfilter and Bluetooth. Current release - regressions: - net: revert RTNL changes in unregister_netdevice_many_notify() - Bluetooth: fix possible infinite recursion of btusb_reset - eth: adjust locking in some old drivers which protect their state with spinlocks to avoid sleeping in atomic; core protects netdev state with a mutex now Previous releases - regressions: - eth: mlx5e: make sure we pass node ID, not CPU ID to kvzalloc_node() - eth: bgmac: reduce max frame size to support just 1500 bytes; the jumbo frame support would previously cause OOB writes, but now fails outright - mptcp: blackhole only if 1st SYN retrans w/o MPC is accepted, avoid false detection of MPTCP blackholing Previous releases - always broken: - mptcp: handle fastopen disconnect correctly - xfrm: make sure skb->sk is a full sock before accessing its fields - xfrm: fix taking a lock with preempt disabled for RT kernels - usb: ipheth: improve safety of packet metadata parsing; prevent potential OOB accesses - eth: renesas: fix missing rtnl lock in suspend/resume path Signed-off-by: Jakub Kicinski <kuba@kernel.org>
please pull more s390 updates for the 6.14 merge window. There is a trivial conflict that was resolved in linux-next [1] in: arch/s390/Kconfig between commit: 008071917dfc ("s390/crc32: expose CRC32 functions through lib") from your tree and commit: 3bcc8a1af581 ("s390/sclp: Initialize sclp subsystem via arch_cpu_finalize= _init()") from the s390 tree: more s390 updates for 6.14 merge window - The rework that uncoupled physical and virtual address spaces inadvertently prevented KASAN shadow mappings from using large pages. Restore large page mappings for KASAN shadows - Add decompressor routine physmem_alloc() that may fail, unlike physmem_alloc_or_die(). This allows callers to implement fallback paths - Allow falling back from large pages to smaller pages (1MB or 4KB) if the allocation of 2GB pages in the decompressor can not be fulfilled - Add to the decompressor boot print support of "%%" format string, width and padding hadnling, length modifiers and decimal conversion specifiers - Add to the decompressor message severity levels similar to kernel ones. Support command-line options that control console output verbosity - Replaces boot_printk() calls with appropriate loglevel- specific helpers such as boot_emerg(), boot_warn(), and boot_debug(). - Collect all boot messages into a ring buffer independent of the current log level. This is particularly useful for early crash analysis - If 'earlyprintk' command line parameter is not specified, store decompressor boot messages in a ring buffer to be printed later by the kernel, once the console driver is registered - Add 'bootdebug' command line parameter to enable printing of decompressor debug messages when needed. That parameters allows message supressing and filtering - Dump boot messages on a decompressor crash, but only if 'bootdebug' command line parameter is enabled - When CONFIG_PRINTK_TIME is enabled, add timestamps to boot messages in the same format as regular printk() - Dump physical memory tracking information on boot: online ranges, reserved areas and vmem allocations - Dump virtual memory layout and randomization details - Improve decompression error reporting and dump the message ring buffer in case the boot failed and system halted - Add an exception handler which handles exceptions when FPU control register is attempted to be set to an invalid value. Remove '.fixup' section as result of this change - Use 'A', 'O', and 'R' inline assembly format flags, which allows recent Clang compilers to generate better FPU code - Rework uaccess code so it reads better and generates more efficient code - Cleanup futex inline assembly code - Disable KMSAN instrumention for futex inline assemblies, which contain dereferenced user pointers. Otherwise, shadows for the user pointers would be accessed - PFs which are not initially configured but in standby create only a single-function PCI domain. If they are configured later on, sibling PFs and their child VFs will not be added to their PCI domain breaking SR-IOV expectations. Fix that by allowing initially configured but in standby PFs create multi-function PCI domains - Add '-std=gnu11' to decompressor and purgatory CFLAGS to avoid compile errors caused by kernel's own definitions of 'bool', 'false', and 'true' conflicting with the C23 reserved keywords - Fix sclp subsystem failure when a sclp console is not present - Fix misuse of non-NULL terminated strings in vmlogrdr driver - Various other small improvements, cleanups and fixes
Hello Linus, Qualcomm and Rockchip device support. phy-for-6.14 - New Support - Qualcomm SAR2130P qmp usb, SAR2130P qmp pcie, QCS615 qusb2 and PCIe, IPQ5424 qmp pcie, IPQ5424 QUSB2 and USB3 PHY - Rockchip rk3576 combo phy support - Updates - Drop Shengyang for JH7110 maintainer - Freescale hdmi register calculation optimization - Rockchip pcie phy mutex and regmap updates
Please git pull the following tag: xen: branch for v6.14-rc1 It contains 3 minor fixes. Thanks. Juergen
Hey Linus, of new device support and updates to few drivers, biggest of them amd ones. This is based on dmaengine fixes tag dmaengine-fix-6.13 already pulled by you. dmaengine updates for v6.14 New support: - TI J722S CSI BCDMA controller support - Intel idxd Panther Lake family platforms - Allwinner F1C100s suniv DMA - Qualcomm QCS615, QCS8300, SM8750, SA8775P GPI dma controller support - AMD ae4dma controller support and reorganisation of amd driver Updates: - Channel page support for Nvidia Tegra210 adma driver - Freescale support for S32G based platforms - Yamilfy atmel dma bindings
...to receive a small set of changes for CXL for v6.14. The changes includes a tweak to the HMAT output that was acked by Rafael, a prep patch for CXL type2 devices support that's coming soon, refactoring of the CXL regblock enumeration code, and a series of patches to update the event records to CXL spec r3.1. These all have appeared in -next for a few days with no reported issues. --- cxl changes for v6.14 - Move HMAT printouts to pr_debug() - Add CXL type2 support to cxl_dvsec_rr_decode() in preparation for type2 support - A series that updates CXL event records to spec r3.1 and related changes - Refactoring of cxl_find_regblock_instance() to count regblocks
tags/fuse-update-6.14 Add support for io-uring communication between kernel and userspace using IORING_OP_URING_CMD (Bernd Schubert). Following features enable gains in performance compared to the regular interface: - Allow processing multiple requests with less syscall overhead - Combine commit of old and fetch of new fuse request - CPU/NUMA affinity of queues Patches were reviewed by several people, including Pavel Begunkov, io-uring co-maintainer. Thanks, Miklos ---
This is a continuation of the ctl_table constification work started in commit 78eb4ea25cd5 ("sysctl: treewide: constify the ctl_table argument of proc_handlers"). That commit allows the const qualifying of the ctl_tables; with a few exceptions listed in the commit. As with previous large tree-wide PRs [1], I'm sending it at the end of the merge window to try to avoid unnecessary conflicts. I have rebased it on top of what I see as your latest master (6d61a53dd6f5), but I can rebase it again later if you prefer. Testing was done in 0-day to avoid generating unnecessary merge conflicts in linux-next. I do not expect any error/regression given that all changes contained in this PR are non-functional. Finally, if you need to regenerate it do: 1. Run the spatch [2] with the coccichekck command [3]. 2. Run the sed command [4] Best [1] https://lore.kernel.org/all/20240724210014.mc6nima6cekgiukx@joelS2.panther.com/ [2] Spatch: virtual patch @ depends on !(file in "net") disable optional_qualifier @ identifier table_name != { watchdog_hardlockup_sysctl, iwcm_ctl_table, ucma_ctl_table, memory_allocation_profiling_sysctls, loadpin_sysctl_table }; @@ + const struct ctl_table table_name [] = { ... }; [3] Spatch command: make coccicheck MODE=patch \ SPFLAGS="--in-place --include-headers --smpl-spacing --jobs=16" \ COCCI=PATCH_FILE [4] sed: sed --in-place \ -e "s/struct ctl_table .table = &uts_kern/const struct ctl_table *table = \&uts_kern/" \ kernel/utsname_sysctl.c Summary: All ctl_table declared outside of functions and that remain unmodified after initialization are const qualified. This prevents unintended modifications to proc_handler function pointers by placing them in the .rodata section. This is a continuation of the tree-wide effort started a few releases ago with the constification of the ctl_table struct arguments in the sysctl API done in 78eb4ea25cd5 ("sysctl: treewide: constify the ctl_table argument of proc_handlers") Testing: Testing was done on 0-day and sysctl selftests in x86_64. The linux-next branch was not used for such a big change in order to avoid unnecessary merge conflicts
VFIO updates for v6.14-rc1 - Extend vfio-pci 8-byte read/write support to include archs defining CONFIG_GENERIC_IOMAP, such as x86, and remove now extraneous #ifdefs around 64-bit accessors. (Ramesh Thomas) - Update vfio-pci shadow ROM handling and allow cached ROM from setup data to be exposed as a functional ROM BAR region when available. (Yunxiang Li) - Update nvgrace-gpu vfio-pci variant driver for new Grace Blackwell hardware, conditionalizing the uncached BAR workaround for previous generation hardware based on the presence of a flag in a new DVSEC capability, and include a delay during probe for link training to complete, a new requirement for GB devices. (Ankit Agrawal)
Driver core and debugfs updates Here is the big set of driver core and debugfs updates for 6.14-rc1. It's coming late in the merge cycle as there are a number of merge conflicts with your tree now, and I wanted to make sure they were working properly. To resolve them, look in linux-next, and I will send the "fixup" patch as a response to the pull request. Included in here is a bunch of driver core, PCI, OF, and platform rust bindings (all acked by the different subsystem maintainers), hence the merge conflict with the rust tree, and some driver core api updates to mark things as const, which will also require some fixups due to new stuff coming in through other trees in this merge window. There are also a bunch of debugfs updates from Al, and there is at least one user that does have a regression with these, but Al is working on tracking down the fix for it. In my use (and everyone else's linux-next use), it does not seem like a big issue at the moment. Here's a short list of the things in here: - driver core bindings for PCI, platform, OF, and some i/o functions. We are almost at the "write a real driver in rust" stage now, depending on what you want to do. - misc device rust bindings and a sample driver to show how to use them - debugfs cleanups in the fs as well as the users of the fs api for places where drivers got it wrong or were unnecessarily doing things in complex ways. - driver core const work, making more of the api take const * for different parameters to make the rust bindings easier overall. - other small fixes and updates All of these have been in linux-next with all of the aforementioned merge conflicts, and the one debugfs issue, which looks to be resolved "soon". Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This has been subjected to -next testing for more than a month and was posted to LKML here: https://lore.kernel.org/all/1712649736-27058-1-git-send-email-quic_mojha@quicinc.com/ stop_machine pull request for v6.14 Move a misplaced call to rcu_momentary_eqs() from multi_cpu_stop() to ensure that interrupts are disabled as required.
When the v6.14 merge window opens, please pull this CSD-lock update from: These have been exposed to -next testing for more than a month and were posted to LKML here: https://lore.kernel.org/all/20241209124411.5b588faa@fangorn/ CSD-lock pull request for v6.14 Allow runtime modification of the csd_lock_timeout and panic_on_ipistall module parameters.
LoongArch changes for v6.14 1, Migrate to the generic rule for built-in DTB; 2, Disable FIX_EARLYCON_MEM when ARCH_IOREMAP is enabled; 3, Derive timer max_delta from PRCFG1's timer_bits; 4, Correct the cacheinfo sharing information; 5, Add pgprot_nx() implementation; 6, Add debugfs entries to switch SFB/TSO state; 7, Change the maximum number of watchpoints; 8, Some bug fixes and other small changes.
TTY / Serial driver updates for 6.14-rc1 Here is the tty/serial driver set of changes for 6.14-rc1. Nothing major in here, it was delayed a bit due to a regression found in linux-next which has now been reverted and verified that it is fixed. Other than the reverts, highlights include: - 8250 work to get the nbcon mode working (partially reverted) - altera_jtaguart minor fixes - fsl_lpuart minor updates - sh-sci driver minor updatesa - other tiny driver updates and cleanups All of these have been in linux-next for a while, and now with no reports of problems (thanks to the reverts.) Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
We've had a slight hiccup with the KVM/arm64 tree targetting 6.14 in that Paolo mistakenly forgot to include it in his KVM pull request [1]. I understood Paolo was planning to send a follow-up pull request to you yesterday but, as that didn't materialise, I thought I'd better send it via arm64 given where we are in the merge window. Paolo -- if you'd prefer this to go via your tree, then please feel free to send a separate pull request to replace this one! I'm just making sure that we don't miss the boat for 6.14 as there's a reasonable amount of code here and we're already into the second week of the merge window. Despite the rocky journey, the patches have all been in -next. All I've done is sign the top commit of Marc's branch with a new tag using his summary. On the dependency front, the branch merges for-next/cpufeature from arm64 and kvmarm-fixes-6.13-3, both of which you have already merged separately. Marc's original pull request is available at [2] if you'd prefer to take that directly (but please note that the diff stat is slightly different from what I have here due to me using the "histogram" algorithm and Marc using whatever is the default). Cheers, Will [1] https://lore.kernel.org/all/87plkbt185.wl-maz@kernel.org/ [2] https://lore.kernel.org/all/20250117115208.1616503-1-maz@kernel.org/ --->8 KVM/arm64 updates for 6.14 * New features: - Support for non-protected guest in protected mode, achieving near feature parity with the non-protected mode - Support for the EL2 timers as part of the ongoing NV support - Allow control of hardware tracing for nVHE/hVHE * Improvements, fixes and cleanups: - Massive cleanup of the debug infrastructure, making it a bit less awkward and definitely easier to maintain. This should pave the way for further optimisations - Complete rewrite of pKVM's fixed-feature infrastructure, aligning it with the rest of KVM and making the code easier to follow - Large simplification of pKVM's memory protection infrastructure - Better handling of RES0/RES1 fields for memory-backed system registers - Add a workaround for Qualcomm's Snapdragon X CPUs, which suffer from a pretty nasty timer bug - Small collection of cleanups and low-impact fixes
This includes the following changes related to sparc for v6.14: - Improve performance for reading /proc/interrupts - Simplify irq code for sun4v - Replace zero-length array with flexible array in struct for pci for sparc64
Could you please consider this pull request? Thanks, f2fs-for-6.14-rc1 In this series, there are several major improvements such as 1) folio conversion made by Matthew, 2) speed-up of block truncation, 3) caching more dentry pages. In addition, we implemented a linear dentry search to address recent unicode regression, and figured out some false alarms that we could get rid of. Enhancement: - foilio conversion in various IO paths - optimize f2fs_truncate_data_blocks_range() - cache more dentry pages - remove unnecessary blk_finish_plug - procfs: show mtime in segment_bits Bug fix: - introduce linear search for dentries - don't call block truncation for aliased file - fix using wrong 'submitted' value in f2fs_write_cache_pages - fix to do sanity check correctly on i_inline_xattr_size - avoid trying to get invalid block address - fix inconsistent dirty state of atomic file
USB / Thunderbolt driver updates for 6.14-rc1 Here is the USB and Thunderbolt driver updates for 6.14-rc1. Nothing huge in here, just lots of new hardware support and updates for existing drivers. Changes here are: - big gadget f_tcm driver update - other gadget driver updates and fixes - thunderbolt driver updates for new hardware and capabilities and lots more debugging functionality to handle it when things aren't working well. - xhci driver updates - new USB-serial device updates - typec driver updates, including a chrome platform driver (acked by the subsystem maintainers) - other small driver updates All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Staging driver updates for 6.14-rc1 Here's the pretty small staging driver tree update for 6.14-rc1. Not much happened this development cycle: - deleted some unused ioctl code from the rtl8723bs driver - gpib driver cleanups and fixes - other tiny minor coding style fixes. All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [GIT PULL] power-supply changes for 6.14 MIME-Version: 1.0 Hi Linus, Here are the power-supply changes for the v6.14 cycle. There is one change to the dell-laptop x86 platform driver, which goes to my tree due to dependencies. Otherwise business as usual with quite some core changes thanks to Thomas Wei=DFschuh, which will hopefully help cleaning up the x86 charge threshold platform drivers in the next releases. No merge issues have been noticed in linux-next. Greetings, -- Sebastian power supply and reset changes for the 6.14 series * power-supply core - introduce power supply extensions, which allows adding properties to a power supply device from a separate driver. This will be used initially to extend the generic ACPI charger/battery driver with vendor extensions for charge thresholds. - convert all drivers from power_supply_for_each_device to new power_supply_for_each_psy(), which avoids lots of casting being done in the drivers. - avoid LED trigger like values in uevent for POWER_SUPPLY_PROP_CHARGE_BE= HAVIOUR - introduce POWER_SUPPLY_PROP_CHARGE_TYPES, which is similar to the POWER_SUPPLY_PROP_CHARGE_TYPE property, but also lists the available options on the specific platform * power-supply drivers - dell-laptop: use new power_supply_charge_types_show/_parse helpers - stc3117: new driver for equally named fuel gauge chip - bq24190: add support for new POWER_SUPPLY_PROP_CHARGE_TYPES - bq24190: add BQ24297 support - bq27xxx: add voltage min design for bq27000/bq27200 - cros_charge-control: convert to new power supply extension API - multiple drivers: constify 'struct bin_attribute' - ds2782: convert to device managed resources - max1720x: add charge full property - max1720x: support extra thermistor temperatures - max17042: add max77705 support - ip5xxx-power: add support for IP5306 - ltc4162-l-charger: add ltc4162-f/s and ltc4015 support - gpio-charger: support for default charge current limit - misc. small cleanups and fixes * reset drivers - at91-poweroff: add sam9x7 support
NFSD 6.14 Release Notes Jeff Layton contributed an implementation of NFSv4.2+ attribute delegation, as described here: https://www.ietf.org/archive/id/draft-ietf-nfsv4-delstid-08.html This interoperates with similar functionality introduced into the Linux NFS client in v6.11. An attribute delegation permits an NFS client to manage a file's mtime, rather than flushing dirty data to the NFS server so that the file's mtime reflects the last write, which is considerably slower. Neil Brown contributed dynamic NFSv4.1 session slot table resizing. This facility enables NFSD to increase or decrease the number of slots per NFS session depending on server memory availability. More session slots means greater parallelism. Chuck Lever fixed a long-standing latent bug where NFSv4 COMPOUND encoding screws up when crossing a page boundary in the encoding buffer. This is a zero-day bug, but hitting it is rare and depends on the NFS client implementation. The Linux NFS client does not happen to trigger this issue. A variety of bug fixes and other incremental improvements fill out the list of commits in this release. Great thanks to all contributors, reviewers, testers, and bug reporters who participated during this development cycle.
Just a single fix to correct the clock rate defined for the internal timer hardware blocks of the ColdFire 5441x family of SoC devices. Regards Greg m68knommu: updates and fixes for v6.14 Fixes include: . use proper clock rate for ColdFire 5441x platforms
thanks. Conflicts which I am seeing at this time, along with their linux-next resolutions are: include/linux/seqlock.h: trivial kerneldoc fixup kernel/rcu/tree.c, vs slab tree: https://lkml.kernel.org/r/20241216152721.15c5864d@canb.auug.org.au Forthcoming build issues and their linux-next resolutions are: io_uring/memmap.c, vs block tree: https://lkml.kernel.org/r/20250110124406.17190e3a@canb.auug.org.au Forthcoming conflicts are: kernel/rcu/tree.c, vs rcu tree: https://lkml.kernel.org/r/20241220133738.1beae531@canb.auug.org.au arch/arm64/mm/pageattr.c vs arm64 tree: https://lkml.kernel.org/r/20241024103709.082a6950@canb.auug.org.au include/linux/mm.h vs arm64 tree: https://lkml.kernel.org/r/20241028111058.4419a9ed@canb.auug.org.au arch/s390/include/asm/set_memory.h, arch/s390/mm/pageattr.c vs s390 tree: https://lkml.kernel.org/r/20241028111606.5c009055@canb.auug.org.au arch/s390/mm/pageattr.c, vs s390 tree: https://lkml.kernel.org/r/20241114101639.282d82a8@canb.auug.org.au lib/Makefile, vs asm-generic tree: https://lkml.kernel.org/r/20241029095525.0fba9d23@canb.auug.org.au drivers/block/zram/zram_drv.c, vs block tree: https://lkml.kernel.org/r/20241111135241.1640f547@canb.auug.org.au include/linux/mm.h include/linux/mm_types.h kernel/fork.c tools/testing/vma/vma_internal.h, vs tip tree: https://lkml.kernel.org/r/20241209132446.77fcb14b@canb.auug.org.au (hopefully not an issue - both trees were carrying the same patches) scripts/checkpatch.pl, vs jc_docs tree: https://lkml.kernel.org/r/20250106095826.140c01cb@canb.auug.org.au drivers/gpu/drm/i915/display/intel_display_driver.c, vs drm-intel tree: https://lkml.kernel.org/r/20250106130348.73a5fae6@canb.auug.org.au arch/powerpc/Kconfig, vs powerpc tree: https://lkml.kernel.org/r/20250109104611.2491cc3b@canb.auug.org.au The various patchsets are summarized below. Plus of course many indivudual patches which are described in their changelogs. - "Allocate and free frozen pages" from Matthew Wilcox reorganizes the page allocator so we end up with the ability to allocate and free zero-refcount pages. So that callers (ie, slab) can avoid a refcount inc & dec. - "Support large folios for tmpfs" from Baolin Wang teaches tmpfs to use large folios other than PMD-sized ones. - "Fix mm/rodata_test" from Petr Tesarik performs some maintenance and fixes for this small built-in kernel selftest. - "mas_anode_descend() related cleanup" from Wei Yang tidies up part of the mapletree code. - "mm: fix format issues and param types" from Keren Sun implements a few minor code cleanups. - "simplify split calculation" from Wei Yang provides a few fixes and a test for the mapletree code. - "mm/vma: make more mmap logic userland testable" from Lorenzo Stoakes continues the work of moving vma-related code into the (relatively) new mm/vma.c. - "mm/page_alloc: gfp flags cleanups for alloc_contig_*()" from David Hildenbrand cleans up and rationalizes handling of gfp flags in the page allocator. - "readahead: Reintroduce fix for improper RA window sizing" from Jan Kara is a second attempt at fixing a readahead window sizing issue. It should reduce the amount of unnecessary reading. - "synchronously scan and reclaim empty user PTE pages" from Qi Zheng addresses an issue where "huge" amounts of pte pagetables are accumulated (https://lore.kernel.org/lkml/cover.1718267194.git.zhengqi.arch@bytedance= .com/). Qi's series addresses this windup by synchronously freeing PTE memory within the context of madvise(MADV_DONTNEED). - "selftest/mm: Remove warnings found by adding compiler flags" from Muhammad Usama Anjum fixes some build warnings in the selftests code when optional compiler warnings are enabled. - "mm: don't use __GFP_HARDWALL when migrating remote pages" from David Hildenbrand tightens the allocator's observance of __GFP_HARDWALL. - "pkeys kselftests improvements" from Kevin Brodsky implements various fixes and cleanups in the MM selftests code, mainly pertaining to the pkeys tests. - "mm/damon: add sample modules" from SeongJae Park enhances DAMON to estimate application working set size. - "memcg/hugetlb: Rework memcg hugetlb charging" from Joshua Hahn provides some cleanups to memcg's hugetlb charging logic. - "mm/swap_cgroup: remove global swap cgroup lock" from Kairui Song removes the global swap cgroup lock. A speedup of 10% for a tmpfs-based kernel build was demonstrated. - "zram: split page type read/write handling" from Sergey Senozhatsky has several fixes and cleaups for zram in the area of zram_write_page(). A watchdog softlockup warning was eliminated. - "move pagetable_*_dtor() to __tlb_remove_table()" from Kevin Brodsky cleans up the pagetable destructor implementations. A rare use-after-free race is fixed. - "mm/debug: introduce and use VM_WARN_ON_VMG()" from Lorenzo Stoakes simplifies and cleans up the debugging code in the VMA merging logic. - "Account page tables at all levels" from Kevin Brodsky cleans up and regularizes the pagetable ctor/dtor handling. This results in improvements in accounting accuracy. - "mm/damon: replace most damon_callback usages in sysfs with new core functions" from SeongJae Park cleans up and generalizes DAMON's sysfs file interface logic. - "mm/damon: enable page level properties based monitoring" from SeongJae Park increases the amount of information which is presented in response to DAMOS actions. - "mm/damon: remove DAMON debugfs interface" from SeongJae Park removes DAMON's long-deprecated debugfs interfaces. Thus the migration to sysfs is completed. - "mm/hugetlb: Refactor hugetlb allocation resv accounting" from Peter Xu cleans up and generalizes the hugetlb reservation accounting. - "mm: alloc_pages_bulk: small API refactor" from Luiz Capitulino removes a never-used feature of the alloc_pages_bulk() interface. - "mm/damon: extend DAMOS filters for inclusion" from SeongJae Park extends DAMOS filters to support not only exclusion (rejecting), but also inclusion (allowing) behavior. - "Add zpdesc memory descriptor for zswap.zpool" from Alex Shi "introduces a new memory descriptor for zswap.zpool that currently overlaps with struct page for now. This is part of the effort to reduce the size of struct page and to enable dynamic allocation of memory descriptors." - "mm, swap: rework of swap allocator locks" from Kairui Song redoes and simplifies the swap allocator locking. A speedup of 400% was demonstrated for one workload. As was a 35% reduction for kernel build time with swap-on-zram. - "mm: update mips to use do_mmap(), make mmap_region() internal" from Lorenzo Stoakes reworks MIPS's use of mmap_region() so that mmap_region() can be made MM-internal. - "mm/mglru: performance optimizations" from Yu Zhao fixes a few MGLRU regressions and otherwise improves MGLRU performance. - "Docs/mm/damon: add tuning guide and misc updates" from SeongJae Park updates DAMON documentation. - "Cleanup for memfd_create()" from Isaac Manjarres does that thing. - "mm: hugetlb+THP folio and migration cleanups" from David Hildenbrand provides various cleanups in the areas of hugetlb folios, THP folios and migration. - "Uncached buffered IO" from Jens Axboe implements the new RWF_DONTCACHE flag which provides synchronous dropbehind for pagecache reading and writing. To permite userspace to address issues with massive buildup of useless pagecache when reading/writing fast devices. - "selftests/mm: virtual_address_range: Reduce memory" from Thomas Wei=DFschuh fixes and optimizes some of the MM selftests.
Modules changes for 6.14-rc1 Several fixes and small improvements are present: - Sign modules with sha512 instead of sha1 by default - Don't fail module loading when setting ro_after_init section RO failed - Constify 'struct module_attribute' - Cleanups and preparation for const struct bin_attribute - Put known GPL offenders in an array - Extend the preempt disabled section in dereference_symbol_descriptor() This has been all on linux-next for at least 2 weeks with no issues. A small merge conflict between the changes here and a pull from the driver-core tree might appear in kernel/module/sysfs.c, function add_notes_attrs(). The code has been cleaned up here and the driver-core additionally changes nattr->read to nattr->read_new. Related to the modules, an important new tool gendwarfksyms to calculate symbols CRCs from DWARF data and thereby enable the modversion support for Rust should come through the kbuild tree.
Please merge the firewire updates for the 6.14 kernel. firewire updates for v6.14 Two changes for the 6.14 kernel. The first change concerns the PCI driver for 1394 OHCI hardware. Previously, it used legacy PCI suspend/resume callbacks, which have now been replaced with callbacks defined in the Linux generic power management framework. This original patch was posted in 2020 and has been adapted with some modifications for the latest kernel. Note that the driver still includes platform-specific operations for PowerPC, and these operations have not been tested in the new implementation yet. It would be helpful to share the results of suspending/resuming on the platform. The rest is a minor fix for the memory allocation in some KUnit tests.
kgdb patches for 6.14 A very small set of changes this kernel cycle. It consists of two cleanups, one switches to kmap_local_page() (from kmap_atomic() ) and the other removes a bit of dead code. Signed-off-by: Daniel Thompson (RISCstar) <danielt@kernel.org>
remoteproc updates for v6.14 Correct error path in rproc_alloc(), with regards to put_device() and freeing of the rproc index ida. The Mediatek SCP remoteproc driver is returned to only creating child devices from specific DeviceTree nodes. OMAP remoteproc driver is updated to match the cleanups in the OMAP iommu driver. In addition to this, a number of conversions to devres and other small, mostly stylistic, code cleanups.
rv: tools/rtla: Updates for 6.14 - Add a test suite to test the tool Add a small test suite that can be used to test rtla's basic features to at least have something to test when applying changes. - Automate manual steps in monitor creation While creating a new monitor in RV, besides generating code from dot2k, there are a few manual steps which can be tedious and error prone, like adding the tracepoints, makefile lines and kconfig, or selecting events that start the monitor in the initial state. Updates were made to try and automate as much as possible among those steps to make creating a new RV monitor much quicker. It is still requires to select proper tracepoints, this step is harder to automate in a general way and, in several cases, would still need user intervention. - Have rtla timerlat hist and top set OSNOISE_WORKLOAD flag Have both rtla-timerlat-hist and rtla-timerlat-top set OSNOISE_WORKLOAD to the proper value ("on" when running with -k, "off" when running with -u) every time the option is available instead of setting it only when running with -u. This prevents rtla timerlat -k from giving no results when NO_OSNOISE_WORKLOAD is set, either manually or by an abnormally exited earlier run of rtla timerlat -u. - Stop rtla timerlat on signal properly when overloaded There is an issue where if rtla is run on machines with a high number of CPUs (100+), timerlat can generate more samples than rtla is able to process via tracefs_iterate_raw_events. This is especially common when the interval is set to 100us (rteval and cyclictest default) as opposed to the rtla default of 1000us, but also happens with the rtla default. Currently, this leads to rtla hanging and having to be terminated with SIGTERM. SIGINT setting stop_tracing is not enough, since more and more events are coming and tracefs_iterate_raw_events never exits. To fix this: Stop the timerlat tracer on SIGINT/SIGALRM to ensure no more events are generated when rtla is supposed to exit. Also on receiving SIGINT/SIGALRM twice, abort iteration immediately with tracefs_iterate_stop, making rtla exit right away instead of waiting for all events to be processed. - Account for missed events Due to tracefs buffer overflow, it can happen that rtla misses events, making the tracing results inaccurate. Count both the number of missed events and the total number of processed events, and display missed events as well as their percentage. The numbers are displayed for both osnoise and timerlat, even though for the earlier, missed events are generally not expected. For hist, the number is displayed at the end of the run; for top, it is displayed on each printing of the top table. - Changes to make osnoise more robust There was a dependency in the code that the first field of the osnoise_tool structure was the trace field. If that that ever changed, then the code work break. Change the code to encapsulate this dependency where the code that uses the structure does not have this dependency. trace-tools-v6.14
Could you consider this pull request for 6.14-rc1? Still no outstanding feature for this cycle, as some ongoing improvements remain premature for now. It includes a micro-optimization for the superblock checksum, along with minor bugfixes and code cleanups, as usual. All commits have been in -next for a while and no potential merge conflict is observed. Thanks, Gao Xiang Changes since last update: - Micro-optimize superblock checksum; - Avoid overly large bvecs[] for file-backed mounts; - Some leftover folio conversion in z_erofs_bind_cache(); - Minor bugfixes and cleanups.
Conflicts which I am seeing, along with their linux-next resolutions are: drivers/gpu/drm/i915/display/intel_display_driver.c, vs drm-intel tree: https://lkml.kernel.org/r/20250106130348.73a5fae6@canb.auug.org.au scripts/checkpatch.pl, vs jc_docs tree: https://lkml.kernel.org/r/20250106095826.140c01cb@canb.auug.org.au Forthcoming conflicts include: kernel/auditsc.c vs security tree: https://lkml.kernel.org/r/20241014144648.1923104a@canb.auug.org.au security/lsm_audit.c vs security tree: https://lkml.kernel.org/r/20241023123139.127ad800@canb.auug.org.au Mainly individually changelogged singleton patches. The patch series in this pull are: - "lib min_heap: Improve min_heap safety, testing, and documentation" from Kuan-Wei Chiu provides various tightenings to the min_heap library code. - "xarray: extract __xa_cmpxchg_raw" from Tamir Duberstein preforms some cleanup and Rust preparation in the xarray library code. - "Update reference to include/asm-<arch>" from Geert Uytterhoeven fixes pathnames in some code comments. - "Converge on using secs_to_jiffies()" from Easwar Hariharan uses the new secs_to_jiffies() in various places where that is appropriate. - "ocfs2, dlmfs: convert to the new mount API" from Eric Sandeen switches two filesystems to the new mount API. - "Convert ocfs2 to use folios" from Matthew Wilcox does that. - "Remove get_task_comm() and print task comm directly" from Yafang Shao removes now-unneeded calls to get_task_comm() in various places. - "squashfs: reduce memory usage and update docs" from Phillip Lougher implements some memory savings in squashfs and performs some maintainability work. - "lib: clarify comparison function requirements" from Kuan-Wei Chiu tightens the sort code's behaviour and adds some maintenance work. - "nilfs2: protect busy buffer heads from being force-cleared" from Ryusuke Konishi fixes an issues in nlifs when the fs is presented with a corrupted image. - "nilfs2: fix kernel-doc comments for function return values" from Ryusuke Konishi fixes some nilfs kerneldoc. - "nilfs2: fix issues with rename operations" from Ryusuke Konishi addresses some nilfs BUG_ONs which syzbot was able to trigger. - "minmax.h: Cleanups and minor optimisations" from David Laight does some maintenance work on the min/max library code. - "Fixes and cleanups to xarray" from Kemeng Shi does maintenance work on the xarray library code.
OpenRISC updates for 6.14 A few updates from me and the community: * Added support for restartable sequences * Migration to Generic built-in DTB from Masahiro Yamada
Hi Linus, This includes const_true() series from Vincent Mailhol, another __always_inline rework from Nathan Chancellor for RISCV, and a couple random fixes from Dr. David Alan Gilbert and I Hsin Cheng. Thanks, Yury
thanks. Conflicts which I am seeing at this time, along with their linux-next resolutions are: include/linux/seqlock.h: trivial kerneldoc fixup kernel/rcu/tree.c, vs slab tree: https://lkml.kernel.org/r/20241216152721.15c5864d@canb.auug.org.au Forthcoming build issues and their linux-next resolutions are: io_uring/memmap.c, vs block tree: https://lkml.kernel.org/r/20250110124406.17190e3a@canb.auug.org.au Forthcoming conflicts are: kernel/rcu/tree.c, vs rcu tree: https://lkml.kernel.org/r/20241220133738.1beae531@canb.auug.org.au arch/arm64/mm/pageattr.c vs arm64 tree: https://lkml.kernel.org/r/20241024103709.082a6950@canb.auug.org.au include/linux/mm.h vs arm64 tree: https://lkml.kernel.org/r/20241028111058.4419a9ed@canb.auug.org.au arch/s390/include/asm/set_memory.h, arch/s390/mm/pageattr.c vs s390 tree: https://lkml.kernel.org/r/20241028111606.5c009055@canb.auug.org.au arch/s390/mm/pageattr.c, vs s390 tree: https://lkml.kernel.org/r/20241114101639.282d82a8@canb.auug.org.au lib/Makefile, vs asm-generic tree: https://lkml.kernel.org/r/20241029095525.0fba9d23@canb.auug.org.au drivers/block/zram/zram_drv.c, vs block tree: https://lkml.kernel.org/r/20241111135241.1640f547@canb.auug.org.au include/linux/mm.h include/linux/mm_types.h kernel/fork.c tools/testing/vma/vma_internal.h, vs tip tree: https://lkml.kernel.org/r/20241209132446.77fcb14b@canb.auug.org.au (hopefully not an issue - both trees were carrying the same patches) scripts/checkpatch.pl, vs jc_docs tree: https://lkml.kernel.org/r/20250106095826.140c01cb@canb.auug.org.au drivers/gpu/drm/i915/display/intel_display_driver.c, vs drm-intel tree: https://lkml.kernel.org/r/20250106130348.73a5fae6@canb.auug.org.au arch/powerpc/Kconfig, vs powerpc tree: https://lkml.kernel.org/r/20250109104611.2491cc3b@canb.auug.org.au The various patchsets are summarized below. Plus of course many indivudual patches which are described in their changelogs. - "Allocate and free frozen pages" from Matthew Wilcox reorganizes the page allocator so we end up with the ability to allocate and free zero-refcount pages. So that callers (ie, slab) can avoid a refcount inc & dec. - "Support large folios for tmpfs" from Baolin Wang teaches tmpfs to use large folios other than PMD-sized ones. - "Fix mm/rodata_test" from Petr Tesarik performs some maintenance and fixes for this small built-in kernel selftest. - "mas_anode_descend() related cleanup" from Wei Yang tidies up part of the mapletree code. - "mm: fix format issues and param types" from Keren Sun implements a few minor code cleanups. - "simplify split calculation" from Wei Yang provides a few fixes and a test for the mapletree code. - "mm/vma: make more mmap logic userland testable" from Lorenzo Stoakes continues the work of moving vma-related code into the (relatively) new mm/vma.c. - "mm/page_alloc: gfp flags cleanups for alloc_contig_*()" from David Hildenbrand cleans up and rationalizes handling of gfp flags in the page allocator. - "readahead: Reintroduce fix for improper RA window sizing" from Jan Kara is a second attempt at fixing a readahead window sizing issue. It should reduce the amount of unnecessary reading. - "synchronously scan and reclaim empty user PTE pages" from Qi Zheng addresses an issue where "huge" amounts of pte pagetables are accumulated (https://lore.kernel.org/lkml/cover.1718267194.git.zhengqi.arch@bytedance= .com/). Qi's series addresses this windup by synchronously freeing PTE memory within the context of madvise(MADV_DONTNEED). - "selftest/mm: Remove warnings found by adding compiler flags" from Muhammad Usama Anjum fixes some build warnings in the selftests code when optional compiler warnings are enabled. - "mm: don't use __GFP_HARDWALL when migrating remote pages" from David Hildenbrand tightens the allocator's observance of __GFP_HARDWALL. - "pkeys kselftests improvements" from Kevin Brodsky implements various fixes and cleanups in the MM selftests code, mainly pertaining to the pkeys tests. - "mm/damon: add sample modules" from SeongJae Park enhances DAMON to estimate application working set size. - "memcg/hugetlb: Rework memcg hugetlb charging" from Joshua Hahn provides some cleanups to memcg's hugetlb charging logic. - "mm/swap_cgroup: remove global swap cgroup lock" from Kairui Song removes the global swap cgroup lock. A speedup of 10% for a tmpfs-based kernel build was demonstrated. - "zram: split page type read/write handling" from Sergey Senozhatsky has several fixes and cleaups for zram in the area of zram_write_page(). A watchdog softlockup warning was eliminated. - "move pagetable_*_dtor() to __tlb_remove_table()" from Kevin Brodsky cleans up the pagetable destructor implementations. A rare use-after-free race is fixed. - "mm/debug: introduce and use VM_WARN_ON_VMG()" from Lorenzo Stoakes simplifies and cleans up the debugging code in the VMA merging logic. - "Account page tables at all levels" from Kevin Brodsky cleans up and regularizes the pagetable ctor/dtor handling. This results in improvements in accounting accuracy. - "mm/damon: replace most damon_callback usages in sysfs with new core functions" from SeongJae Park cleans up and generalizes DAMON's sysfs file interface logic. - "mm/damon: enable page level properties based monitoring" from SeongJae Park increases the amount of information which is presented in response to DAMOS actions. - "mm/damon: remove DAMON debugfs interface" from SeongJae Park removes DAMON's long-deprecated debugfs interfaces. Thus the migration to sysfs is completed. - "mm/hugetlb: Refactor hugetlb allocation resv accounting" from Peter Xu cleans up and generalizes the hugetlb reservation accounting. - "mm: alloc_pages_bulk: small API refactor" from Luiz Capitulino removes a never-used feature of the alloc_pages_bulk() interface. - "mm/damon: extend DAMOS filters for inclusion" from SeongJae Park extends DAMOS filters to support not only exclusion (rejecting), but also inclusion (allowing) behavior. - "Add zpdesc memory descriptor for zswap.zpool" from Alex Shi "introduces a new memory descriptor for zswap.zpool that currently overlaps with struct page for now. This is part of the effort to reduce the size of struct page and to enable dynamic allocation of memory descriptors." - "mm, swap: rework of swap allocator locks" from Kairui Song redoes and simplifies the swap allocator locking. A speedup of 400% was demonstrated for one workload. As was a 35% reduction for kernel build time with swap-on-zram. - "mm: update mips to use do_mmap(), make mmap_region() internal" from Lorenzo Stoakes reworks MIPS's use of mmap_region() so that mmap_region() can be made MM-internal. - "mm/mglru: performance optimizations" from Yu Zhao fixes a few MGLRU regressions and otherwise improves MGLRU performance. - "Docs/mm/damon: add tuning guide and misc updates" from SeongJae Park updates DAMON documentation. - "Cleanup for memfd_create()" from Isaac Manjarres does that thing. - "mm: hugetlb+THP folio and migration cleanups" from David Hildenbrand provides various cleanups in the areas of hugetlb folios, THP folios and migration. - "Uncached buffered IO" from Jens Axboe implements the new RWF_DONTCACHE flag which provides synchronous dropbehind for pagecache reading and writing. To permite userspace to address issues with massive buildup of useless pagecache when reading/writing fast devices. - "selftests/mm: virtual_address_range: Reduce memory" from Thomas Wei=DFschuh fixes and optimizes some of the MM selftests.
Rob Devicetree updates for v6.14: DT Bindings: - Add Bindings for QCom QCS615 UFS, QCom IPQ5424 DWC3 USB, NXP imx7d MIPI DSI, QCom SM8750 PDC, QCom MSM8976 SRAM, QCom ipq6018 temp sensor, QCom QCS8300 Power Domain Controller, QCom QCS615 Power Domain Controller, QCom QCS615 APSS, QCom QCS615 qfprom, QCom QCS8300 remoteproc, Mediatek MT6328 PMIC, Allwinner A100 OPP, and NXP iMX35 GPT - Convert Altera socfpga-system, raspberrypi,bcm2835-power to DT schema - Add Siflower vendor prefix - Cleanup display, interrupt-controller, and UFS binding examples' indentation - Document preferred line wrapping (the same as the rest of the kernel) DT Core: - Add warning when of_property_read_bool() is used on non-boolean properties - Restore keeping bootloader DTB when booting with ACPI. Turns out some x86 platforms relied on that. Shrug. - Fix of_find_node_opts_by_path() handling of alias+path+options - Fix resource bounds checking for empty resources - A bunch of small fixes/cleanups all over from Zijun Hu - Cleanups in bin_attribute handling
Enumeration: - Batch sizing of multiple BARs while memory decoding is disabled instead of disabling/enabling decoding for each BAR individually; this optimizes virtualized environments where toggling decoding enable is expensive (Alex Williamson) - Add host bridge .enable_device() and .disable_device() hooks for bridges that need to configure things like Requester ID to StreamID mapping when enabling devices (Frank Li) - Extend struct pci_ecam_ops with .enable_device() and .disable_device() hooks so drivers that use pci_host_common_probe() instead of their own .probe() have a way to set the .enable_device() callbacks (Marc Zyngier) - Drop 'No bus range found' message so we don't complain when DTs don't specify the default 'bus-range = <0x00 0xff>' (Bjorn Helgaas) - Rename the drivers/pci/of_property.c struct of_pci_range to of_pci_range_entry to avoid confusion with the global of_pci_range in include/linux/of_address.h (Bjorn Helgaas) Driver binding: - Update resource request API documentation to encourage callers to supply a driver name when requesting resources (Philipp Stanner) - Export pci_intx_unmanaged() and pcim_intx() (always managed) so callers of pci_intx() (which is sometimes managed) can explicitly choose the one they need (Philipp Stanner) - Convert drivers from pci_intx() to always-managed pcim_intx() or never-managed pci_intx_unmanaged(): amd_sfh, ata (ahci, ata_piix, pata_rdc, sata_sil24, sata_sis, sata_uli, sata_vsc), bnx2x, bna, ntb, qtnfmac, rtsx, tifm_7xx1, vfio, xen-pciback (Philipp Stanner) - Remove pci_intx_unmanaged() since pci_intx() is now always unmanaged and pcim_intx() is always managed (Philipp Stanner) Error handling: - Unexport pcie_read_tlp_log() to encourage drivers to use PCI core logging rather than building their own (Ilpo Järvinen) - Move TLP Log handling to its own file (Ilpo Järvinen) - Store number of supported End-End TLP Prefixes always so we can read the correct number of DWORDs from the TLP Prefix Log (Ilpo Järvinen) - Read TLP Prefixes in addition to the Header Log in pcie_read_tlp_log() (Ilpo Järvinen) - Add pcie_print_tlp_log() to consolidate printing of TLP Header and Prefix Log (Ilpo Järvinen) - Quirk the Intel Raptor Lake-P PIO log size to accommodate vendor BIOSes that don't configure it correctly (Takashi Iwai) ASPM: - Save parent L1 PM Substates config so when we restore it along with an endpoint's config, the parent info isn't junk (Jian-Hong Pan) Power management: - Avoid D3 for Root Ports on TUXEDO Sirius Gen1 with old BIOS because the system can't wake up from suspend (Werner Sembach) Endpoint framework: - Destroy the EPC device in devm_pci_epc_destroy(), which previously didn't call devres_release() (Zijun Hu) - Finish virtual EP removal in pci_epf_remove_vepf(), which previously caused a subsequent pci_epf_add_vepf() to fail with -EBUSY (Zijun Hu) - Write BAR_MASK before iATU registers in pci_epc_set_bar() so we don't depend on the BAR_MASK reset value being larger than the requested BAR size (Niklas Cassel) - Prevent changing BAR size/flags in pci_epc_set_bar() to prevent reads from bypassing the iATU if we reduced the BAR size (Niklas Cassel) - Verify address alignment when programming iATU so we don't attempt to write bits that are read-only because of the BAR size, which could lead to directing accesses to the wrong address (Niklas Cassel) - Implement artpec6 pci_epc_features so we can rely on all drivers supporting it so we can use it in EPC core code (Niklas Cassel) - Check for BARs of fixed size to prevent endpoint drivers from trying to change their size (Niklas Cassel) - Verify that requested BAR size is a power of two when endpoint driver sets the BAR (Niklas Cassel) Endpoint framework tests: - Clear pci-epf-test dma_chan_rx, not dma_chan_tx, after freeing dma_chan_rx (Mohamed Khalfella) - Correct the DMA MEMCPY test so it doesn't fail if the Endpoint supports both DMA_PRIVATE and DMA_MEMCPY (Manivannan Sadhasivam) - Add pci-epf-test and pci_endpoint_test support for capabilities (Niklas Cassel) - Add Endpoint test for consecutive BARs (Niklas Cassel) - Remove redundant comparison from Endpoint BAR test because a > 1MB BAR can always be exactly covered by iterating with a 1MB buffer (Hans Zhang) - Move and convert PCI Endpoint tests from tools/pci to Kselftests (Manivannan Sadhasivam) Apple PCIe controller driver: - Convert StreamID mapping configuration from a bus notifier to the .enable_device() and .disable_device() callbacks (Marc Zyngier) Freescale i.MX6 PCIe controller driver: - Add Requester ID to StreamID mapping configuration when enabling devices (Frank Li) - Use DWC core suspend/resume functions for imx6 (Frank Li) - Add suspend/resume support for i.MX8MQ, i.MX8Q, and i.MX95 (Richard Zhu) - Add DT compatible string 'fsl,imx8q-pcie-ep' and driver support for i.MX8Q series (i.MX8QM, i.MX8QXP, and i.MX8DXL) Endpoints (Frank Li) - Add DT binding for optional i.MX95 Refclk and driver support to enable it if the platform hasn't enabled it (Richard Zhu) - Configure PHY based on controller being in Root Complex or Endpoint mode (Frank Li) - Rely on dbi2 and iATU base addresses from DT via dw_pcie_get_resources() instead of hardcoding them (Richard Zhu) - Deassert apps_reset in imx_pcie_deassert_core_reset() since it is asserted in imx_pcie_assert_core_reset() (Richard Zhu) - Add missing reference clock enable or disable logic for IMX6SX, IMX7D, IMX8MM (Richard Zhu) - Remove redundant imx7d_pcie_init_phy() since imx7d_pcie_enable_ref_clk() does the same thing (Richard Zhu) Freescale Layerscape PCIe controller driver: - Simplify by using syscon_regmap_lookup_by_phandle_args() instead of syscon_regmap_lookup_by_phandle() followed by of_property_read_u32_array() (Krzysztof Kozlowski) Marvell MVEBU PCIe controller driver: - Add MODULE_DEVICE_TABLE() to enable module autoloading (Liao Chen) MediaTek PCIe Gen3 controller driver: - Use clk_bulk_prepare_enable() instead of separate clk_bulk_prepare() and clk_bulk_enable() (Lorenzo Bianconi) - Rearrange reset assert/deassert so they're both done in the *_power_up() callbacks (Lorenzo Bianconi) - Document that Airoha EN7581 requires PHY init and power-on before PHY reset deassert, unlike other MediaTek Gen3 controllers (Lorenzo Bianconi) - Move Airoha EN7581 post-reset delay from the en7581 clock .enable() method to mtk_pcie_en7581_power_up() (Lorenzo Bianconi) - Sleep instead of delay during Airoha EN7581 power-up, since this is a non-atomic context (Lorenzo Bianconi) - Skip PERST# assertion on Airoha EN7581 during probe and suspend/resume to avoid a hardware defect (Lorenzo Bianconi) - Enable async probe to reduce system startup time (Douglas Anderson) Microchip PolarFlare PCIe controller driver: - Set up the inbound address translation based on whether the platform allows coherent or non-coherent DMA (Daire McNamara) - Update DT binding such that platforms are DMA-coherent by default and must specify 'dma-noncoherent' if needed (Conor Dooley) Mobiveil PCIe controller driver: - Convert mobiveil-pcie.txt to YAML and update 'interrupt-names' and 'reg-names' (Frank Li) Qualcomm PCIe controller driver: - Add DT SM8550 and SM8650 optional 'global' interrupt for link events (Neil Armstrong) - Add DT 'compatible' strings for IPQ5424 PCIe controller (Manikanta Mylavarapu) - If 'global' IRQ is supported for detection of Link Up events, tell DWC core not to wait for link up (Krishna chaitanya chundru) Renesas R-Car PCIe controller driver: - Avoid passing stack buffer as resource name (King Dix) Rockchip PCIe controller driver: - Simplify clock and reset handling by using bulk interfaces (Anand Moon) - Pass typed rockchip_pcie (not void) pointer to rockchip_pcie_disable_clocks() (Anand Moon) - Return -ENOMEM, not success, when pci_epc_mem_alloc_addr() fails (Dan Carpenter) Rockchip DesignWare PCIe controller driver: - Use dll_link_up IRQ to detect Link Up and enumerate devices so users don't have to manually rescan (Niklas Cassel) - Tell DWC core not to wait for link up since the 'sys' interrupt is required and detects Link Up events (Niklas Cassel) Synopsys DesignWare PCIe controller driver: - Don't wait for link up in DWC core if driver can detect Link Up event (Krishna chaitanya chundru) - Update ICC and OPP votes after Link Up events (Krishna chaitanya chundru) - Always stop link in dw_pcie_suspend_noirq(), which is required at least for i.MX8QM to re-establish link on resume (Richard Zhu) - Drop racy and unnecessary LTSSM state check before sending PME_TURN_OFF message in dw_pcie_suspend_noirq() (Richard Zhu) - Add struct of_pci_range.parent_bus_addr for devices that need their immediate parent bus address, not the CPU address, e.g., to program an internal Address Translation Unit (iATU) (Frank Li) TI DRA7xx PCIe controller driver: - Simplify by using syscon_regmap_lookup_by_phandle_args() instead of syscon_regmap_lookup_by_phandle() followed by of_parse_phandle_with_fixed_args() or of_property_read_u32_index() (Krzysztof Kozlowski) Xilinx Versal CPM PCIe controller driver: - Add DT binding and driver support for Xilinx Versal CPM5 (Thippeswamy Havalige) MicroSemi Switchtec management driver: - Add Microchip PCI100X device IDs (Rakesh Babu Saladi) Miscellaneous: - Move reset related sysfs code from pci.c to pci-sysfs.c where other similar code lives (Ilpo Järvinen) - Simplify reset_method_store() memory management by using __free() instead of explicit kfree() cleanup (Ilpo Järvinen) - Constify struct bin_attribute for sysfs, VPD, P2PDMA, and the IBM ACPI hotplug driver (Thomas Weißschuh) - Remove redundant PCI_VSEC_HDR and PCI_VSEC_HDR_LEN_SHIFT (Dongdong Zhang) - Correct documentation of the 'config_acs=' kernel parameter (Akihiko Odaki)
This is my set of branches for 6.14, a bit delayed. There are 743 non-merge changeset overall, so it's one of the smaller cycles for us. The Qualcomm updates make up about half of the patches and the source lines, after they had a few quieter releases. Two new SoC platforms are added, the Blaize BLZP1600 and the SpacemiT K1, so there is a branch for just those two. There are also 11 other new SoCs in existing platform, which are all part of the devicetree updates. In the dirstat, the aspeed platfrom also sticks out, but that is just a single devicetree file for a particular complex machine. 0.5% Documentation/devicetree/bindings/arm/ 0.6% Documentation/devicetree/bindings/clock/ 0.2% Documentation/devicetree/bindings/interconnect/ 0.3% Documentation/devicetree/bindings/ 13.0% arch/arm/boot/dts/aspeed/ 0.4% arch/arm/boot/dts/broadcom/ 3.0% arch/arm/boot/dts/microchip/ 0.2% arch/arm/boot/dts/nxp/imx/ 0.9% arch/arm/boot/dts/st/ 0.2% arch/arm/boot/dts/ 0.6% arch/arm/ 0.4% arch/arm64/boot/dts/blaize/ 0.2% arch/arm64/boot/dts/broadcom/bcmbca/ 0.4% arch/arm64/boot/dts/broadcom/ 2.1% arch/arm64/boot/dts/exynos/ 3.1% arch/arm64/boot/dts/freescale/ 5.6% arch/arm64/boot/dts/mediatek/ 47.4% arch/arm64/boot/dts/qcom/ 2.7% arch/arm64/boot/dts/renesas/ 9.4% arch/arm64/boot/dts/rockchip/ 0.5% arch/arm64/boot/dts/st/ 1.2% arch/arm64/boot/dts/ti/ 0.2% arch/arm64/boot/dts/ 0.9% arch/riscv/boot/dts/spacemit/ 0.5% drivers/firmware/qcom/ 0.4% drivers/memory/ 0.2% drivers/soc/imx/ 0.2% drivers/soc/qcom/ 0.5% drivers/ 2.0% include/dt-bindings/clock/ 0.2% include/dt-bindings/interconnect/ 0.4% include/ 214 people contributed patches, the most active ones by number of changesets are: 40 Krzysztof Kozlowski 29 Frank Wunderlich 27 Dmitry Baryshkov 23 Ricky CX Wu 15 Stephan Gerhold 15 Konrad Dybcio 15 Chen-Yu Tsai 15 Biju Das 14 Krishna Kurapati 13 Neil Armstrong 13 Geert Uytterhoeven 11 Prashanth K 10 Claudiu Beznea ARnd
a/v6.14-1 For: - Sensor driver fixes; - remove dead TI wl128x FM radio driver; - Add support for the imx462 sensor at the IMX290 binding - V4L2 pixel data transmitter and receiver documentation improvements; - Add support for MIPI Discovery and Configuration for C-PHY line orders; - imx8-isi fixes and improvements; - stm32: dcmipp: add core support for the stm32mp25; - qcom: camss: Add sc7280 support; - Various fixes and enhancements. =20 Regards, Mauro --- [GIT PULL for v6.14] media updates
hyperv-next for v6.14 - Introduce a new set of Hyper-V headers in include/hyperv and replace the old hyperv-tlfs.h with the new headers (Nuno Das Neves) - Fixes for the Hyper-V VTL mode (Roman Kisel) - Fixes for cpu mask usage in Hyper-V code (Michael Kelley) - Document the guest VM hibernation behaviour (Michael Kelley) - Miscellaneous fixes and cleanups (Jacob Pan, John Starks, Naman Jain)
samsung: add gs101-mbox driver microchip: add sbi-ipc driver zynqmp: fix invalid __percpu annotation qcom: add IPQ5424 APCS compatible mpfs fix copy and paste bug th1520: Fix NULL vs IS_ERR() and a memory corruption bug tegra-hsp: clear mailbox before using message
Here is the i3c subsystem pull request for 6.14. The main change is the addition of PCI bus support for mipi-i3c-hci. I'm also carrying an hwmon patch as it makes use of the bitops addition that is then mainly used by i3c drivers. I3C for 6.14 Core: - Improve initialization of numbered I2C adapters Drivers: - use parity8 helper - dw: fix possible use-after-free - mipi-i3c-hci: add support for PCI bus host - svc: many fixes for IBI and hotjoin
A quite tiny PR for auxdisplay subsystem, contents were in Linux Next for many weeks without reported issues. Please, pull for v6.14-rc1. Thanks, With Best Regards, Andy Shevchenko auxdisplay for v6.14-1 * A couple of cleanups to img-ascii-lcd driver The following is an automated git shortlog grouped by driver: img-ascii-lcd: - Constify struct img_ascii_lcd_config - Remove an unused field in struct img_ascii_lcd_ctx
Here's the pull-request with the pmdomain and cpuidle-psci updates for v6.14. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson pmdomain core: - Add support for naming idlestates through DT pmdomain providers: - arm: Explicitly request the current state at init for the SCMI PM domain - mediatek: Add Airoha CPU PM Domain support for CPU frequency scaling - ti: Add per-device latency constraint management to the ti_sci PM domain cpuidle-psci: - Enable system-wakeup through GENPD_FLAG_ACTIVE_WAKEUP
Here is the main PDx86 PR for v6.14. Instead of basing on -rc1 I usually do, I merged the few symbol import NS and .remove_new changes in early to avoid running afoul with them during the cycle (I hopefully managed to exclude their visibility from this PR). There are a few cross-subsystem changes, many for ACPI/platform_profile due major refactoring, a few input and HID changes that support pdx86 driver changes, and move of SMO88xx quirk code from i2c to pdx86. The SMO88xx i2c->pdx86 move change cc0809b752c7 ("platform/x86: dell-smo8800: Move instantiation of lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d") is expected to trigger a conflict with the simple ID addition in the commit fd4e93083129 ("i2c: i801: Add lis3lv02d for Dell Precision M6800"). Highlights: - acer-wmi: - Add support for PH14-51, PH16-72, and Nitro AN515-58 - Add proper hwmon support - Improve error handling when reading "gaming system info" - Replace direct EC reads for the current platform profile with WMI calls to handle EC address variations - Replace custom platform_profile cycling with the generic one - ACPI: platform_profile: Major refactoring and improvements - Support registering multiple platform_profile handlers concurrently to avoid the need to quirk which handler takes precedence - Support reporting "custom" profile for cases where the current profile is ambiguous or when settings tweaks are done outside the pre-defined profile - Abstract and layer platform_profile API better using the class_dev and drvdata - Various minor improvements - Add Documentation and kerneldoc - amd/hsmp: Add support for HSMP protocol v7 - amd/pmc: - Support AMD 1Ah family 70h - Support STB with Ryzen desktop SoCs - amd/pmf: - Support Custom BIOS inputs for PMF TA - Support passing SRA sensor data from AMD SFH (HID) to PMF TA - dell-smo8800: - Move SMO88xx quirk away from the generic i2c-i801 driver - Add accelerometer support for Dell Latitude E6330/E6430 and XPS 9550 - Support probing accelerometer for models yet to be listed in the DMI mapping table because ACPI lacks i2c-address for the accelerometer (behind a module parameter because probing might be dangerous) - HID: amd_sfh: Add support for exporting SRA sensor data - hp-wmi: Add fan and thermal support for Victus 16-s1000 - input: Add key for phone linking - input: i8042: Add context for the i8042 filter to enable cleaning up the filter related global variables from pdx86 drivers - lenovo-wmi-camera: Use SW_CAMERA_LENS_COVER instead of KEY_CAMERA_ACCESS - mellanox: mlxbf-pmc: - Add support for monitoring cycle count - Add Documentation - thinkpad_acpi: Add support for phone link key - tools/power/x86/intel-speed-select: Fix Turbo Ratio Limit restore - x86-android-tables: Add support for Vexia EDU ATLA 10 Bluetooth and EC battery driver - Miscellaneous cleanups / refactoring / improvements Regards, i. platform-drivers-x86 for v6.14-1 Highlights: - acer-wmi: - Add support for PH14-51, PH16-72, and Nitro AN515-58 - Add proper hwmon support - Improve error handling when reading "gaming system info" - Replace direct EC reads for the current platform profile with WMI calls to handle EC address variations - Replace custom platform_profile cycling with the generic one - ACPI: platform_profile: Major refactoring and improvements - Support registering multiple platform_profile handlers concurrently to avoid the need to quirk which handler takes precedence - Support reporting "custom" profile for cases where the current profile is ambiguous or when settings tweaks are done outside the pre-defined profile - Abstract and layer platform_profile API better using the class_dev and drvdata - Various minor improvements - Add Documentation and kerneldoc - amd/hsmp: Add support for HSMP protocol v7 - amd/pmc: - Support AMD 1Ah family 70h - Support STB with Ryzen desktop SoCs - amd/pmf: - Support Custom BIOS inputs for PMF TA - Support passing SRA sensor data from AMD SFH (HID) to PMF TA - dell-smo8800: - Move SMO88xx quirk away from the generic i2c-i801 driver - Add accelerometer support for Dell Latitude E6330/E6430 and XPS 9550 - Support probing accelerometer for models yet to be listed in the DMI mapping table because ACPI lacks i2c-address for the accelerometer (behind a module parameter because probing might be dangerous) - HID: amd_sfh: Add support for exporting SRA sensor data - hp-wmi: Add fan and thermal support for Victus 16-s1000 - input: Add key for phone linking - input: i8042: Add context for the i8042 filter to enable cleaning up the filter related global variables from pdx86 drivers - lenovo-wmi-camera: Use SW_CAMERA_LENS_COVER instead of KEY_CAMERA_ACCESS - mellanox: mlxbf-pmc: - Add support for monitoring cycle count - Add Documentation - thinkpad_acpi: Add support for phone link key - tools/power/x86/intel-speed-select: Fix Turbo Ratio Limit restore - x86-android-tables: Add support for Vexia EDU ATLA 10 Bluetooth and EC battery driver - Miscellaneous cleanups / refactoring / improvements The following is an automated shortlog grouped by driver: acer-wmi: - add support for Acer Nitro AN515-58 - Add support for Acer PH14-51 - Add support for Acer Predator PH16-72 - Fix initialization of last_non_turbo_profile - Ignore AC events - Implement proper hwmon support - Improve error handling when reading gaming system information - Rename ACER_CAP_FAN_SPEED_READ - simplify platform profile cycling - use an ACPI bitmap to set the platform profile choices - Use devm_platform_profile_register() - use new helper function for setting overclocks - use WMI calls for platform profile handling ACPI: platform-profile: - Add a name member to handlers ACPI: platform_profile: - Add a prefix to log messages - Add choices attribute for class interface - Add concept of a "custom" profile - Add device pointer into platform profile handler - Add devm_platform_profile_register() - Add documentation - Add name attribute to class interface - Add `ops` member to handlers - Add platform handler argument to platform_profile_remove() - Add `probe` to platform_profile_ops - Add profile attribute for class interface - Allow multiple handlers - Check all profile handler to calculate next - Clean platform_profile_handler - Create class for ACPI platform profile - Let drivers set drvdata to the class device - Make sure all profile handlers agree on profile - Move matching string for new profile out of mutex - Move platform_profile_handler - Move sanity check out of the mutex - Notify change events on register and unregister - Notify class device from platform_profile_notify() - Only show profiles common for all handlers - Pass the profile handler into platform_profile_notify() - Remove platform_profile_handler from callbacks - Remove platform_profile_handler from exported symbols - Replace *class_dev member with class_dev - Use guard(mutex) for register/unregister - Use `scoped_cond_guard` alienware_wmi: - General cleanup of WMAX methods alienware-wmi: - Improve hdmi_mux, amplifier and deepslp group creation - Improve rgb-zones group creation - Modify parse_rgb() signature - Move Lighting Control State - Remove unnecessary check at module exit - Use devm_platform_profile_register() amd/hsmp: - Add support for HSMP protocol version 7 messages - Constify 'struct bin_attribute' amd/pmc: - Add STB support for AMD Desktop variants - Define enum for S2D/PMC msg_port and add helper function - Isolate STB code changes to a new file - Move STB block into amd_pmc_s2d_init() - Move STB functionality to a new file for better code organization - Update function names to align with new STB file - Update IP information structure for newer SoCs - Update S2D message id for 1Ah Family 70h model - Use ARRAY_SIZE() to fill num_ips information amd: pmc: - Use guard(mutex) amd: pmf: - Drop all quirks amd/pmf: - Enable Custom BIOS Inputs for PMF-TA - Get SRA sensor data from AMD SFH driver amd: pmf: sps: - Use devm_platform_profile_register() amd: pmf: - Switch to guard(mutex) asus-wmi: - Use devm_platform_profile_register() dell: dcdbas: - Constify 'struct bin_attribute' dell: dell-pc: - Create platform device dell-pc: - Use devm_platform_profile_register() dell_rbu: - Constify 'struct bin_attribute' dell-smo8800: - Add a couple more models to lis3lv02d_devices[] - Add support for probing for the accelerometer i2c address - Move instantiation of lis3lv02d i2c_client from i2c-i801 to dell-lis3lv02d - Move SMO88xx acpi_device_ids to dell-smo8800-ids.h dell-sysman: - Directly use firmware_attributes_class dell-uart-backlight: - Use blacklight power constant docs: platform/x86: wmi: - mention tool for invoking WMI methods Documentation/ABI: - Add document for Mellanox PMC driver - Add new sysfs field to sysfs-platform-mellanox-pmc Documentation: - Add documentation about class interface for platform profiles firmware_attributes_class: - Drop lifecycle functions - Move include linux/device/class.h - Simplify API fujitsu-laptop: - replace strcpy -> strscpy HID: amd_sfh: - Add support to export device operating states hp-bioscfg: - Directly use firmware_attributes_class hp-wmi: - Add fan and thermal profile support for Victus 16-s1000 - Use devm_platform_profile_register() ideapad-laptop: - Use devm_platform_profile_register() Input: - allocate keycode for phone linking - i8042 - Add support for platform filter contexts inspur_platform_profile: - Use devm_platform_profile_register() int3472: - Check for adev == NULL - Debug log the sensor name - Fix skl_int3472_handle_gpio_resources() return value - Make "pin number mismatch" message a debug message intel: bytcrc_pwrsrc: - fix power_supply dependency - Optionally register a power_supply dev intel: int0002_vgpio: - Make the irqchip immutable intel/pmt: - Constify 'struct bin_attribute' intel: punit_ipc: - Remove unused function intel/sdsi: - Constify 'struct bin_attribute' intel/tpmi/plr: - Make char[] longer to silence warning lenovo-wmi-camera: - Use SW_CAMERA_LENS_COVER instead of KEY_CAMERA_ACESS MAINTAINERS: - Change AMD PMC driver status to "Supported" mlxbf-bootctl: - Constify 'struct bin_attribute' - use sysfs_emit() instead of sprintf() mlxbf-pmc: - Add support for clock_measure performance block - Add support for monitoring cycle count - incorrect type in assignment mlxreg-hotplug: - use sysfs_emit() instead of sprintf() mlxreg-io: - use sysfs_emit() instead of sprintf() quickstart: - don't include 'pm_wakeup.h' directly serdev_helpers: - Add get_serdev_controller_from_parent() helper - Check for serial_ctrl_uid == NULL surface: surface_platform_profile: - Use devm_platform_profile_register() think-lmi: - Directly use firmware_attributes_class thinkpad_acpi: - Add support for new phone link hotkey thinkpad-acpi: - replace strcpy with strscpy thinkpad_acpi: - Use devm_platform_profile_register() tools/power/x86/intel-speed-select: - Fix TRL restore after SST-TF disable - v1.21 release wmi-bmof: - Make use of .bin_size() callback x86-android-tablets: - Add Bluetooth support for Vexia EDU ATLA 10 - Add missing __init to get_i2c_adap_by_*() - Add support for getting serdev-controller by PCI parent - Add Vexia EDU ATLA 10 EC battery driver - Change x86_instantiate_serdev() prototype - make platform data be static - Make variables only used locally static - Store serdev-controller ACPI HID + UID in a union Merges: - Merge branch 'fixes' into 'for-next' - Merge branch 'intel-sst' of https://github.com/spandruvada/linux-kernel into review-ilpo-next - Merge branch 'platform-drivers-x86-platform-profile' into for-next - Merge branch 'platform-drivers-x86-platform-profile' into for-next
please pull sound updates for v6.14-rc1 from: The topmost commit is 6aa96f780204bfdac225eb4c8f51f86c38cc1a26 sound updates for 6.14-rc1 This was a relatively calm cycle, and most of changes are rather small device-specific fixes. Here are highlights: * Core: - Further enhancements of ALSA rawmidi and sequencer APIs for MIDI 2.0 - compress-offload API extensions for ASRC support * ASoC: - Allow clocking on each DAI in an audio graph card to be configured separately - Improved power management for Renesas RZ-SSI - KUnit testing for the Cirrus DSP framework - Memory to meory operation support for Freescale/NXP platforms - Support for pause operations in SOF - Support for Allwinner suinv F1C100s, Awinc AW88083, Realtek ALC5682I-VE * HD- and USB-audio: - Add support for Focusrite Scarlett 4th Gen 16i16, 18i16, and 18i20 interfaces via new FCP driver - TAS2781 SPI HD-audio sub-codec support - Various device-specific quirks as usual
here is the bulk of pin control changes for the v6.14 kernel cycle. There is nothing special this time at all. Just new drivers, gradual improvements. Some fixes. Details in the signed tag. Yours, Linus Walleij Pin control changes for the v6.14 kernel cycle: No core changes this time New drivers: - New subdriver for the Qualcomm MSM8917 SoC TLMM - New subdriver for the Mediatek MT7988 SoC - New subdriver for the Rockchip RK3562 SoC - New subdriver for the Renesas RZ/G3E SoC Improvements: - Fix some missing pins in the Qualcomm IPQ5424 TLMM - Fix some missing LVDS pins in the Sunxi A100/A133 - Support Sunxi V853 (simple compatible string) - Cleanups in the Samsung driver - Fix some AMD suspend behaviour - Cleanups
This PR mostly factors out some Landlock code and prepares for upcoming audit support. Because weird files might be visible after filesystem corruption, Landlock now properly handles weird files too. A few sample and test issues are also fixed. your master branch. The kernel code has been tested in the latest linux-next releases for a few weeks and rebased to update commit messages. Test coverage for security/landlock is 93.4% of 1124 lines according to gcc/gcov-14, and it was 92.7% of 1118 lines before this PR. Regards, Mickaël -- Landlock updates for v6.14-rc1
tracing updates for v6.14: - Cleanup with guard() and free() helpers There were several places in the code that had a lot of "goto out" in the error paths to either unlock a lock or free some memory that was allocated. But this is error prone. Convert the code over to use the guard() and free() helpers that let the compiler unlock locks or free memory when the function exits. - Update the Rust tracepoint code to use the C code too There was some duplication of the tracepoint code for Rust that did the same logic as the C code. Add a helper that makes it possible for both algorithms to use the same logic in one place. - Add poll to trace event hist files It is useful to know when an event is triggered, or even with some filtering. Since hist files of events get updated when active and the event is triggered, allow applications to poll the hist file and wake up when an event is triggered. This will let the application know that the event it is waiting for happened. - Add :mod: command to enable events for current or future modules The function tracer already has a way to enable functions to be traced in modules by writing ":mod:<module>" into set_ftrace_filter. That will enable either all the functions for the module if it is loaded, or if it is not, it will cache that command, and when the module is loaded that matches <module>, its functions will be enabled. This also allows init functions to be traced. But currently events do not have that feature. Add the command where if ':mod:<module>' is written into set_event, then either all the modules events are enabled if it is loaded, or cache it so that the module's events are enabled when it is loaded. This also works from the kernel command line, where "trace_event=:mod:<module>", when the module is loaded at boot up, its events will be enabled then. Changes since v2: https://lore.kernel.org/all/20250121101551.2ad87b73@gandalf.local.home/ - Fixed allocation of iter using sizeof(iter) instead of sizeof(*iter). - Fixed output of one of the :mod: lines that was missing a newline Changes since v1: https://lore.kernel.org/all/20250119192902.576eda90@gandalf.local.home/ - Fixed the "#if CONFIG_MODULES" to be "#ifdef CONFIG_MODULES" - Renamed static function update_cache() to update_mod_cache() as riscv had a header with the update_cache() function in it, and it would conflict with the prototypes. trace-v6.14-3
Hi Linus, IOMMU Updates for Linux v6.14 Including: - Core changes: - PASID support for the blocked_domain. - ARM-SMMU Updates: - SMMUv2: * Implement per-client prefetcher configuration on Qualcomm SoCs. * Support for the Adreno SMMU on Qualcomm's SDM670 SOC. - SMMUv3: * Pretty-printing of event records. * Drop the ->domain_alloc_paging implementation in favour of ->domain_alloc_paging_flags(flags=3D=3D0). - IO-PGTable: * Generalisation of the page-table walker to enable external walkers (e.g. for debugging unexpected page-faults from the GPU). * Minor fix for handling concatenated PGDs at stage-2 with 16KiB pages. - Misc: * Clean-up device probing and replace the crufty probe-deferral hack with a more robust implementation of arm_smmu_get_by_fwnode(). * Device-tree binding updates for a bunch of Qualcomm platforms. - Intel VT-d Updates: - Remove domain_alloc_paging(). - Remove capability audit code. - Draining PRQ in sva unbind path when FPD bit set. - Link cache tags of same iommu unit together. - AMD-Vi Updates: - Use CMPXCHG128 to update DTE. - Cleanups of the domain_alloc_paging() path. - RiscV IOMMU: - Platform MSI support. - Shutdown support. - Rockchip IOMMU: - Add DT bindings for Rockchip RK3576. - More smaller fixes and cleanups.
The existing TDX code needs a _bit_ of metadata from the TDX module. But KVM is going to need a bunch more very shortly. Rework the interface with the TDX module to be more consistent and handle the new higher volume. The TDX module has added a few new features. The first is a promise not to clobber RBP under any circumstances. Basically the kernel now will refuse to use any modules that don't have this promise. Second, enable the new "REDUCE_VE" feature. This ensures that the TDX module will not send some silly virtualization exceptions that the guest had no good way to handle anyway. -- * Centralize global metadata infrastructure * Use new TDX module features for exception suppression and RBP clobbering
ktest updates for v6.14: - Fix use of KERNEL_VERSION in newly created output directory If a new output directory is created (O=/dir), and one of the options uses KERNEL_VERSION which will run a "make kernelversion" in the output directory, it will fail because there is no config file yet. In this case, have it do a "make allnoconfig" which is the minimal needed to run the "make kernelversion". - Remove unused variables - Fix some typos ktest-6.14
Please consider pulling the following changes in perf tools for v6.14. Thanks, Namhyung perf-tools changes for v6.14 There are a lot of changes in the perf tools in this cycle. build ----- * Use generic syscall table to generate syscall numbers on supported archs. * This also enables to get rid of libaudit which was used for syscall numbers. * Remove python2 support as it's deprecated for years. * Fix issues on static build with libzstd. perf record
Here is the Smack pull request for v6.14. There is one patch. It removes a small code duplication. One minor code improvement for v6.14
Hi Linus, - adds support for waitid() - uses waitid() over waitpid() - uses a pipe to in vfprintf tests - skips tests for unimplemented syscalls - renames riscv to riscv64 - adds configurations for riscv32 - adds detecting missing toolchain to run-tests.sh diff is attached. thanks, -- Shuah linux_kselftest-nolibc-6.14-rc1 - adds support for waitid() - uses waitid() over waitpid() - uses a pipe to in vfprintf tests - skips tests for unimplemented syscalls - renames riscv to riscv64 - adds configurations for riscv32 - adds detecting missing toolchain to run-tests.sh
to receive updates for the input subsystem. You will get: - more conversions to the guard notation in the input core - a fix for NXP BBNSM power key driver to clean up wake IRQ after unbinding - several new vendor/device ID pairs added to xpad game controller driver - several drivers switched to using str_enable_disable and similar helpers instead of open-coding - add mapping for F23 to atkbd driver so that MS "Copilot" key shortcut works out of the box (if userspace is ready to handle it) - evbug input handler has been removed (debugging through evdev is strongly preferred to dumping all events into the kernel log). Changelog: ---------
Updates to scripts/sorttable for 6.14: The sorttable.c was a copy from recordmcount.c which is very hard to maintain. That's because it uses macro helpers and places the code in a header file sorttable.h to handle both the 64 bit and 32 bit version of the Elf structures. It also uses _r()/r()/r2() wrappers around accessing the data which will read the 64 bit or 32 bit version of the data as well as handle endianess. If the wrong wrapper is used, an invalid value will result, and this has been a cause for bugs in the past. In fact the new ORC code doesn't even use it. That's fine because ORC is only for 64 bit x86 which is the default parsing. Instead of having a bunch of macros defined and then include the code twice from a header, the Elf structures are each wrapped in a union. The union holds the 64 bit and 32 bit version of the needed structure. Then a structure of function pointers is used, along with helper macros to access the ELF types appropriately for their byte size and endianess. How to reference the data fields is moved from the code that implements the sorting to the helper functions where all accesses to a field will use he same helper function. As long as the helper functions access the fields correctly, the code will also access the fields. This is an improvement over having to code implementing the sorting having to make sure it always uses the right accessor function when reading an ELF field. This is a clean up only, the functionality of the scripts/sorttable.c does not change. trace-sorttable-v6.14
Hi Linus, - fixes struct completion warning - introduces autorun option - adds fallback for os.sched_getaffinity - enables hardware acceleration when available Note: Stephen reported duplicate patch in kunit and driver-core: The following commit is also in the driver-core tree as a different commit (but the same patch): 875aec2357cd ("kunit: platform: Resolve 'struct completion' warning") This is commit 7687c66c18c6 ("kunit: platform: Resolve 'struct completion' warning") in the driver-core tree. diff is attached. thanks, -- Shuah linux_kselftest-kunit-6.14-rc1 - fixes struct completion warning - introduces autorun option - adds fallback for os.sched_getaffinity - enables hardware acceleration when available
Hi Linus, - fixes, reporting improvements, and cleanup changes to several tests - adds support for DT_GNU_HASH to selftests/vDSO Note: Stephen reported conflict between the following two commits and the fix is in the linux-next: 912d6f669725 ("selftests/net: packetdrill: report benign debug flakes as xfail") from the net-next tree and commit: 279e9403c5bd ("selftests: Warn about skipped tests in result summary") from the kselftest tree. diff is attached. thanks, -- Shuah linux_kselftest-next-6.14-rc1 - fixes, reporting improvements, and cleanup changes to several tests - adds support for DT_GNU_HASH to selftests/vDSO
sched_ext: Changes for v6.14 - scx_bpf_now() added so that BPF scheduler can access the cached timestamp in struct rq to avoid reading TSC multiple times within a locked scheduling operation. - Minor updates to the built-in idle CPU selection logic. - tool/sched_ext updates and other misc changes. Pulling sched_ext/for-6.14 into master causes a merge conflict between the following two commits (first commit in master, second in for-6.14): a2a3374c47c4 sched_ext: idle: Refresh idle masks during idle-to-idle transitions 9cf9aceed21e sched_ext: idle: use assign_cpu() to update the idle cpumask static void update_builtin_idle(int cpu, bool idle) { <<<<<<< HEAD if (idle) cpumask_set_cpu(cpu, idle_masks.cpu); else cpumask_clear_cpu(cpu, idle_masks.cpu); ======= int cpu = cpu_of(rq); if (SCX_HAS_OP(update_idle) && !scx_rq_bypassing(rq)) { SCX_CALL_OP(SCX_KF_REST, update_idle, cpu_of(rq), idle); if (!static_branch_unlikely(&scx_builtin_idle_enabled)) return; } assign_cpu(cpu, idle_masks.cpu, idle); >>>>>>> 987ce79b5242c048acae3a0c1feaae0a353d5cde The first commit factored out update_builtin_idle() and the second replaced cpumask_set/clear_cpu() calls with assign_cpu(). The conflict can be resolved by taking the code from the first and then replacing the cpumask_set/clear_cpu() calls with assign_cpu(): static void update_builtin_idle(int cpu, bool idle) { assign_cpu(cpu, idle_masks.cpu, idle);
please pull the x86/misc lineup for v6.14-rc1. Thx. You might encounter a trivial merge conflict in arch/x86/include/asm/amd_nb.h. The final result should be this: ------------------------ arch/x86/include/asm/amd_nb.h ------------------------ index d0caac26533f..b48dc6975da2 100644 @@ -4,7 +4,7 @@ #include <linux/ioport.h> #include <linux/pci.h> -#include <linux/refcount.h> +#include <asm/amd_node.h> struct amd_nb_bus_dev_range { u8 bus; --- --- - The first part of a restructuring of AMD's representation of a northbridge which is legacy now, and the creation of the new AMD node concept which represents the Zen architecture of having a collection of I/O devices within an SoC. Those nodes comprise the so-called data fabric on Zen. This has at least one practical advantage of not having to add a PCI ID each time a new data fabric PCI device releases. Eventually, the lot more uniform provider of data fabric functionality amd_node.c will be used by all the drivers which need it - Smaller cleanups
tracing updates for v6.14: - Cleanup with guard() and free() helpers There were several places in the code that had a lot of "goto out" in the error paths to either unlock a lock or free some memory that was allocated. But this is error prone. Convert the code over to use the guard() and free() helpers that let the compiler unlock locks or free memory when the function exits. - Update the Rust tracepoint code to use the C code too There was some duplication of the tracepoint code for Rust that did the same logic as the C code. Add a helper that makes it possible for both algorithms to use the same logic in one place. - Add poll to trace event hist files It is useful to know when an event is triggered, or even with some filtering. Since hist files of events get updated when active and the event is triggered, allow applications to poll the hist file and wake up when an event is triggered. This will let the application know that the event it is waiting for happened. - Add :mod: command to enable events for current or future modules The function tracer already has a way to enable functions to be traced in modules by writing ":mod:<module>" into set_ftrace_filter. That will enable either all the functions for the module if it is loaded, or if it is not, it will cache that command, and when the module is loaded that matches <module>, its functions will be enabled. This also allows init functions to be traced. But currently events do not have that feature. Add the command where if ':mod:<module>' is written into set_event, then either all the modules events are enabled if it is loaded, or cache it so that the module's events are enabled when it is loaded. This also works from the kernel command line, where "trace_event=:mod:<module>", when the module is loaded at boot up, its events will be enabled then. Changes since v1: https://lore.kernel.org/all/20250119192902.576eda90@gandalf.local.home/ - Fixed the "#if CONFIG_MODULES" to be "#ifdef CONFIG_MODULES" - Renamed static function update_cache() to update_mod_cache() as riscv had a header with the update_cache() function in it, and it would conflict with the prototypes. trace-v6.14-2
Probes updates for v6.14: - kprobes: Cleanups using guard() and __free(): Use cleanup.h macros to cleanup code and remove all gotos from kprobes code. This work includes below changes. . kprobes: Adopt guard() and scoped_guard() . jump_label: Define guard() for jump_label_lock . kprobes: Use guard() for external locks . kprobes: Use guard for rcu_read_lock . kprobes: Remove unneeded goto . kprobes: Remove remaining gotos - tracing/probes: Also cleanups tracing/*probe events code with guard() and __free(). These patches are just to simplify the parser codes. This work includes below changes. . tracing/kprobe: Adopt guard() and scoped_guard() . tracing/uprobe: Adopt guard() and scoped_guard() . tracing/eprobe: Adopt guard() and scoped_guard() . tracing: Use __free() in trace_probe for cleanup . tracing: Use __free() for kprobe events to cleanup . tracing/kprobes: Simplify __trace_kprobe_create() by removing gotos - kprobes: Reduce preempt disable scope in check_kprobe_access_safe() This reduces preempt disable time only when getting the module refcount in check_kprobe_access_safe(). Previously it disabled preempt needlessly for other checks including jump_label_text_reserved(), but it took long time because of the linear search. probes-v6.14
This is slightly smaller than usual, with the most interesting work being still around RTNL scope reduction. Stephen reported a trivial conflict vs the kselftest tree: https://lore.kernel.org/linux-next/20250108144003.67532649@canb.auug.org.au/ Networking changes for 6.14. Core ---- - More core refactoring to reduce the RTNL lock contention, including preparatory work for the per-network namespace RTNL lock, replacing RTNL lock with a per device-one to protect NAPI-related net device data and moving synchronize_net() calls outside such lock. - Extend drop reasons usage, adding net scheduler, AF_UNIX, bridge and more specific TCP coverage. - Reduce network namespace tear-down time by removing per-subsystems synchronize_net() in tipc and sched. - Add flow label selector support for fib rules, allowing traffic redirection based on such header field. Netfilter --------- - Do not remove netdev basechain when last device is gone, allowing netdev basechains without devices. - Revisit the flowtable teardown strategy, dealing better with fin, reset and re-open events. - Scale-up IP-vs connection dumping by avoiding linear search on each restart. Protocols --------- - A significant XDP socket refactor, consolidating and optimizing several helpers into the core - Better scaling of ICMP rate-limiting, by removing false-sharing in inet peers handling. - Introduces netlink notifications for multicast IPv4 and IPv6 address changes. - Add ipsec support for IP-TFS/AggFrag encapsulation, allowing aggregation and fragmentation of the inner IP. - Add sysctl to configure TIME-WAIT reuse delay for TCP sockets, to avoid local port exhaustion issues when the average connection lifetime is very short. - Support updating keys (re-keying) for connections using kernel TLS (for TLS 1.3 only). - Support ipv4-mapped ipv6 address clients in smc-r v2. - Add support for jumbo data packet transmission in RxRPC sockets, gluing multiple data packets in a single UDP packet. - Support RxRPC RACK-TLP to manage packet loss and retransmission in conjunction with the congestion control algorithm. Driver API
please pull the latest irq/core branch from: -21 _set() Updates for the interrupt subsystem: - Consolidation of the machine_kexec_mask_interrupts() by providing a generic implementation and replacing the copy & pasta orgy in the relevant architectures. - Prevent unconditional operations on interrupt chips during kexec shutdown, which can trigger warnings in certain cases when the underlying interrupt has been shut down before. - Make the enforcement of interrupt handling in interrupt context unconditionally available, so that it actually works for non x86 related interrupt chips. The earlier enablement for ARM GIC chips set the required chip flag, but did not notice that the check was hidden behind a config switch which is not selected by ARM[64]. - Decrapify the handling of deferred interrupt affinity setting. Some interrupt chips require that affinity changes are made from the context of handling an interrupt to avoid certain race conditions. For x86 this was the default, but with interrupt remapping this requirement was lifted and a flag was introduced which tells the core code that affinity changes can be done in any context. Unrestricted affinity changes are the default for the majority of interrupt chips. RISCV has the requirement to add the deferred mode to one of it's interrupt controllers, but with the original implementation this would require to add the any context flag to all other RISC-V interrupt chips. That's backwards, so reverse the logic and require that chips, which need the deferred mode have to be marked accordingly. That avoids chasing the 'sane' chips and marking them. - Add multi-node support to the Loongarch AVEC interrupt controller driver. - The usual tiny cleanups, fixes and improvements all over the place. Thanks, tglx
please pull the latest timers/core branch from: -01-21 setup Updates for timers and timekeeping: - Just boring cleanups, typo and comment fixes and trivial optimizations Thanks, tglx
please pull the x86/cpu lineup for v6.14-rc1. If you've pulled in the order we're sending you the pull requests and you have pulled the EDAC tree from me first, you will encounter a merge conflict in drivers/edac/i10nm_base.c due to the addition of INTEL_ATOM_DARKMONT_X there. I've included the resolution at the end of this mail. Thx. --- - Remove the less generic CPU matching infra around struct x86_cpu_desc and use the generic struct x86_cpu_id thing - Remove magic naked numbers for CPUID functions and use proper defines of the prefix CPUID_LEAF_*. Consolidate some of the crazy use around the tree - Smaller cleanups and improvements
- Allow struct bin_attribute instances to be placed in read-only memory for enhanced protection. - Fix a memory leak in the cht-wcove driver by using devm_led_classdev_register(). - Fix an OF node reference leak in the netxbig driver. - Ensure PWM is disabled properly in pwm-multicolor suspend. - Add support for Texas Instruments LP8864, LP8864S, LP8866 LED-backlight drivers. - Add support for STMicroelectronics's LED1202 12-channel LED driver. - Convert LP8860 bindings to YAML format. - Add bindings for the TI LP8864/LP8866 LED drivers. - Add LED1202 LED controller bindings. - Fix path to color definitions in leds-class-multicolor.yaml. - Add pm660l compatible to qcom,spmi-flash-led bindings. - Extend cznic,turris-omnia-leds binding with interrupts property. - Add documentation for the STMicroelectronics LED1202 driver. - Add entry for AAEON UP board FPGA drivers in MAINTAINERS. - Fix a wrong format specifier in the ledtrig-activity driver. - Fix a bug in the lp8860 driver where only half of the EEPROM was written.
- Fix race in device_node_get_regmap() using more extensive locking. - Remove unused platform driver support for syscon. - Allow syscon nodes to be registered without a "syscon" compatible string. - Make `platform_data` pointer const in struct mfd_cell. - Revert support for multiple AXP PMICs to avoid regressions. - Increase SoundWire attach timeout and use gpiod_set_raw() for GPIO operation. - Store the result from fault_log() for use by other sub-components. - Fix an invalid regmap-config max_register value. - Add another Gemini Lake ISA bridge PCI device ID. - Use devm_register_power_off_handler() to simplify code. - Add support for QNAP microcontroller units, including LEDs, input, and hwmon. - Use MFD_CELL macros and remove unused code. - Add support for AAEON UP board FPGA. - Remove unused includes. - Fix various typos and compatibility issues in multiple bindings. - Add new bindings for rk3562 QoS, LED1202, and qcom,tcsr-ipq5424. - Convert several bindings to YAML schema. - Update sprd,sc2731 bindings to reference sprd,sc2731-efuse bindings directly. - Fix rohm,bd71815 bindings by correcting resistor values and typos. - Documentation improvements: - Add documentation for LED1202 and qnap-mcu-hwmon. - Adjust the file entry for the qnap-mcu header in MAINTAINERS.
Subject: [GIT PULL] pwm: Changes for 6.14-rc1 MIME-Version: 1.0 Hello Linus, the following changes since commit edc19bd0e571c732cd01c8da62f904e6d2a29a48: pwm: stm32: Fix complementary output in round_waveform_tohw() (2024-12-18= 11:08:36 +0100) are available in the Git repository at: wm/for-6.14-rc1 for you to fetch changes up to e8c59791ebb60790c74b2c3ab520f04a8a57219a: pwm: stm32: Add check for clk_enable() (2025-01-17 10:41:56 +0100) This gives you very little changes compared to earlier pull requests. The topmost commit is simple and very similar to its grand parent. The other patches were all exposed to next since 2025-01-09. Initially I thought to base my PR on v6.13-rc2 to prevent conflicts with the module namespace conversion that were done just after v6.13-rc1, but it merges just fine on top of the fixes PR from last cycle as there is no conflicting change. Thanks for pulling this for v6.14-rc1. Best regards from Germany, Uwe pwm: Changes for v6.14-rc1 This time there are very little changes for pwm. There is nothing new, just a few maintenance cleanups. The contributors this time around were Krzysztof Kozlowski, Mingwei Zheng, Philipp Stanner, and Stanislav Jakubek. Thanks!
thermal-6.14-rc1 Merge branch 'thermal-intel' Linux 6.13-rc7 to receive thermal control updates for 6.14-rc1. These add support for Intel Panther Lake processors in multiple places, modify Intel thermal drivers to stop selecting the user space thermal governor which is not necessary for them to work any more and clean up the thermal core somewhat: - Add support for Panther Lake processors in multiple places (Zhang Rui, Srinivas Pandruvada). - Remove explicit user_space governor selection from Intel thermal drivers (Srinivas Pandruvada). - Rename a few things and relocate a comment in the thermal subsystem (Rafael Wysocki). Thanks!
acpi-6.14-rc1 ACPI: video: Fix random crashes due to bad kfree() to receive ACPI updates for 6.14-rc1. The most significant change here is replacing msleep() in acpi_os_sleep() with usleep_range() to reduce spurious sleep time due to timer inaccuracy which may spectacularly reduce the duration of system suspend and resume transitions on some systems. All of the other changes fall into the fixes and cleanups category this time. Specifics: - Use usleep_range() instead of msleep() in acpi_os_sleep() to reduce excessive delays due to timer inaccuracy, mostly affecting system suspend and resume (Rafael Wysocki). - Use str_enabled_disabled() string helpers in the ACPI tables parsing code to make it easier to follow (Sunil V L). - Update device properties parsing on systems using ACPI so that data firmware nodes resulting from _DSD evaluation are treated as available in firmware nodes walks (Sakari Ailus). - Fix missing guid_t declaration in linux/prmt.h (Robert Richter). - Update the GHES handling code to follow the global panic=3D policy instead of overriding it by force-rebooting the system after a fatal HW error has been reported (Borislav Petkov). - Update messages printed by the ACPI battery driver to always refer to driver extensions as "hooks" to avoid confusion with similar functionality in the power supply subsystem in the future (Thomas Wei=C3=9Fschuh). - Fix .probe() error path cleanup in the ACPI fan driver to avoid memory leaks (Joe Hattori). - Constify 'struct bin_attribute' in some places in the ACPI subsystem and mark it as __ro_after_init in one place to prevent binary blob attributes from being updated (Thomas Wei=C3=9Fschuh) - Add empty stubs for several ACPI-related symbols so that they can be used when CONFIG_ACPI is unset and use them for removing unnecessary conditional compilation from the ipu-bridge driver (Ricardo Ribalda). Thanks!
pm-6.14-rc1 Merge branch 'pm-tools' Merge branch 'pm-cpufreq' to receive power management updates for 6.14-rc1. The majority of changes here are cpufreq updates which are dominated by amd-pstate driver changes, like in the previous cycle. Moreover, changes related to amd-pstate are also the majority of cpupower utility updates. Included are some pieces of new hardware support, like the addition of Clearwater Forest processors support to intel_idle, new cpufreq driver for Airoha SoCs, and Apple cpufreq driver extensions to support more SoCs. The intel_pstate driver is also extended to be able to support new platforms by using ACPI CPPC to compute scaling factors between HWP performance states and frequency. The rest is mostly fixes and cleanups in assorted pieces of power management code. Specifics: - Use str_enable_disable()-like helpers in cpufreq (Krzysztof Kozlowski). - Extend the Apple cpufreq driver to support more SoCs (Hector Martin, Nick Chan). - Add new cpufreq driver for Airoha SoCs (Christian Marangi). - Fix using cpufreq-dt as module (Andreas Kemnade). - Minor fixes for Sparc, SCMI, and Qcom cpufreq drivers (Ethan Carter Edwards, Sibi Sankar, Manivannan Sadhasivam). - Fix the maximum supported frequency computation in the ACPI cpufreq driver to avoid relying on unfounded assumptions (Gautham Shenoy). - Fix an amd-pstate driver regression with preferred core rankings not being used (Mario Limonciello). - Fix a precision issue with frequency calculation in the amd-pstate driver (Naresh Solanki). - Add ftrace event to the amd-pstate driver for active mode (Mario Limonciello). - Set default EPP policy on Ryzen processors in amd-pstate (Mario Limonciello). - Clean up the amd-pstate cpufreq driver and optimize it to increase code reuse (Mario Limonciello, Dhananjay Ugwekar). - Use CPPC to get scaling factors between HWP performance levels and frequency in the intel_pstate driver and make it stop using a built -in scaling factor for Arrow Lake processors (Rafael Wysocki). - Make intel_pstate initialize epp_policy to CPUFREQ_POLICY_UNKNOWN for consistency with CPU offline (Christian Loehle). - Fix superfluous updates caused by need_freq_update in the schedutil cpufreq governor (Sultan Alsawaf). - Allow configuring the system suspend-resume (DPM) watchdog to warn earlier than panic (Douglas Anderson). - Implement devm_device_init_wakeup() helper and introduce a device- managed variant of dev_pm_set_wake_irq() (Joe Hattori, Peng Fan). - Remove direct inclusions of 'pm_wakeup.h' which should be only included via 'device.h' (Wolfram Sang). - Clean up two comments in the core system-wide PM code (Rafael Wysocki, Randy Dunlap). - Add Clearwater Forest processor support to the intel_idle cpuidle driver (Artem Bityutskiy). - Clean up the Exynos devfreq driver and devfreq core (Markus Elfring, Jeongjun Park). - Minor cleanups and fixes for OPP (Dan Carpenter, Neil Armstrong, Joe Hattori). - Implement dev_pm_opp_get_bw() (Neil Armstrong). - Expose OPP reference counting helpers for Rust (Viresh Kumar). - Fix TSC MHz calculation in cpupower (He Rongguang). - Add install and uninstall options to bindings Makefile and add header changes for cpufreq.h to SWIG bindings in cpupower (John B. Wyatt IV). - Add missing residency header changes in cpuidle.h to SWIG bindings in cpupower (John B. Wyatt IV). - Add output files to .gitignore and clean them up in "make clean" in selftests/cpufreq (Li Zhijian). - Fix cross-compilation in cpupower Makefile (Peng Fan). - Revise the is_valid flag handling for idle_monitor in the cpupower utility (wangfushuai). - Extend and clean up AMD processors support in cpupower (Mario Limonciello). Thanks!
Documentation changes this time around include: - Quite a bit of Chinese and Spanish translation work. - Clarifying that Git commit IDs >12chars are OK - A new nvme-multipath document - A reorganization of the admin-guide top-level page to make it readable - Clarification of the role of Acked-by and maintainer discretion on their acceptance. - Some reorganization of debugging-oriented docs. ...and typo fixes, documentation updates, etc. as usual.
We've got a little less than normal thanks to the holidays in December, but there's the usual summary in the tag. The highlight is probably the 52-bit physical addressing (LPA2) clean-up from Ard. Please note that the cpufeature branch will also make an appearance via the KVM tree. Cheers, Will --->8 arm64 updates for 6.14 Confidential Computing: * Register a platform device when running in CCA realm mode to enable automatic loading of dependent modules. CPU Features: * Update a bunch of system register definitions to pick up new field encodings from the architectural documentation. * Add hwcaps and selftests for the new (2024) dpISA extensions. Documentation: * Update EL3 (firmware) requirements for booting Linux on modern arm64 designs. * Remove stale information about the kernel virtual memory map. Miscellaneous: * Minor cleanups and typo fixes. Memory management: * Fix vmemmap_check_pmd() to look at the PMD type bits * LPA2 (52-bit physical addressing) cleanups and minor fixes. * Adjust physical address space depending upon whether or not LPA2 is enabled. Perf and PMUs: * Add port filtering support for NVIDIA's NVLINK-C2C Coresight PMU * Extend AXI filtering support for the DDR PMU on NXP IMX SoCs * Fix Designware PCIe PMU event numbering. * Add generic branch events for the Apple M1 CPU PMU. * Add support for Marvell Odyssey DDR and LLC-TAD PMUs. * Cleanups to the Hisilicon DDRC and Uncore PMU code. * Advertise discard mode for the SPE PMU. * Add the perf users mailing list to our MAINTAINERS entry.
A small set of patches this time: - Fix a case where the new scanning code missed removing an unused rsb. - Fix the error when removing a configfs entry for an invalid node id. Thanks, Dave
Hi, please pull the following updates to btrfs. There are some new features or feature previews, the reset the usual mix of core changes. There's also one minor rb-tree API update. User visible changes, features: - rebuilding of the free space tree at mount time is done in more transactions, fix potential hangs when the transaction thread is blocked due to large amount of block groups - more read IO balancing strategies (experimental config), add two new ways how to select a device for read if the profiles allow that (all RAID1*), the current default selects the device by pid which is good on average but less performant for single reader workloads - select preferred device for all reads (namely for testing) - round-robin, balance reads across devices relevant for the requested IO range - add encoded write ioctl support to io_uring (read was added in 6.12), basis for writing send stream using that instead of syscalls, non-blocking mode is not yet implemented - support FS_IOC_READ_VERITY_METADATA, applications can use the metadata to do their own verification - pass inode's i_write_hint to bios, for parity with other filesystems, ioctls F_GET_RW_HINT/F_SET_RW_HINT Core: - in zoned mode: allow to directly reclaim a block group by simply resetting it, then it can be reused and another block group does not need to be allocated - super block validation now also does more comprehensive sys array validation, adding it to the points where superblock is validated (post-read, pre-write) - subpage mode fixes - fix double accounting of blocks due to some races - improved or fixed error handling in a few cases (compression, delalloc) - raid stripe tree - fix various cases with extent range splitting or deleting - implement hole punching to extent range - reduce number of stripe tree lookups during bio submission - more self-tests - updated self-tests (delayed refs) - error handling improvements - cleanups, refactoring - remove rest of backref caching infrastructure from relocation, not needed anymore - error message updates - remove unnecessary calls when extent buffer was marked dirty - unused parameter removal - code moved to new files Other code changes: add rb_find_add_cached() to the rb-tree API
bcachefs updates for 6.14-rc1 Lots of scalability work, another big on disk format change. On disk format version goes from 1.13 to 1.20. Like 6.11, this is another big and expensive automatic/required on disk format upgrade. This is planned to be the last big on disk format upgrade before the experimental label comes off. There will be one more minor on disk format update for a few things that couldn't make this release. Headline improvements: - Fix mount time regression that some users encountered post the 6.11 disk accounting rewrite. Accounting keys were encoded little endian (typetag in the low bits) - which didn't anticipate adding accounting keys for every inode, which aren't stored in memory and we don't want to scan at mount time. - fsck time on large filesystems is improved by multiple orders of magnitude. Previously, 100TB was about the practical max filesystem size, where users were reporting fsck times of a day+. With the new changes (which nearly eliminate backpointers fsck overhead), we fsck'd a filesystem with 10PB of data in 1.5 hours. The problematic fsck passes were walking every extent and checking for missing backpointers, and walking every backpointer to check for dangling backpointers. As we've been adding more and more runtime self healing there was no reason to keep around the backpointers -> extents pass; dangling backpointers are just deleted, and we can do that when using them - thus, backpointers -> extents is now only run in debug mode. extents -> backpointers does need to exist, since missing backpointers would mean we can't find data to move it (for e.g. copygc, device evacuate, scrub). But the new on disk format version makes possible a new strategy where we sum up backpointers within a bucket and check it against the bucket sector counts, and then only scan for missing backpointers if the counts are off (and then, only for specific buckets). Full list of on disk format changes: - 1.14: backpointer_bucket_gen Backpointers now have a field for the bucket generation number, replacing the obsolete bucket_offset field. This is needed for the new "sum up backpointers within a bucket" code, since backpointers use the btree write buffer - meaning we will see stale reads, and this runs online, with the filesystem in full rw mode. - 1.15: disk_accounting_big_endian As previously described, fix the endianness of accounting keys so that accounting keys with the same typetag sort together, and accounting read can skip types it's not interested in. - 1.16: reflink_p_may_update_opts: This version indicates that a new reflink pointer field is understood and may be used; the field indicates whether the reflink pointer has permissions to update IO path options (e.g. compression, replicas) may be updated on the indirect extent it points to. This completes the rebalance/reflink data path option handling from the 6.13 pull request. - 1.17: inode_depth Add a new inode field, bi_depth, to accelerate the check_directory_structure fsck path, which checks for loops in the filesystem heirarchy. check_inodes and check_dirents check connectivity, so check_directory_structure only has to check for loops - by walking back up to the root from every directory. But a path can't be a loop if it has a counter that increases monotonically from root to leaf - adding a depth counter means that we can check for loops with only local (parent -> child) checks. We might need to occasionally renumber the depth field in fsck if directories have been moved around, but then future fsck runs will be much faster. - 1.18: persistent_inode_cursors Previously, the cursor used for inode allocation was only kept in memory, which meant that users with large filesystems and lots of files were reporting that the first create after mounting would take awhile - since it had to scan from the start. Inode allocation cursors are now persistent, and also include a generation field (incremented on wraparound, which will only happen if inode allocation is restricted to 32 bit inodes), so that we don't have to leave inode_generation keys around after a delete. The option for 32 bit inode numbers may now also be set on individual directories, and non-32 bit inode allocations are disallowed from allocating from the 32 bit part of the inode number space. - 1.19: autofix_errors Runtime self healing is now the default.o - 1.20: directory size (from Hongbo) directory i_size is now meaningful, and not 0. Release notes from the previous 6.13 pull request: - Self healing work: Allocator and reflink now run the exact same check/repair code that fsck does at runtime, where applicable. The long term goal here is to remove inconsistent() errors (that cause us to go emergency read only) by lifting fsck code up to normal runtime paths; we should only go emergency read-only if we detect an inconsistency that was due to a runtime bug - or truly catastrophic damage (corrupted btree roots/interior nodes). - Reflink repair no longer deletes reflink pointers: instead we flip an error bit and log the error, and they can still be deleted by file deletion. This means a temporary failure to find an indirect extent (perhaps repaired later by btree node scan) won't result in unnecessary data loss - Improvements to rebalance data path option handling: we can now correctly apply changed filesystem-level io path options to pending rebalance work, and soon we'll be able to apply file-level io path option changes to indirect extents.
please pull the latest changes for the kernel livepatching from - Add a sysfs attribute showing the livepatch ordering. - Some code clean up.
please pull the x86/sev lineup for v6.14-rc1. Thx. --- - A segmented Reverse Map table (RMP) is a across-nodes distributed table of sorts which contains per-node descriptors of each node-local 4K page, denoting its ownership (hypervisor, guest, etc) in the realm of confidential computing. Add support for such a table in order to improve referential locality when accessing or modifying RMP table entries - Add support for reading the TSC in SNP guests by removing any interference or influence the hypervisor might have, with the goal of making a confidential guest even more independent from the hypervisor
regmap: Updates for v6.14 There's one big bit of work this time around, the addition of support for a greater range of MBQ access sizes to SoundWire devices together with support for deferred read/write. The MBQ register maps generally have variable register sizes, the variable regiseter size support allows them to be handled much more naturally within regmap with less open coding in drivers. The deferred read/write support avoids spurious errors when devices make use of a bus feature allowing them to indicate they're busy. These changes pull in a supporting SoundWire change, and there's an ASoC change building off the new code. The remainder of the changes are code cleanups.
spi: Updates for v6.14 This is a fairly quiet release for the most part, though we do have one really nice improvement in the spi-mem framework which will improve performance for flash devices especially when built on by changes in the MTD subsystem which are also due to be sent this merge window. There's also been some substantial work on some of the drivers, highlights include: - Support for per-operation bus frequency in the spi-mem framework, meaning speeds are no longer limited by the slowest operation. - ACPI support and improved power management for Rockchip SFC controllers. - Support for Atmel SAM7G5 QuadSPI and KEBA SPI controllers.
regulator: Updates for v6.14 This was a very quiet release, aside from some smaller improvements we have: - Support for power budgeting on regulators, initially targeted at some still in review support for PSE controllers but generally useful. - Support for error interrupts from ROHM BD96801 devices. - Support for NXP PCA9452.
Here's the pull-request with updates for MMC for v6.14. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson MMC core: - Share a helper to convert from crypto_profile to mmc_host - Respect quirk_max_rate for non-UHS SDIO card too MMC host: - Add DT bindings for the mmc-slot - Clarify DT bindings for the mmc-controller - bcm2835: Add support for system-wide suspend/resume PM - dw_mmc-exynos: Add support for the exynos8895 variant - meson-mx-sdio: Convert DT bindings to dtschema - mtk-sd: Fixup use of two register ranges - mtk-sd: Add support for ignoring cmd response CRC - sdhci-esdhc-imx: enable 'SDHCI_QUIRK_NO_LED' quirk for S32G - sdhci-msm: Correctly set the load for the regulator - sdhci-msm: Convert to use custom crypto profile - sdhci-of-at91: Add support for the microchip sama7d65 variant
Thanks, Guenter ------ hwmon updates for v6.14-rc1 * New drivers - PMBus client driver for Intel CRPS185 power supply - PMBus client driver for Texas Instruments TPS25990 * Chip support added to existing drivers - pmbus/max15301: Add support for MAX15303 - pmbus/adm1275: Add adm1273 support - lm75: Add NXP P3T1755 support; with it, add I3C support to the driver - asus-ec-sensors: Add TUF GAMING X670E PLUS * Other notable changes - nct6683: Add customer IDs for several MSI and ASRock boards - tmp108: Add regulator support - Improve write protect support in PMBus core - pmbus/dps920ab: Add ability to instantiate through i2c - The hwmon core now accepts NULL as device name parameter to [devm_]hwmon_device_register_with_info ans uses the parent device name as fallback in that case - The PMBus core now provides the PMBUs revision in a debugfs file - asus-ec-sensors: Support for optional CPU fan on AMD 600 motherboards - raspberrypi: Add PM suspend/resume support - dell-smm: Enable manual fan control support on Dell XPS 9370 - pwm-fan: Default to maximum cooling level if provided * Various other minor fixes and improvements
please pull the x86/microcode lineup for v6.14-rc1. Thx. --- - A bunch of minor cleanups
m68k updates for v6.14 - Use the generic muldi3 libgcc function, - Miscellaneous fixes and improvements. Thanks for pulling!
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> subsystem. We added support for another Qualcomm WCN model and a FIXME comment that explains why we still need to keep a GPIO workaround for now despite having merged a set of changes to the PCI code that seemingly fixed the underlying problem. Details are in the signed tag. Best Regards, Bartosz Golaszewski pwrseq updates for v6.14-rc1 - support a new model in the qcom-wcn pwrseq driver - explain the need to keep the WLAN_EN GPIO workaround for now with a FIXME comment
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Thanks to little activity in December, this PR is really tiny. Just a few updates to drivers and device-tree bindings. Details are in the signed tag. Bartosz Golaszewski gpio updates for v6.14-rc1 Driver improvements: - support a new model in gpio-mpc8xxx - refactor gpio-tqmx86 and add support for direction setting - allow building gpio-omap with COMPILE_TEST=y - use gpiochip_get_data() instead of dev_get_drvdata() in gpio-twl6040 - drop unued field from driver data in gpio-altera - use generic request/free callbacks in gpio-regmap for better integration with pinctrl - use dev_err_probe() where applicable in gpio-pca953x - use existing dedicated GPIO defines in gpio-tps65219 instead of custom ones DT bindings: - document a new model in fsl,qoriq-gpio - explain the chip's latch clock pin and how it works like chip-select in fairchild,74hc595 - enable the gpio-line-names property for gpio-brcmstb
please consider pulling the following gfs2 changes. Thanks, Andreas gfs2 changes - In the quota code, to avoid spurious audit messages, don't call capable() when quotas are off. - When changing the 'j' flag of an inode, truncate the inode address space to avoid mixing "buffer head" and "iomap" pages.
please pull the x86/cache lineup for v6.14-rc1. Thx. --- - Extend resctrl with the capability of total memory bandwidth monitoring, thus accomodating systems which support only total but not local memory bandwidth monitoring. Add the respective new mount options - The usual cleanups
please pull the x86/bugs lineup for v6.14-rc1. Thx. --- - Add support for AMD hardware which is not affected by SRSO on the user/kernel attack vector and advertise it to guest userspace
please pull the latest printk changes from - Prevent possible deadlocks, caused by the lock serializing per-CPU backtraces, by entering the deferred printk context. - Enforce the right casting in LOG_BUF_LEN_MAX definition.
please pull the RAS lineup for v6.14-rc1. Thx. --- - Remove the shared threshold bank hack on AMD and streamline and simplify it - Cleanup and sanitize MCA code
Scheduler enhancements for v6.14: - Fair scheduler (SCHED_FAIR) enhancements: - Behavioral improvements: - Untangle NEXT_BUDDY and pick_next_task() (Peter Zijlstra) - Delayed-dequeue enhancements & fixes: (Vincent Guittot) - Rename h_nr_running into h_nr_queued - Add new cfs_rq.h_nr_runnable - Use the new cfs_rq.h_nr_runnable - Removed unsued cfs_rq.h_nr_delayed - Rename cfs_rq.idle_h_nr_running into h_nr_idle - Remove unused cfs_rq.idle_nr_running - Rename cfs_rq.nr_running into nr_queued - Do not try to migrate delayed dequeue task - Fix variable declaration position - Encapsulate set custom slice in a __setparam_fair() function - Fixes: - Fix race between yield_to() and try_to_wake_up() (Tianchen Ding) - Fix CPU bandwidth limit bypass during CPU hotplug (Vishal Chourasia) - Cleanups: - Clean up in migrate_degrades_locality() to improve readability (Peter Zijlstra) - Mark m*_vruntime() with __maybe_unused (Andy Shevchenko) - Update comments after sched_tick() rename (Sebastian Andrzej Siewior) - Remove CONFIG_CFS_BANDWIDTH=n definition of cfs_bandwidth_used() (Valentin Schneider) - Deadline scheduler (SCHED_DL) enhancements: - Restore dl_server bandwidth on non-destructive root domain changes (Juri Lelli) - Correctly account for allocated bandwidth during hotplug (Juri Lelli) - Check bandwidth overflow earlier for hotplug (Juri Lelli) - Clean up goto label in pick_earliest_pushable_dl_task() (John Stultz) - Consolidate timer cancellation (Wander Lairson Costa) - Load-balancer enhancements: - Improve performance by prioritizing migrating eligible tasks in sched_balance_rq() (Hao Jia) - Do not compute NUMA Balancing stats unnecessarily during load-balancing (K Prateek Nayak) - Do not compute overloaded status unnecessarily during load-balancing (K Prateek Nayak) - Generic scheduling code enhancements: - Use READ_ONCE() in task_on_rq_queued(), to consistently use the WRITE_ONCE() updated ->on_rq field (Harshit Agarwal) - Isolated CPUs support enhancements: (Waiman Long) - Make "isolcpus=nohz" equivalent to "nohz_full" - Consolidate housekeeping cpumasks that are always identical - Remove HK_TYPE_SCHED - Unify HK_TYPE_{TIMER|TICK|MISC} to HK_TYPE_KERNEL_NOISE - RSEQ enhancements: - Validate read-only fields under DEBUG_RSEQ config (Mathieu Desnoyers) - PSI enhancements: - Fix race when task wakes up before psi_sched_switch() adjusts flags (Chengming Zhou) - IRQ time accounting performance enhancements: (Yafang Shao) - Define sched_clock_irqtime as static key - Don't account irq time if sched_clock_irqtime is disabled - Virtual machine scheduling enhancements: - Don't try to catch up excess steal time (Suleiman Souhlal) - Heterogenous x86 CPU scheduling enhancements: (K Prateek Nayak) - Convert "sysctl_sched_itmt_enabled" to boolean - Use guard() for itmt_update_mutex - Move the "sched_itmt_enabled" sysctl to debugfs - Remove x86_smt_flags and use cpu_smt_flags directly - Use x86_sched_itmt_flags for PKG domain unconditionally - Debugging code & instrumentation enhancements: - Change need_resched warnings to pr_err() (David Rientjes) - Print domain name in /proc/schedstat (K Prateek Nayak) - Fix value reported by hot tasks pulled in /proc/schedstat (Peter Zijlstra) - Report the different kinds of imbalances in /proc/schedstat (Swapnil Sapkal) - Move sched domain name out of CONFIG_SCHED_DEBUG (Swapnil Sapkal) - Update Schedstat version to 17 (Swapnil Sapkal) Thanks, Ingo
Performance events changes for v6.14: - Seqlock optimizations that arose in a perf context and were merged into the perf tree: - seqlock: Add raw_seqcount_try_begin (Suren Baghdasaryan) - mm: Convert mm_lock_seq to a proper seqcount ((Suren Baghdasaryan) - mm: Introduce mmap_lock_speculate_{try_begin|retry} (Suren Baghdasaryan) - mm/gup: Use raw_seqcount_try_begin() (Peter Zijlstra) - Core perf enhancements: - Reduce 'struct page' footprint of perf by mapping pages in advance (Lorenzo Stoakes) - Save raw sample data conditionally based on sample type (Yabin Cui) - Reduce sampling overhead by checking sample_type in perf_sample_save_callchain() and perf_sample_save_brstack() (Yabin Cui) - Export perf_exclude_event() (Namhyung Kim) - Uprobes scalability enhancements: (Andrii Nakryiko) - Simplify find_active_uprobe_rcu() VMA checks - Add speculative lockless VMA-to-inode-to-uprobe resolution - Simplify session consumer tracking - Decouple return_instance list traversal and freeing - Ensure return_instance is detached from the list before freeing - Reuse return_instances between multiple uretprobes within task - Guard against kmemdup() failing in dup_return_instance() - AMD core PMU driver enhancements: - Relax privilege filter restriction on AMD IBS (Namhyung Kim) - AMD RAPL energy counters support: (Dhananjay Ugwekar) - Introduce topology_logical_core_id() (K Prateek Nayak) - Remove the unused get_rapl_pmu_cpumask() function - Remove the cpu_to_rapl_pmu() function - Rename rapl_pmu variables - Make rapl_model struct global - Add arguments to the init and cleanup functions - Modify the generic variable names to *_pkg* - Remove the global variable rapl_msrs - Move the cntr_mask to rapl_pmus struct - Add core energy counter support for AMD CPUs - Intel core PMU driver enhancements: - Support RDPMC 'metrics clear mode' feature (Kan Liang) - Clarify adaptive PEBS processing (Kan Liang) - Factor out functions for PEBS records processing (Kan Liang) - Simplify the PEBS records processing for adaptive PEBS (Kan Liang) - Intel uncore driver enhancements: (Kan Liang) - Convert buggy pmu->func_id use to pmu->registered - Support more units on Granite Rapids Thanks, Ingo
Objtool changes for v6.14: - Introduce the generic section-based annotation infrastructure a.k.a. ASM_ANNOTATE/ANNOTATE (Peter Zijlstra) - Convert various facilities to ASM_ANNOTATE/ANNOTATE: (Peter Zijlstra) - ANNOTATE_NOENDBR - ANNOTATE_RETPOLINE_SAFE - instrumentation_{begin,end}() - VALIDATE_UNRET_BEGIN - ANNOTATE_IGNORE_ALTERNATIVE - ANNOTATE_INTRA_FUNCTION_CALL - {.UN}REACHABLE - Optimize the annotation-sections parsing code (Peter Zijlstra) - Centralize annotation definitions in <linux/objtool.h> - Unify & simplify the barrier_before_unreachable()/unreachable() definitions (Peter Zijlstra) - Convert unreachable() calls to BUG() in x86 code, as unreachable() has unreliable code generation (Peter Zijlstra) - Remove annotate_reachable() and annotate_unreachable(), as it's unreliable against compiler optimizations (Peter Zijlstra) - Fix non-standard ANNOTATE_REACHABLE annotation order (Peter Zijlstra) - Robustify the annotation code by warning about unknown annotation types (Peter Zijlstra) - Allow arch code to discover jump table size, in preparation of annotated jump table support (Ard Biesheuvel) Thanks, Ingo
please pull from nus-2025012001 to receive HID subsystem queue for 6.14. Highlights: =3D=3D=3D=3D=3D - newly added support for Intel Touch Host Controller (Even Xu, Xinpeng=20 Sun) - hid-core fix for long-standing syzbot-reported cornercase of Resolution= =20 Multiplier not being present in any of the Logical Collections in the=20 device HID report descriptor (Alan Stern) - improvement of behavior for non-standard LED brightness values for Wacom= =20 driver (Jason Gerecke) - PCI Wacom device support (depends on Intel THC support) (Even Xu) - SteelSeries Arctis 9 support (Christian Mayer) - constification of 'struct bin_attribute' in various HID driver (Thomas=20 Wei=C3=9Fschuh) - other assorted code cleanups / fixes and device ID additions =3D=3D=3D=3D=3D Thanks.
Locking changes for v6.14: - Lockdep: - Improve and fix lockdep bitsize limits, clarify the Kconfig documentation (Carlos Llamas) - Fix lockdep build warning on Clang related to chain_hlock_class_idx() inlining (Andy Shevchenko) - Relax the requirements of PROVE_RAW_LOCK_NESTING arch support by not tying it to ARCH_SUPPORTS_RT unnecessarily (Waiman Long) - Rust integration: - Support lock pointers managed by the C side (Lyude Paul) - Support guard types (Lyude Paul) - Update MAINTAINERS file filters to include the Rust locking code (Boqun Feng) - Wake-queues: - Add raw_spin_*wake() helpers to simplify locking code (John Stultz) - SMP cross-calls: - Fix potential data update race by evaluating the local cond_func() before IPI side-effects (Mathieu Desnoyers) - Guard primitives: - Ease [c]tags based searches by including the cleanup/guard type primitives (Peter Zijlstra) - ww_mutexes: - Simplify the ww_mutex self-test code via swap() (Thorsten Blum) - Static calls: - Update the static calls MAINTAINERS file-pattern (Jiri Slaby) Thanks, Ingo
Hi Linus, Thanks, Tzung-Bi chrome-platform-firmware: Updates for v6.14 * Cleanups - Constify 'struct bin_attribute'.
Hi Linus, Thanks, Tzung-Bi chrome-platform: Updates for v6.14 * New - Support new EC if the memory region information comes from the CRS ACPI resource descriptor in cros_ec_lpc. * Improvements - Make sure EC is in RW before probing. - Only check events on MKBP notifies to reduce the number of query commands in cros_ec_lpc. * Cleanups - Remove unused code and DT bindings for cros-kbd-led-backlight. - Constify 'struct bin_attribute' in cros_ec_vbc. - Use str_enabled_disabled() in cros_usbpd_logger.
ring-buffer changes for v6.14 - Clean up the __rb_map_vma() logic The logic of __rb_map_vma() has a error check with WARN_ON() that makes sure that the index does not go past the end of the array of buffers. The test in the loop pretty much guarantees that it will never happen, but since the relation of the variables used is a little complex, the WARN_ON() check was added. It was noticed that the array was dereferenced before this check and if the logic does break and for some reason the logic goes past the array, there will be an out of bounds access here. Move the access to after the WARN_ON(). - Consolidate how the ring buffer is determined to be empty Currently there's two ways that are used to determine if the ring buffer is empty. One relies on the status of the commit and reader pages and what was read, and the other is on what was written vs what was read. By using the number of entries (written) method, it can be used for reading events that are out of the kernel's control (what pKVM will use). Move to this method to make it easier to implement a pKVM ring buffer that the kernel can read. trace-ringbuffer-v6.14
tracing updates for v6.14: - Cleanup with guard() and free() helpers There were several places in the code that had a lot of "goto out" in the error paths to either unlock a lock or free some memory that was allocated. But this is error prone. Convert the code over to use the guard() and free() helpers that let the compiler unlock locks or free memory when the function exits. - Update the Rust tracepoint code to use the C code too There was some duplication of the tracepoint code for Rust that did the same logic as the C code. Add a helper that makes it possible for both algorithms to use the same logic in one place. - Add poll to trace event hist files It is useful to know when an event is triggered, or even with some filtering. Since hist files of events get updated when active and the event is triggered, allow applications to poll the hist file and wake up when an event is triggered. This will let the application know that the event it is waiting for happened. - Add :mod: command to enable events for current or future modules The function tracer already has a way to enable functions to be traced in modules by writing ":mod:<module>" into set_ftrace_filter. That will enable either all the functions for the module if it is loaded, or if it is not, it will cache that command, and when the module is loaded that matches <module>, its functions will be enabled. This also allows init functions to be traced. But currently events do not have that feature. Add the command where if ':mod:<module>' is written into set_event, then either all the modules events are enabled if it is loaded, or cache it so that the module's events are enabled when it is loaded. This also works from the kernel command line, where "trace_event=:mod:<module>", when the module is loaded at boot up, its events will be enabled then. trace-v6.14
ftrace updates for v6.14: - Have fprobes built on top of function graph infrastructure The fprobe logic is an optimized kprobe that uses ftrace to attach to functions when a probe is needed at the start or end of the function. The fprobe and kretprobe logic implements a similar method as the function graph tracer to trace the end of the function. That is to hijack the return address and jump to a trampoline to do the trace when the function exits. To do this, a shadow stack needs to be created to store the original return address. Fprobes and function graph do this slightly differently. Fprobes (and kretprobes) has slots per callsite that are reserved to save the return address. This is fine when just a few points are traced. But users of fprobes, such as BPF programs, are starting to add many more locations, and this method does not scale. The function graph tracer was created to trace all functions in the kernel. In order to do this, when function graph tracing is started, every task gets its own shadow stack to hold the return address that is going to be traced. The function graph tracer has been updated to allow multiple users to use its infrastructure. Now have fprobes be one of those users. This will also allow for the fprobe and kretprobe methods to trace the return address to become obsolete. With new technologies like CFI that need to know about these methods of hijacking the return address, going toward a solution that has only one method of doing this will make the kernel less complex. - Cleanup with guard() and free() helpers There were several places in the code that had a lot of "goto out" in the error paths to either unlock a lock or free some memory that was allocated. But this is error prone. Convert the code over to use the guard() and free() helpers that let the compiler unlock locks or free memory when the function exits. - Remove disabling of interrupts in the function graph tracer When function graph tracer was first introduced, it could race with interrupts and NMIs. To prevent that race, it would disable interrupts and not trace NMIs. But the code has changed to allow NMIs and also interrupts. This change was done a long time ago, but the disabling of interrupts was never removed. Remove the disabling of interrupts in the function graph tracer is it is not needed. This greatly improves its performance. - Allow the :mod: command to enable tracing module functions on the kernel command line. The function tracer already has a way to enable functions to be traced in modules by writing ":mod:<module>" into set_ftrace_filter. That will enable either all the functions for the module if it is loaded, or if it is not, it will cache that command, and when the module is loaded that matches <module>, its functions will be enabled. This also allows init functions to be traced. But currently events do not have that feature. Because enabling function tracing can be done very early at boot up (before scheduling is enabled), the commands that can be done when function tracing is started is limited. Having the ":mod:" command to trace module functions as they are loaded is very useful. Update the kernel command line function filtering to allow it. ftrace-v6.14
A pull request from me on the topic of kthreads may appear out of the blue but this "subsystem" has no official maintainer and nobody loudly volunteered to take these changes. Therefore I'm carrying these myself. Thanks. Kthreads affinity follow either of 4 existing different patterns: 1) Per-CPU kthreads must stay affine to a single CPU and never execute relevant code on any other CPU. This is currently handled by smpboot code which takes care of CPU-hotplug operations. Affinity here is a correctness constraint. 2) Some kthreads _have_ to be affine to a specific set of CPUs and can't run anywhere else. The affinity is set through kthread_bind_mask() and the subsystem takes care by itself to handle CPU-hotplug operations. Affinity here is assumed to be a correctness constraint. 3) Per-node kthreads _prefer_ to be affine to a specific NUMA node. This is not a correctness constraint but merely a preference in terms of memory locality. kswapd and kcompactd both fall into this category. The affinity is set manually like for any other task and CPU-hotplug is supposed to be handled by the relevant subsystem so that the task is properly reaffined whenever a given CPU from the node comes up. Also care should be taken so that the node affinity doesn't cross isolated (nohz_full) cpumask boundaries. 4) Similar to the previous point except kthreads have a _preferred_ affinity different than a node. Both RCU boost kthreads and RCU exp kworkers fall into this category as they refer to "RCU nodes" from a distinctly distributed tree. Currently the preferred affinity patterns (3 and 4) have at least 4 identified users, with more or less success when it comes to handle CPU-hotplug operations and CPU isolation. Each of which do it in its own ad-hoc way. This is an infrastructure proposal to handle this with the following API changes: _ kthread_create_on_node() automatically affines the created kthread to its target node unless it has been set as per-cpu or bound with kthread_bind[_mask]() before the first wake-up. - kthread_affine_preferred() is a new function that can be called right after kthread_create_on_node() to specify a preferred affinity different than the specified node. When the preferred affinity can't be applied because the possible targets are offline or isolated (nohz_full), the kthread is affine to the housekeeping CPUs (which means to all online CPUs most of the time or only the non-nohz_full CPUs when nohz_full= is set). kswapd, kcompactd, RCU boost kthreads and RCU exp kworkers have been converted, along with a few old drivers. Summary of the changes: * Consolidate a bunch of ad-hoc implementations of kthread_run_on_cpu() * Introduce task_cpu_fallback_mask() that defines the default last resort affinity of a task to become nohz_full aware * Add some correctness check to ensure kthread_bind() is always called before the first kthread wake up. * Default affine kthread to its preferred node. * Convert kswapd / kcompactd and remove their halfway working ad-hoc affinity implementation * Implement kthreads preferred affinity * Unify kthread worker and kthread API's style * Convert RCU kthreads to the new API and remove the ad-hoc affinity implementation.
This is the next round of the Rust support. asked, but it is also still in GitHub too (like in previous occasions). I may create a "group" repository in the future. All commits have been in linux-next for a few rounds. You may get major Rust changes via a driver-core PR and a Kbuild PR, as well as smaller ones in a locking PR via tip, a lsm PR and a netdev-next PR. You already got the blocks PR which contains a small Rust change as well. Conflicts expected with both the driver-core and security one. The conflicts aren't too bad -- the resolutions in -next are fine. Cheers, Miguel Rust changes for v6.14 Toolchain and infrastructure: - Finish the move to custom FFI integer types started in the previous cycle and finally map 'long' to 'isize' and 'char' to 'u8'. Do a few cleanups on top thanks to that. - Start to use 'derive(CoercePointee)' on Rust >= 1.84.0. This is a major milestone on the path to build the kernel using only stable Rust features. In particular, previously we were using the unstable features 'coerce_unsized', 'dispatch_from_dyn' and 'unsize', and now we will use the new 'derive_coerce_pointee' one, which is on track to stabilization. This new feature is a macro that essentially expands into code that internally uses the unstable features that we were using before, without having to expose those. With it, stable Rust users, including the kernel, will be able to build custom smart pointers that work with trait objects, e.g.: fn f(p: &Arc<dyn Display>) { pr_info!("{p}\n"); } let a: Arc<dyn Display> = Arc::new(42i32, GFP_KERNEL)?; let b: Arc<dyn Display> = Arc::new("hello there", GFP_KERNEL)?; f(&a); // Prints "42". f(&b); // Prints "hello there". Together with the 'arbitrary_self_types' feature that we started using in the previous cycle, using our custom smart pointers like 'Arc' will eventually only rely in stable Rust. - Introduce 'PROCMACROLDFLAGS' environment variable to allow to link Rust proc macros using different flags than those used for linking Rust host programs (e.g. when 'rustc' uses a different C library than the host programs' one), which Android needs. - Help kernel builds under macOS with Rust enabled by accomodating other naming conventions for dynamic libraries (i.e. '.so' vs. '.dylib') which are used for Rust procedural macros. The actual support for macOS (i.e. the rest of the pieces needed) is provided out-of-tree by others, following the policy used for other parts of the kernel by Kbuild. - Run Clippy for 'rusttest' code too and clean the bits it spotted. - Provide Clippy with the minimum supported Rust version to improve the suggestions it gives. - Document 'bindgen' 0.71.0 regression. 'kernel' crate: - 'build_error!': move users of the hidden function to the documented macro, prevent such uses in the future by moving the function elsewhere and add the macro to the prelude. - 'types' module: add improved version of 'ForeignOwnable::borrow_mut' (which was removed in the past since it was problematic); change 'ForeignOwnable' pointer type to '*mut'. - 'alloc' module: implement 'Display' for 'Box' and align the 'Debug' implementation to it; add example (doctest) for 'ArrayLayout::new()'. - 'sync' module: document 'PhantomData' in 'Arc'; use 'NonNull::new_unchecked' in 'ForeignOwnable for Arc' impl. - 'uaccess' module: accept 'Vec's with different allocators in 'UserSliceReader::read_all'. - 'workqueue' module: enable run-testing a couple more doctests. - 'error' module: simplify 'from_errno()'. - 'block' module: fix formatting in code documentation (a lint to catch these is being implemented). - Avoid 'unwrap()'s in doctests, which also improves the examples by showing how kernel code is supposed to be written. - Avoid 'as' casts with 'cast{,_mut}' calls which are a bit safer. And a few other cleanups.
- Reorganize the architecture-optimized CRC32 and CRC-T10DIF code to be directly accessible via the library API, instead of requiring the crypto API. This is much simpler and more efficient. - Convert some users such as ext4 to use the CRC32 library API instead of the crypto API. More conversions like this will come later. - Add a KUnit test that tests and benchmarks multiple CRC variants. Remove older, less-comprehensive tests that are made redundant by this. - Add an entry to MAINTAINERS for the kernel's CRC library code. I'm volunteering to maintain it. I have additional cleanups and optimizations planned for future cycles. These patches have been in linux-next since -rc1.
please pull the accumulated EDAC lineup for v6.14. Thx. --- - Remove the EDAC PowerPC Cell driver due to the removal of the IBM Cell blades support - Add a new EDAC driver for Loongson SoCs which reports single-bit correctable errors - Extend the SKX and i10NM EDAC drivers to support UV systems which can have more than 8 nodes - Add Intel Clearwater Forest server support to i10nm_edac - Minor fix
please pull s390 updates for the 6.14 merge window. Thanks, Alexander s390 updates for 6.14 merge window - Select config option KASAN_VMALLOC if KASAN is enabled - Select config option VMAP_STACK unconditionally - Implement arch_atomic_inc() / arch_atomic_dec() functions which result in a single instruction if compiled for z196 or newer architectures - Make layering between atomic.h and atomic_ops.h consistent - Comment s390 preempt_count implementation - Remove pre MARCH_HAS_Z196_FEATURES preempt count implementation - GCC uses the number of lines of an inline assembly to calculate number of instructions and decide on inlining. Therefore remove superfluous new lines from a couple of inline assemblies. - Provide arch_atomic_*_and_test() implementations that allow the compiler to generate slightly better code. - Optimize __preempt_count_dec_and_test() - Remove __bootdata annotations from declarations in header files - Add missing include of <linux/smp.h> in abs_lowcore.h to provide declarations for get_cpu() and put_cpu() used in the code - Fix suboptimal kernel image base when running make kasan.config - Remove huge_pte_none() and huge_pte_none_mostly() as are identical to the generic variants - Remove unused PAGE_KERNEL_EXEC, SEGMENT_KERNEL_EXEC, and REGION3_KERNEL_EXEC defines - Simplify noexec page protection handling and change the page, segment and region3 protection definitions automatically if the instruction execution-protection facility is not available - Save one instruction and prefer EXRL instruction over EX in string, xor_*(), amode31 and other functions - Create /dev/diag misc device to fetch diagnose specific information from the kernel and provide it to userspace - Retrieve electrical power readings using DIAGNOSE 0x324 ioctl - Make ccw_device_get_ciw() consistent and use array indices instead of pointer arithmetic * s390/qdio: Move memory alloc/pointer arithmetic for slib and sl into one place - The sysfs core now allows instances of 'struct bin_attribute' to be moved into read-only memory. Make use of that in s390 code - Add missing TLB range adjustment in pud_free_tlb() - Improve topology setup by adding early polarization detection - Fix length checks in codepage_convert() function - The generic bitops implementation is nearly identical to the s390 one. Switch to the generic variant and decrease a bit the kernel image size - Provide an optimized arch_test_bit() implementation which makes use of flag output constraint. This generates slightly better code - Provide memory topology information obtanied with DIAGNOSE 0x310 using ioctl. - Various other small improvements, fixes, and cleanups These changes were added with a merge of 'pci-device-recovery' branch - Add PCI error recovery status mechanism - Simplify and document debug_next_entry() logic - Split private data allocation and freeing out of debug file open() and close() operations - Add debug_dump() function that gets a textual representation of a debug info (e.g. PCI recovery hardware error logs) - Add formatted content of pci_debug_msg_id to the PCI report
There's just a couple of changes: 2 kernel messages addressed, a measuremen= t policy collision addressed, and 1 policy cleanup. =20 Please note that the contents of the IMA measurement list is potentially af= fected.=20 The builtin tmpfs IMA policy rule change might introduce additional measure= ments, while detecting a reboot might eliminate some measurements. thanks, Mimi integrity-v6.14
Hi Rafael, - Add missing residency header changes in cpuidle.h to SWIG diff is attached. thanks, -- Shuah linux-cpupower-6.14-rc1-second - Add missing residency header changes in cpuidle.h to SWIG
fixes.2024.12.14a: RCU fixes rcutorture.2024.12.14a: Torture-test updates srcu.2024.12.14a: SRCU updates torture-test.2024.12.14a: Adding an extra test, fixes One merge conflicts was detected by linux-next: * https://lore.kernel.org/lkml/20241220133738.1beae531@canb.auug.org.au/T/ The conflict resolution from linux-next look good to me, plus I make my own resolutions at branch merge/rcu.2024.12.21a for your reference. RCU pull request for v6.14 This pull request contains the following branches: fixes.2024.12.14a: Misc fixes, check if IRQs are disabled in rcu_exp_need_qs(), instrument KCSAN exclusive-writer assertions, add extra WARN_ON_ONCE() check, set the cpu_no_qs.b.exp under lock, warn if callback enqueued on offline CPU. rcutorture.2024.12.14a: Torture-test updates, add rcutorture.preempt_duration kernel module parameter, make the TREE03 scenario do preemption, improve pooling timeouts for rcu_torture_writer(), improve output of "Failure/close-call rcutorture reader segments", add some reader-state debugging checks, update doc of polled APIs, add extra diagnostics for per-reader-segment preemption. srcu.2024.12.14a: SRCU updates, improve doc for srcu_read_lock() in terms of return value, fix typo in comments, remove redundant GP sequence checks in the srcu_funnel_gp_start. torture-test.2024.12.14a: Add an extra test for sched_clock(), improve testing on unresponsive systems.
please pull the latest slab updates from: There's a small conflict with the mm tree: https://lore.kernel.org/all/20241216152721.15c5864d@canb.auug.org.au/ Thanks, Vlastimil * Move the kfree_rcu() implementation from RCU to SLAB subsystem (Uladzislau Rezki) The kfree_rcu() implementation has been historically maintained in the RCU subsystem. At LSF/MM we agreed to move it to SLAB, where it more logically belongs to. The batching is planned be more integrated with SLUB internals in the future, while using the RCU APIs like any other subsystem. * Fix for kernel-doc warning (Randy Dunlap)
USB-serial updates for 6.14-rc1 Here are the USB-serial updates for 6.14-rc1, including: - fix a long-standing NULL-deref issue in quatech2 - add support for hardware flow control to ch341 Included is also a related clean up. All have been in linux-next with no reported issues.
I'm away for next 10 days, so in advance of the merge window opening and to demonstrate that I can do it, here is an early pull request. I've done a trial merge to your current tree and only had minor merge conflicts, of course this may change over time, but I think you can take care of them or ping someone to help. There are two external interactions of note, the msm tree pull in some opp tree, hopefully the opp tree arrives from the same git tree however it normally does. There is also a new cgroup controller for device memory, that is used by drm, so is merging through my tree. This will hopefully help open up gpu cgroup usage a bit more and move us forward. There is a new accelerator driver for the AMD XDNA Ryzen AI NPUs. Then the usual xe/amdgpu/i915/msm leaders and lots of changes/refactors across the board, I should be back by the end of the merge window, and Sima is around if anything needs escalating. Regards, Dave. drm-next-2025-01-17: drm next for 6.14-rc1 core: - device memory cgroup controller added - Remove driver date from drm_driver - Add drm_printer based hex dumper - drm memory stats docs update - scheduler documentation improvements new driver: - amdxdna - Ryzen AI NPU support connector: - add a mutex to protect ELD - make connector setup two-step panels: - Introduce backlight quirks infrastructure - New panels: KDB KD116N2130B12, Tianma TM070JDHG34-00, - Multi-Inno Technology MI1010Z1T-1CP11 bridge: - ti-sn65dsi83: Add ti,lvds-vod-swing optional properties - Provide default implementation of atomic_check for HDMI bridges - it605: HDCP improvements, MCCS Support xe: - make OA buffer size configurable - GuC capture fixes - add ufence and g2h flushes - restore system memory GGTT mappings - ioctl fixes - SRIOV PF scheduling priority - allow fault injection - lots of improvements/refactors - Enable GuC's WA_DUAL_QUEUE for newer platforms - IRQ related fixes and improvements i915: - More accurate engine busyness metrics with GuC submission - Ensure partial BO segment offset never exceeds allowed max - Flush GuC CT receive tasklet during reset preparation - Some DG2 refactor to fix DG2 bugs when operating with certain CPUs - Fix DG1 power gate sequence - Enabling uncompressed 128b/132b UHBR SST - Handle hdmi connector init failures, and no HDMI/DP cases - More robust engine resets on Haswell and older i915/xe display: - HDCP fixes for Xe3Lpd - New GSC FW ARL-H/ARL-U - support 3 VDSC engines 12 slices - MBUS joining sanitisation - reconcile i915/xe display power mgmt - Xe3Lpd fixes - UHBR rates for Thunderbolt amdgpu: - DRM panic support - track BO memory stats at runtime - Fix max surface handling in DC - Cleaner shader support for gfx10.3 dGPUs - fix drm buddy trim handling - SDMA engine reset updates - Fix doorbell ttm cleanup - RAS updates - ISP updates - SDMA queue reset support - Rework DPM powergating interfaces - Documentation updates and cleanups - DCN 3.5 updates - Use a pm notifier to more gracefully handle VRAM eviction on suspend or hibernate - Add debugfs interfaces for forcing scheduling to specific engine instance= s - GG 9.5 updates - IH 4.4 updates - Make missing optional firmware less noisy - PSP 13.x updates - SMU 13.x updates - VCN 5.x updates - JPEG 5.x updates - GC 12.x updates - DC FAMS updates amdkfd: - GG 9.5 updates - Logging improvements - Shader debugger fixes - Trap handler cleanup - Cleanup includes - Eviction fence wq fix msm: - MDSS: - properly described UBWC registers - added SM6150 (aka QCS615) support - DPU: - added SM6150 (aka QCS615) support - enabled wide planes if virtual planes are enabled (by using two SSPPs for a single plane) - added CWB hardware blocks support - DSI: - added SM6150 (aka QCS615) support - GPU: - Print GMU core fw version - GMU bandwidth voting for a740 and a750 - Expose uche trap base via uapi - UAPI error reporting rcar-du: - Add r8a779h0 Support ivpu: - Fix qemu crash when using passthrough nouveau: - expose GSP-RM logging buffers via debugfs panfrost: - Add MT8188 Mali-G57 MC3 support rockchip: - Gamma LUT support hisilicon: - new HIBMC support virtio-gpu: - convert to helpers - add prime support for scanout buffers v3d: - Add DRM_IOCTL_V3D_PERFMON_SET_GLOBAL vc4: - Add support for BCM2712 vkms: - line-per-line compositing algorithm to improve performance zynqmp: - Add DP audio support mediatek: - dp: Add sdp path reset - dp: Support flexible length of DP calibration data etnaviv: - add fdinfo memory support - add explicit reset handling drm next for 6.14-rc1 core: - device memory cgroup controller added - Remove driver date from drm_driver - Add drm_printer based hex dumper - drm memory stats docs update - scheduler documentation improvements new driver: - amdxdna - Ryzen AI NPU support connector: - add a mutex to protect ELD - make connector setup two-step panels: - Introduce backlight quirks infrastructure - New panels: KDB KD116N2130B12, Tianma TM070JDHG34-00, - Multi-Inno Technology MI1010Z1T-1CP11 bridge: - ti-sn65dsi83: Add ti,lvds-vod-swing optional properties - Provide default implementation of atomic_check for HDMI bridges - it605: HDCP improvements, MCCS Support xe: - make OA buffer size configurable - GuC capture fixes - add ufence and g2h flushes - restore system memory GGTT mappings - ioctl fixes - SRIOV PF scheduling priority - allow fault injection - lots of improvements/refactors - Enable GuC's WA_DUAL_QUEUE for newer platforms - IRQ related fixes and improvements i915: - More accurate engine busyness metrics with GuC submission - Ensure partial BO segment offset never exceeds allowed max - Flush GuC CT receive tasklet during reset preparation - Some DG2 refactor to fix DG2 bugs when operating with certain CPUs - Fix DG1 power gate sequence - Enabling uncompressed 128b/132b UHBR SST - Handle hdmi connector init failures, and no HDMI/DP cases - More robust engine resets on Haswell and older i915/xe display: - HDCP fixes for Xe3Lpd - New GSC FW ARL-H/ARL-U - support 3 VDSC engines 12 slices - MBUS joining sanitisation - reconcile i915/xe display power mgmt - Xe3Lpd fixes - UHBR rates for Thunderbolt amdgpu: - DRM panic support - track BO memory stats at runtime - Fix max surface handling in DC - Cleaner shader support for gfx10.3 dGPUs - fix drm buddy trim handling - SDMA engine reset updates - Fix doorbell ttm cleanup - RAS updates - ISP updates - SDMA queue reset support - Rework DPM powergating interfaces - Documentation updates and cleanups - DCN 3.5 updates - Use a pm notifier to more gracefully handle VRAM eviction on suspend or hibernate - Add debugfs interfaces for forcing scheduling to specific engine instance= s - GG 9.5 updates - IH 4.4 updates - Make missing optional firmware less noisy - PSP 13.x updates - SMU 13.x updates - VCN 5.x updates - JPEG 5.x updates - GC 12.x updates - DC FAMS updates amdkfd: - GG 9.5 updates - Logging improvements - Shader debugger fixes - Trap handler cleanup - Cleanup includes - Eviction fence wq fix msm: - MDSS: - properly described UBWC registers - added SM6150 (aka QCS615) support - DPU: - added SM6150 (aka QCS615) support - enabled wide planes if virtual planes are enabled (by using two SSPPs for a single plane) - added CWB hardware blocks support - DSI: - added SM6150 (aka QCS615) support - GPU: - Print GMU core fw version - GMU bandwidth voting for a740 and a750 - Expose uche trap base via uapi - UAPI error reporting rcar-du: - Add r8a779h0 Support ivpu: - Fix qemu crash when using passthrough nouveau: - expose GSP-RM logging buffers via debugfs panfrost: - Add MT8188 Mali-G57 MC3 support rockchip: - Gamma LUT support hisilicon: - new HIBMC support virtio-gpu: - convert to helpers - add prime support for scanout buffers v3d: - Add DRM_IOCTL_V3D_PERFMON_SET_GLOBAL vc4: - Add support for BCM2712 vkms: - line-per-line compositing algorithm to improve performance zynqmp: - Add DP audio support mediatek: - dp: Add sdp path reset - dp: Support flexible length of DP calibration data etnaviv: - add fdinfo memory support - add explicit reset handling
The "misc" pull request has a conflict with the tip tree[*]. It's ugly, but not super complex, and it's trivially easy to verify the result. There are also two single-series topic branches, "vcpu_array" and "memslots", but otherwise nothing out of the ordinary. [*] https://lore.kernel.org/all/20250106150509.19432acd@canb.auug.org.au
This is the pull request with interconnect changes for the v6.14-rc1 merge window. It contains a new driver and tiny DT binding updates. As always, the summary is in the signed tag. All patches have been in linux-next for a while. There are no reported Thanks, Georgi interconnect changes for 6.14 This pull request contains the interconnect changes for the 6.14-rc1 merge window. It contains one new driver and DT documentation updates for L3 and bandwidth monitors. Driver changes: - New driver for the SM8750 platform - Add DT compatibles for QCS615 BWMON and SM8650 OSM Signed-off-by: Georgi Djakov <djakov@kernel.org>
kind of ended up being the catch-all for the tracepoint change, with the core trace change having been reviewed by Rostedt. Thanks! -Kees hardening updates for v6.14-rc1 - stackleak: Use str_enabled_disabled() helper (Thorsten Blum) - Document GCC INIT_STACK_ALL_PATTERN behavior (Geert Uytterhoeven) - Add task_prctl_unknown tracepoint (Marco Elver)
Thanks! -Kees pstore updates for v6.14-rc1 - pstore/blk: trivial typo fixes (Eugen Hristev) - pstore/zone: reject zero-sized allocations (Eugen Hristev)
this series from the core execve tree since it's had a life of its own as it has progressed from O_MAY_EXEC. :) This provides userspace with a way to opt in to performing "execability" checks for things that are executable but don't pass through execve(2) (e.g. scripts, dlopen libs, etc). It's seen quite a bit of discussion and review, and has lived in -next for the entire dev cycle. Included is documentation, samples, and extensive selftests. Thanks! -Kees AT_EXECVE_CHECK introduction for v6.14-rc1 - Implement AT_EXECVE_CHECK flag to execveat(2) (Mickaël Salaün) - Implement EXEC_RESTRICT_FILE and EXEC_DENY_INTERACTIVE securebits (Mickaël Salaün) - Add selftests and samples for AT_EXECVE_CHECK (Mickaël Salaün)
request for v6.13-rc1, but with all the "comm" stuff now settled and has lived in -next for the entire past dev cycle. Thanks! -Kees execve updates for v6.14-rc1 - exec: fix up /proc/pid/comm in the execveat(AT_EMPTY_PATH) case (Tycho Andersen, Kees Cook) - binfmt_misc: Fix comment typos (Christophe JAILLET) - exec: move empty argv[0] warning closer to actual logic (Nir Lichtman) - exec: remove legacy custom binfmt modules autoloading (Nir Lichtman) - binfmt_flat: Fix integer overflow bug on 32 bit systems (Dan Carpenter) - exec: Make sure set_task_comm() always NUL-terminates - coredump: Do not lock when copying "comm" - MAINTAINERS: add auxvec.h and set myself as maintainer
LoongArch KVM changes for v6.14 1. Clear LLBCTL if secondary mmu mapping changed. 2. Add hypercall service support for usermode VMM. This is a really small changeset, because the Chinese New Year (Spring Festival) is coming. Happy New Year!
Hi, Previously I sent just one patch alone. It is not included here. Best regards, Krzysztof Samsung SoC drivers for v6.14 1. Add new bindings for sysreg in Exynos8895. 2. Minor improvements in Exynos USI bindings. 3. Fix for Smatch warning in Exynos PMU syscon driver.
Dear Greg, This is extcon-next pull request for v6.14. I add detailed description of Best Regards, Chanwoo Choi Update extcon next for v6.14 Detailed description for this pull request: - Fix null pointer check of memory allocation on extcon-rtk-type-c.c. - Add EXTCON subsystem documentation including the detailed description/example. - Drop unneeded init of struct i2c_device_id:driver_data on extcon-fsa9480/pth5150.c.
Hi SoC maintainers, warning around "Reported-by" without "Closes" - the report was an internal report with no public facing URL and was hence skipped. I decided to leave it alone to acknowledge the reporter. TI K3 device tree updates for v6.14 Generic Fixups/Cleanups: - Remove unused and undocumented "ti,(rx|tx)-fifo-depth" properties for ethernet phy - Clock description added to ICSS-G SoC Specific features and Fixes: - Duplicate GICR reg defines in am62x/am62ax - Mailbox nodes are enabled at board level bringing AM67/j722s/am62p to same behavior as other K3 SoCs. - Introduction of deep-sleep state defines for pinctrl header AM62Ax - Enable ti-sysc for wkup_uart0 AM64: - Switch ICSSG clock to core clock. J7200: - Disable SPI1 loopback default. J784s4: - Clock ID fix for McSPI instances - Use j7200-padconf compatibility for padconf to enable suspend-to-ram support. Board Specific: AM62 - phyboard - hdmi bridge regulator and using 16bit input for hdmi bridge, vcc-supply for i2c eeprom - SK - SoC wakeup using USB1, Add bootph property around cpsw mac syscon node, M4 mailbox node redefinition fixup. - BeaglePlay: Fix ethernet phy reset time AM64 - hummingboard-t: Convert PCIE/USB overlays to independent dts. j7200: - EVM: fix typo in overlay name. j721e: - EVM: overlay for pcie1 endpoint mode. j722s: - EVM: Add mcu_i2c0 support for expansion pins., Add USB0 DFU support, Enable PMIC - AM67a-beagley-ai: Add remote proc nodes j784s4: - AM69-SK/ j784s4-EVM - Mark PMIC regulators with bootph-all property to indicate ones that are needed through boot phases. - AM69-sk: PIC0 Endpoint mode overlay, USB Superspeed mode.
Hi SoC maintainers, Note: this PR could potentially go with soc drivers as well, but decided to keep it separate to allow your discretion as to the path to take. TI Maintainer updates for v6.14 - Maintain Programmable Real-time Unit Subsystem(PRUSS) SoC library interface header linux/pruss_driver.h
Hi SoC maintainers, TI SoC driver updates for v6.14 - Build fixup when CONFIG_TI_PRUSS is disabled.
Hi Rafael, Several fixes, cleanups and AMD support enhancements: - fix TSC MHz calculation - Add install and uninstall options to bindings makefile - Add header changes for cpufreq.h to SWIG bindings - selftests/cpufreq: gitignore output files and clean them in make clean - Remove spurious return statement - Add support for parsing 'enabled' or 'disabled' strings from table - Add support for amd-pstate preferred core rankings - Don't try to read frequency from hardware when kernel uses aperf mperf - Add support for showing energy performance preference - Don't fetch maximum latency when EPP is enabled - Adjust whitespace for amd-pstate specific prints - Fix cross compilation - revise is_valid flag handling for idle_monitor diff is attached. thanks, -- Shuah linux-cpupower-6.14-rc1 Several fixes, cleanups and AMD support enhancements: - fix TSC MHz calculation - Add install and uninstall options to bindings makefile - Add header changes for cpufreq.h to SWIG bindings - selftests/cpufreq: gitignore output files and clean them in make clean - Remove spurious return statement - Add support for parsing 'enabled' or 'disabled' strings from table - Add support for amd-pstate preferred core rankings - Don't try to read frequency from hardware when kernel uses aperf mperf - Add support for showing energy performance preference - Don't fetch maximum latency when EPP is enabled - Adjust whitespace for amd-pstate specific prints - Fix cross compilation - revise is_valid flag handling for idle_monitor
i.MX clock changes for 6.14 - Fix the i.MX8MP clkout1/2 support by using sys_plln_out instead of sys_plln as parents - Add 208 MHz and 416 MHz entries to the PLL1416x - Fix the i.MX93 provider by adding the SPDIF IPG clock - Fix the i.MX93 xcvr DT node clocks by using SPDIF IRP clock instead of BUS_WAKEUP - Filter out LVDS, MIPI DSI, PXP, FLEXIO and MU clocks to i.MX93 only
NIOS2: update for v6.14 - Use str_yes_no() helper function
1-Wire bus drivers for v6.14 1. ds2482: Add support for handling the VCC regulator supply and three more minor improvements/cleanups. 2. Constify 'struct bin_attribute' in all drivers. 3. W1 core: use sysfs_emit() instead of sprintf(), as preferred coding style.
Memory controller drivers for v6.14 1. OMAP GPMC: Cleanup dead code. 2. Tegra20 EMC: Fix OF reference counting when iterating over emc-tables.
Hi, Fixes for old issues, not critical, so not worth current RC. Best regards, Krzysztof Samsung pinctrl drivers changes for v6.14 Two fixes for very old issues around error handling and also one cleanup.
Hi, Few cleanups for two platforms which were not picked up by maintainers. Best regards, Krzysztof Minor improvements in ARM64 DTS for v6.14 1. Spreadtrum: - Correct few issues pointed out by DT schema around properties and node names. - Move fuel-gauge from DTSI to DTS, because it belongs to the board. - Use undeprecated properties, like battery-detect-gpios, already supported by Linux. 2. Uniphier: Use un-deprecated hp-det-gpios (no ABI impact expected).
Samsung SoC clock drivers changes for 6.14 Add clock controller for new Exynos990 SoC.
Hi Arnd, There is only one thead device tree change for this cycle. I have run W=1 dtbs_check, and it has been in linux-next for over 2 weeks. Thanks, Drew thead-dt-for-v6.14: T-HEAD Devicetrees for v6.14 Add mailbox node for the T-Head TH1520 RISC-V SoC. The mailbox bindings and driver were already merged in v6.13: b2cf36e4a2ac ("dt-bindings: mailbox: Add thead,th1520-mailbox bindings") 5d4d263e1c6b ("mailbox: Introduce support for T-head TH1520 Mailbox driver") Signed-off-by: Drew Fustini <drew@pdp7.com>
Hi Peter & Ingo, Lockdep changes for v6.14: - Use swap() macro in the ww_mutex test. - Minor fixes and documentation for lockdep configs on internal data structure sizes. - Some "-Wunused-function" warning fixes for Clang. Rust locking changes for v6.14: - Add Rust locking files into LOCKING PRIMITIVES maintainer entry. - Add `Lock<(), ..>::from_raw()` function to support abstraction on low level locking. - Expose `Guard::new()` for public usage and add type alias for spinlock and mutex guards. - Add lockdep checking when creating a new lock `Guard`.
Hi, TI AEMIF memory bits for NAND/MTD. Best regards, Krzysztof Memory controller drivers for v6.14 - TI TI AEMIF driver enhancements: some refactoring around timing parameters and finally adding plus exporting interfaces for devices using the AEMIF interface (e.g. TI Davinci NAND controller) to better configure the memory interface. The exported functions are going to be used by: drivers/mtd/nand/raw/davinci_nand.c