KernelNewbies:

Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status or the Linux Kernel mailing list (there is a web interface in www.lkml.org or lore.kernel.org/lkml). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!

You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.

Linux 6.17 was released on Sunday, 28 September 2025.

Summary: This release includes an easier way to select CPU bug mitigations, based on chosen attack vectors that will be updated as new CPU bugs are discovered. It also adds new file_getattr/file_setattr system calls for setting extended file attributes with openat(2) semantics, better and more secure core dumping, initial priority inheritance support for solving priority inversion, unconditionally compilation of the task scheduler with SMP support, per NUMA node proactive reclaim for better control of memory reclaim on NUMA systems, a new fallocate(2) flag for more efficient writing of zeroes, and support for linear temporal logic monitors in the runtime verification. As always, there are many other features, new drivers, improvements and fixes.

You might be interested in the list of changes done by LWN: part 1, part 2.

1. Prominent features

1.1. Easier CPU bug mitigation selection

This release proposes new kernel command line options to make it easier to control which CPU mitigations are applied. These options select relevant mitigations based on chosen attack vectors. Administrators are encouraged to consider which attack vectors are relevant and disable all others in order to recoup system performance. When new relevant CPU vulnerabilities are found, they will be added to these attack vector controls so administrators will likely not need to reconfigure their command line parameters as mitigations will continue to be correctly applied based on the chosen attack vector controls.

1.2. New file_getattr/file_setattr system calls

This release include two new syscalls file_getattr() and file_setattr(), which can be used to set extended file attributes. They take dir fd in conjunction with a pathname argument. The syscall then operates on inode opened according to openat(2) semantics. This is an alternative to FS_IOC_FSGETXATTR/FS_IOC_FSSETXATTRioctl with a difference that file don't need to be open as file can be referenced with a path instead of fd. By having this one can manipulated filesystem inode attributes not only on regular files but also on special ones.

1.3. Better and more secure core dumping

This release continues building on top of features incorporated in past release, and extends the coredump socket to allow the coredump server to tell the kernel how to process individual coredumps, which allows for fine-grained coredump management. This scheme allows for safer core dumping.

1.4. Initial priority inheritance support for solving priority inversion

A common way to solve the problem of https://en.wikipedia.org/wiki/Priority_inversion is priority inheritance: a lower priority task will inherit the priority of a higher-priority task when they are competing for a shared resourced (lock). This release adds an initial version of proxy execution: a mechanism for mutex-owning tasks to inherit the scheduling context of higher priority waiters. Currently limited to a single runqueue and conditional on CONFIG_EXPERT, and other limitations.

1.5. Unconditionally compile task scheduler with SMP support

This is not a feature, but rather an interesting change that shows where the world is heading. In this release, the task scheduler has removed code that is specific for single-processor systems, leaving only the multiprocessor code available. This does not mean that you cannot run Linux on a single-processor system. Rather, it means that the code paths that were specific for those systems have been removed, and from now on, the multiprocessor-specific code will handle these systems, by detecting only one processor. The consequence of this change is simplification and removal of many lines of code and #ifdef code in the task scheduler.

1.6. Per NUMA node proactive reclaim, for better control of memory reclaim on NUMA systems

This release adds support for allowing proactive reclaim in general on a NUMA system. per-node interface extends support for beyond a memcg-specific interface, respecting the current semantics of memory.reclaim: respecting aging LRU and not supporting artificially triggering eviction on nodes belonging to non-bottom tiers. This allows userspace to do echo 512M swappiness=10 > /sys/devices/system/node/nodeX/reclaim

1.7. Introduce a new fallocate(2) flag, for more efficient writing of zeroes

Currently, userspace can use fallocate(2) to quickly create a pre-allocated file. However, on most filesystems, such as ext4 and XFS, this creates pre-allocation blocks in an unwritten state, and the FALLOC_FL_ZERO_RANGE flag also behaves similarly. The extent state must be converted to a written state when the user writes data into this range later, which can trigger numerous metadata changes and consequent journal I/O. We need a method to create a pre-allocated file with written extents that can be used for pure overwriting. At the moment, the only method available is to create an empty file and write zero data into it, which is slow and consumes a considerable amount of disk bandwidth

Fortunately, with the development and more and more widely used of flash-based storage devices, we can efficiently write zeros to SSDs using the unmap write zeroes command if the devices do not write physical zeroes to the media. For example, if SCSI SSDs support the UMMAP bit or NVMe SSDs support the DEAC bit, the write zeroes command does not write actual data to the device, instead, NVMe converts the zeroed range to a deallocated state, which works fast and consumes almost no disk write bandwidth. This release introduce a new flag FALLOC_FL_WRITE_ZEROES, into fallocate(2) to use it.

1.8. Runtime Verification: Support for Linear temporal logic monitors

(See this documentation for more details on what Runtime Verification is)

