Linux 3271 Published by

The Linux kernel has released multiple updates, including versions 6.12.54, 6.6.113, 6.1.157, and 5.15.195, which address various bug fixes and improvements. These updates fix problems with NFSv3 clients, ASoC SOF ipc4-pcm, NLM locking calls, and delayed tasks in throttled hierarchies. Additionally, the kernel has been improved with features such as handling NULL values in mnt_ns_release(), updating cramfs verification, and adding an option for custom mount options when loading the initial ramdisk. You can download the full source code, patches, and PGP signatures for each version from the Linux kernel website.





Linux Kernel 6.12.54, 6.6.113, 6.1.157, and 5.15.195 released

Multiple Linux kernel releases have been made, including 6.12.54, 6.6.113, 6.1.157, and 5.15.195. Several bug fixes and improvements were introduced in these versions.

Kernel

One of the changes addresses an issue with NFSv3 clients mounting exports using 'xprtsec=tls:mtls'. A previous correction inadvertently reintroduced a problem that caused NLM locking calls to fail under TLS-secured policies. The correction splits check_nfsd_access() into two helpers and modifies __fh_verify() to directly call the new helpers when access checks can be bypassed.

Another improvement involves handling NULL values in mnt_ns_release(), which is called during listmount(). This ensures that the function handles NULL pointers gracefully.

A bug correction also addresses an issue with ASoC (Advanced Linux Sound Architecture) SOF (Sound Open Firmware) ipc4-pcm. The problem arose from incorrect assumptions about chain DMA module start offset calculations, leading to inaccuracies in delay reporting and potentially confusing applications like alsa_conformance_test.

Further corrections include fixing access checking for NLM under XPRTSEC policies when an export policy with xprtsec is set to 'tls' or 'mtls', while a v3 client mounts using xprtsec=tls. Until support for NLM with TLS is added, the fix allows NLM calls under the TLS-secured policy.

Additionally, __fh_verify() was modified to correctly handle localio by adding a call to svc_xprt_set_valid(), which prevents NULL pointer dereferencing and subsequent crashes during LOCALIO path rqstp argument processing.

The perf test stat command now avoids making hybrid assumptions when running in virtualized environments. This modification ensures that the test does not fail due to incorrect calculations of cycles event fallbacks.

A critical correction addresses a problem with delayed tasks being dequeued on throttled hierarchies, which can lead to soft lockups or endless looping in wait_task_inactive() due to the failure to block the task correctly.

The writeback code has been improved to avoid excessively long inode switching times and potential softlocks. This is achieved by appending inodes at the end of the b_dirty list instead of sorting them and maintaining ordering, which can be time-consuming with large numbers of dirty inodes. Additionally, a possibility to reschedule after processing each inode has been added to prevent soft lockups.

Cramfs (compressed filesystem) verification has been updated to correctly load inode modes from disk and prevent potential crashes due to corrupted data.

Lastly, the kernel now includes an option for users to specify custom mount options when loading the initial ramdisk. The 'initramfs_options' parameter allows passing specific options directly to the root filesystem during its first mount, giving users more control over the behavior of the root filesystem. This can be particularly useful in memory-constrained environments or during kdump captures, where having enough space for the initramfs is essential.

Linux kernel 6.12.54 released

Linux kernel version 6.12.54 is now available:

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

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

Linux kernel 6.6.113 released

Linux kernel version 6.6.113 is now available:

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

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

Linux kernel 6.1.157 released

Linux kernel version 6.1.157 is now available:

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

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

Linux kernel 5.15.195 released

Linux kernel version 5.15.195 is now available:

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

You can view the summary of the changes at the following URL:
https://git.kernel.org/stable/ds/v5.15.195/v5.15.194