Linux Kernel 6.18.16 Release Highlights: What You’ll Get Out of the Update
The latest point‑release, Linux 6.18.16 (together with 6.6.128, 6.12.75, 6.1.165, 5.15.202 and 5.10.252), brings a collection of bug‑fixes and performance tweaks that touch almost every part of the stack. If you’re running a system that relies on AMD GPUs or performance counters, or if you’ve run into odd crashes while testing with perf, this update is worth installing.
GPU fence handling in amdgpu
A subtle issue in the way the AMDGPU driver reported fences when updating virtual‑memory mappings has been fixed. In earlier releases the driver could hand out a fence that never advanced, leading to stalls or even kernel panics if the user space waited for it. The patch now starts from the existing last‑update fence and only creates a new one when actual work is queued, keeping reference counts balanced. Users who experienced “GPU hangs after memory remap” should see smooth rendering again.
perf test reliability
The perf tool’s parse‑metric test used to fail because counters that weren’t enabled by the kernel were treated as NaN. The patch injects a harmless default value of 1 for those metrics, making the aggregate counts appear and allowing the test suite to pass. If you run make tools/perf-tests, you’ll notice the “parse‑metric” test no longer reports errors.
MOST driver resource leak
The MOST (Media on Software Transport) core had an early registration path that leaked interface resources on error. The fix walks through every error branch and releases the interface before returning, preventing the kernel from running out of interface handles after a faulty probe. This is particularly relevant for embedded boards that use MOST for audio/video transport.
ARM64 counter stability
When CONFIG_DEBUG_PREEMPT is enabled, reading the stable virtual counter without disabling preemption could trigger warnings or even faults. The patch now disables preemption while fetching the counter in __arch_counter_get_cntvct_stable(), making that path safe on all CPUs. If you see “preempt_count” warnings during a heavy perf run on an ARM64 system, this resolves it.
io_uring enhancements
Several io_uring bugs are addressed:
- Fixed incorrect slot tracking when installing specific file descriptors with io_pipe_fixed().
- Clamp the allocation hint for fixed files to stay within the configured range.
- Ensure that a poll‑armed send bundle stops starting new bundles after a full socket buffer, preventing spurious retries.
These changes mean that applications using io_uring for high‑performance networking or file I/O will no longer hit subtle bugs in corner cases such as pipe re‑use and bursty traffic.
Device driver fixes
The list of device‑driver tweaks is long but worth highlighting a few:
- The Intel i40e/iwp2200 driver now uses the PCI class to separate their IDs, eliminating an accidental overlap that could load the wrong driver after a reboot.
- A bug in the macb (Zynq Ethernet) driver’s link‑down/up handling has been patched; it now correctly resets software queue pointers so packets aren’t lost when the PHY toggles.
- The AMD Radeon display driver had its fastboot logic corrected, ensuring that pre‑DCN10 hardware still gets the right timing.
If your system uses any of these cards you’ll see fewer “driver loaded twice” messages and more stable networking or graphics.
Miscellaneous kernel core patches
Other important fixes include:
- Preventing a double mmput() in procfs mapping queries, which could otherwise trigger a memory leak.
- Avoiding an out‑of‑bounds write when setting KFD event pages, tightening security for privileged userspace.
- A lockdep safe‑guard for the function graph tracer’s direct‑call optimisation on non‑x86 architectures.
These patches are not directly visible to most users but improve overall kernel stability and make debugging easier for developers.
Linux kernel 6.18.16 released
Linux kernel version 6.18.16 is now available:
Full source: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.16.tar.xz
Patch: https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-6.18.16.xz
PGP Signature: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.16.tar.sign
You can view the summary of the changes at the following URL:
https://git.kernel.org/stable/ds/v6.18.16/v6.18.15
Linux kernel 6.6.128 released
Linux kernel version 6.6.128 is now available:
Full source: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.128.tar.xz
Patch: https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-6.6.128.xz
PGP Signature: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.128.tar.sign
You can view the summary of the changes at the following URL:
https://git.kernel.org/stable/ds/v6.6.128/v6.6.127
Linux kernel 6.12.75 released
Linux kernel version 6.12.75 is now available:
Full source: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.12.75.tar.xz
Patch: https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-6.12.75.xz
PGP Signature: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.12.75.tar.sign
You can view the summary of the changes at the following URL:
https://git.kernel.org/stable/ds/v6.12.75/v6.12.74
Linux kernel 6.1.165 released
Linux kernel version 6.1.165 is now available:
Full source: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.165.tar.xz
Patch: https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-6.1.165.xz
PGP Signature: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.165.tar.sign
You can view the summary of the changes at the following URL:
https://git.kernel.org/stable/ds/v6.1.165/v6.1.164
Linux kernel 5.15.202 released
Linux kernel version 5.15.202 is now available:
Full source: https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.202.tar.xz
Patch: https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.15.202.xz
PGP Signature: https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.202.tar.sign
You can view the summary of the changes at the following URL:
https://git.kernel.org/stable/ds/v5.15.202/v5.15.201
Linux kernel 5.10.252 released
Linux kernel version 5.10.252 is now available:
Full source: https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.252.tar.xz
Patch: https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.10.252.xz
PGP Signature: https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.252.tar.sign
You can view the summary of the changes at the following URL:
https://git.kernel.org/stable/ds/v5.10.252/v5.10.251