Real-time applications may have design flaws causing them to have unexpected latency. For example, the applications may raise page faults, or may be blocked trying to take a mutex without priority inheritance.

However, while attempting to implement DA monitors for these real-time rules, deterministic automaton is found to be inappropriate as the specification language. The automaton is complicated, hard to understand, and error-prone. For these cases, linear temporal logic is found to be more suitable, concise and intuitive. This release adds support for expressing

2. Core (various)

3. File systems

4. Memory management

5. Block layer

  • Optimize wbt and update its comments and doc (cover), commit, commit, commit

  • Improve read ahead size for rotational devices commit

  • Add FS_IOC_GETLBMD_CAP ioctl to query metadata and protection info (PI) capabilities. This ioctl returns information about the files integrity profile. This is useful for userspace applications to understand a files end-to-end data protection support and configure the I/O accordingly (cover), commit, commit, commit, commit

  • Allow off-daemon zero-copy buffer registration (cover), commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit

  • Speed up ublk server exit handling (cover), commit, commit

  • Set dm_target_passes_crypto feature for dm-thin commit

  • dm-verity: remove support for asynchronous hashes commit

  • md: allow removing faulty rdev during resync commit

  • ufs: core: Add HID support commit

  • ufs: host: mediatek: Add more UFSCHI hardware versions commit

  • ufs: host: mediatek: Support FDE (AES) clock scaling commit

  • ufs: host: mediatek: Support clock scaling with Vcore binding commit

  • ufs: ufs-pci: Add support for Intel Wildcat Lake commit

  • ufs: ufs-qcom: Enable QUnipro Internal Clock Gating commit

  • Remove pktcdvd driver commit

6. Tracing, perf and BPF

7. Virtualization

8. Cryptography

9. Security

  • apparmor
    • Add ability to mediate caps with policy state machine commit

    • Add additional flags to extended permission. commit

    • Add fine grained af_unix mediation commit

    • Add support for profiles to define the kill signal commit

  • ima: add a knob ima= to allow disabling IMA in kdump kernel commit

  • Enhancements to the secvar interface in static key management mode (cover), commit, commit, commit

  • selinux:
    • Introduce neveraudit types commit

    • Optimize selinux_inode_getattr/permission() based on neveraudit|permissive commit

    • Add a 5 second sleep to /sys/fs/selinux/user commit

  • Add support for sync send() and use it in ftpm and svsm drivers (cover), commit, commit, commit, commit

10. Networking

11. Architectures

12. Drivers

12.1. Graphics

12.2. Power Management

  • efi: Add ovmf debug log driver commit

  • efistub: Lower default log level commit

  • ACPI: APEI: Enable einjv2 support (cover), commit, commit, commit, commit, commit, commit, commit

  • DPTF: Support for Wildcat Lake commit

  • tools/power turbostat: Support more than 64 built-in-counters commit

  • tools/power turbostat: add format "average" for external attributes commit

  • tools/power turbostat: probe and display L3 cache topology commit

  • thermal/drivers/qcom-spmi-temp-alarm: Add support for GEN2 rev 2 PMIC peripherals commit

  • thermal/drivers/qcom-spmi-temp-alarm: Add support for LITE PMIC peripherals commit

  • thermal/drivers/rockchip: Support RK3576 SoC in the thermal driver commit

  • thermal: intel: int340x: Allow temperature override commit

12.3. Storage

  • scsi: pm80xx: Add controller SCSI host fatal error uevents commit

  • ata: libata-sata: Add link_power_management_supported sysfs attribute commit

  • nvme: Support for administrative controllers (cover), commit

  • nvmet: add support for FDP in fabrics passthru path commit

12.4. Drivers in the Staging area

12.5. Networking

