Linux 3296 Published by

Linux Kernel 6.6.122 has been released, featuring bug fixes and enhancements that address various issues with network device drivers, CPU states, wireless drivers, graphics, and filesystems. A notable fix addresses the phylib state machine in network devices, which now correctly handles suspend and resume operations to prevent unnecessary state machine operations and potential crashes. Other updates include improvements to guest XSAVE state handling on x86 systems, fixes for memory leaks in AMDGPU and NTFS3 file systems, and a patch for a crash-causing issue with the ath11k driver. The latest kernel is available for download from the official Linux kernel website, along with documentation of its changes.



Linux Kernel 6.6.122 released

Linux Kernel 6.6.122 has been released, featuring various bug fixes and enhancements.

One of the notable commits addresses an issue with the phylib state machine in the network device driver. Specifically, there was trouble with how the phylib state machine handled suspend and resume. The old method used a test to decide if it should stop or start, but that test wasn't quite right under certain conditions, like when a PHY device hadn't properly attached yet or had been detached.

A patch tackled this by modifying the phy_uses_state_machine() function. It now correctly returns false when the phydev's link change callback is missing (phydev->phy_link_change being NULL) or after detaching it. This prevents unnecessary state machine operations and should resolve those earlier problems, plus avoid introducing new ones.

There’s also another commit related to this area, moving the phy_link_change() function before mdio_bus_phy_may_suspend(). That might seem minor now, but it's setting up for future changes where distinguishing between different kinds of PHY clients (like phylib versus phylink) becomes essential. It helps reduce confusion later.

On a different front, x86 users might appreciate this fix concerning XFD-disabled features in the guest XSAVE state. If you're dealing with certain CPU feature flags or virtualization scenarios involving KVM_SET_XSAVE and WRMSR updates for eXtended Feature Disable (XFD), there was an issue where uninitialized values could sneak into reserved fields, leading to potential #NM exceptions and kernel panics.

Then we've got the ath11k driver, it's handling a nasty RCU stall problem right now. This happens during monitor destination ring cleanup if reaping entries goes wrong because of incorrect buf_id processing loops, which can eventually cause a kernel crash. The fix breaks that cycle by ensuring proper handling of the next MSDU entry.

In graphics and filesystems too. For AMDGPU (the driver for AMD GPUs), there's been an issue where waiting on locks while accepting signals could lead to memory leaks showing up as warning backtraces. Changing how the lock is acquired should clear this mess up permanently.

Meanwhile, NTFS3 file system users benefit from a fix related to uninitialized values caught by KMSAN (Kernel Sanitizer). It happens during normal filesystem operations when memory isn't properly zeroed before being used. By using kmem_cache_zalloc() instead of kmem_cache_alloc(), the allocated memory gets cleaned, fixing those false positives.

So yeah, this latest kernel brings several important updates: tightening up network device management, ensuring guest CPU state is handled safely on x86, fixing crashes in wireless drivers like ath11k, patching AMDGPU lock handling issues, and improving NTFS3's internal memory safety. Good stuff overall.

Linux kernel 6.6.122 released

Linux kernel version 6.6.122 is now available:

Full source: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.122.tar.xz
Patch: https://cdn.kernel.org/pub/linux/kernel/v6.x/patch-6.6.122.xz
PGP Signature: https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.122.tar.sign

You can view the summary of the changes at the following URL:
https://git.kernel.org/stable/ds/v6.6.122/v6.6.121