12.6. Audio

  • hda/realtek: Add Framework Laptop 13 (AMD Ryzen AI 300) to quirks commit

  • hda/realtek: Add support for ASUS Commercial laptops using CS35L41 HDA commit

  • Add support for asus nuc using cs35l41 (cover), commit, commit

  • hda/realtek: Add support for HP EliteBook x360 830 G6 and EliteBook 830 G6 commit

  • hda/realtek: Audio disappears on HP 15-fc000 after warm boot again commit

  • hda/realtek: add LG gram 16Z90R-A to alc269 fixup table commit

  • hda/tas2781: Add compatible for hardware id TIAS2781 and TXNW2781 commit

  • hda/tas2781: Support L"SmartAmpCalibrationData" to save calibrated data commit

  • hda: Add device entry for QEMU commit

  • hda: add MODULE_FIRMWARE for cs35l41/cs35l56 commit

  • hda: cs35l41: Support Lenovo Thinkbook 13x Gen 5 commit

  • usb-audio: Add DSD support for Comtrue USB Audio device commit

  • codecs: rt5640: Retry DEVICE_ID verification commit

  • Intel: avs: Add rt5640 machine board commit

  • ASoC
    • Intel: soc-acpi-intel-ptl-match: add support ptl-rt721-l0 commit

    • Intel: soc-acpi-intel-lnl-match: add rt1320_l12_rt714_l0 support commit

    • Intel: sof_rt5682: Add HDMI-In capture with rt5682 support for PTL. commit

    • SDCA: add a HID device for HIDE entity commit

    • SDCA: add support for HIDE entity properties and HID descriptor/report commit

    • Add audio support for acp7.2 platform commit

    • amd: acp: add soundwire machine for ACP7.0 and ACP7.1 sof stack commit

    • SOF: ipc4-priv: Add kernel doc for fw_context_save of sof_ipc4_fw_data commit

    • SOF: amd: add alternate machines for ACP7.0 and ACP7.1 platforms commit

    • codecs: Add acpi_match_table for aw88399 driver commit

    • codecs: Add calibration function to aw88399 chip commit

    • Add richtek rtq9124 support (cover), commit, commit

    • imx-card: Add WM8524 support commit

    • Add sound card support for qcs8275 (cover), commit, commit

    • Enable usb audio offloading on fairphone 4 smartphone (cover), commit, commit, commit

    • dt-bindings: tas57xx: add tas5753 compatibility commit

    • amd: Add support for acp7.2 platform commit

    • amd: acp: Add SoundWire SOF machine driver support for acp7.2 platform commit

    • amd: acp: Add SoundWire legacy machine driver support for acp7.2 platform commit

    • amd: acp: Enable I2S support for acp7.2 based platforms commit

    • amd: acp: Enable acp7.2 platform based DMIC support in machine driver commit

    • amd: ps: Add SoundWire pci and dma driver support for acp7.2 platform commit

    • tas571x: add support for tas5753 commit

12.7. Tablets, touch screens, keyboards, mouses

12.8. TV tuners, webcams, video capturers

12.9. Universal Serial Bus

  • thunderbolt: Enable end-to-end flow control also in transmit commit

  • serial: option: add Telit Cinterion LE910C4-WWX new compositions commit

  • serial: option: add Foxconn T99W709 commit

  • usb-storage: Add unusual-devs entry for Novatek NTK96550-based camera commit

  • dwc3: pci: add support for the Intel Wildcat Lake commit

  • typec: altmodes/displayport: add irq_hpd to sysfs commit

  • chipidea: Add support for s32g2 and s32g3 commit, commit, commit, commit

12.10. Serial Peripheral Interface (SPI)

12.11. Watchdog

  • sbsa: Adjust keepalive timeout to avoid MediaTek WS0 race condition commit

12.12. Serial

12.13. CPU Frequency scaling

  • devfreq: Add HiSilicon uncore frequency scaling driver (cover), commit, commit

  • tegra: add DFLL support for Tegra 4 (cover), commit

  • intel_pstate: Add Granite Rapids support in no-HWP mode commit

12.14. Voltage, current regulators, power capping, power supply

12.15. Real Time Clock (RTC)

12.16. Pin Controllers (pinctrl)

12.17. Multi Media Card (MMC)

12.18. Memory Technology Devices (MTD)

12.19. Industrial I/O (iio)

12.20. Multi Function Devices (MFD)

12.21. Pulse-Width Modulation (PWM)

12.22. Inter-Integrated Circuit (I2C + I3C)

12.23. Hardware monitoring (hwmon)

12.24. General Purpose I/O (gpio)

12.25. Cryptography hardware acceleration

  • Caam: imx8qxp support (cover), commit, commit, commit, commit

  • hisilicon/sec2: implement full backlog mode for sec commit

  • inside-secure - remove crc32 support commit

  • qat
    • refactor and add live migration enablers for GEN6 devices commit, commit, commit, commit, commit

    • enable decompression service for GEN6 devices commit

    • enable power management debugfs for GEN6 devices commit

    • enable rate limiting feature for GEN6 devices commit

    • enable telemetry for GEN6 devices commit

    • validate service in rate limiting sysfs api commit

  • stm32: remove crc32 and crc32c support commit

12.26. PCI

12.27. Clock

12.28. PHY ("physical layer" framework)

12.29. EDAC (Error Detection And Correction)

  • i10nm: Add Intel Granite Rapids-D support commit

  • ie31200: Add Intel Raptor Lake-HX SoCs support commit

  • ie31200: Enable support for Core i5-14600 and i7-14700 commit

  • igen6: Add Intel Wildcat Lake SoCs support commit

  • ie31200: Add Intel Bartlett Lake-S SoCs support commit

12.30. DMA engines

  • Add driver for Sophgo CV18XX/SG200X dmamux commit

12.31. Various

13. List of Pull Requests

14. Other news sites

KernelNewbies: LinuxChanges (last edited 2025-09-29 16:58:03 by diegocalleja)