what “grew up” in the Linux 6.2 kernel. Release details

Yesterday there was news about the release of a stable release of the Linux 6.2 kernel. Changes and additions really a lot, this time almost 17 thousand corrections from 2178 developers were accepted. At the same time, changes were made to 14108 files, with the addition of 730195 lines of code. Most of the changes, almost 50%, are related to device drivers, about 16% are related to hardware architectures, 12% are network technologies, 4% are file systems, and another 3% are kernel subsystems. Under the cut – details about what the 6.2 kernel is.

The most relevant changes added to kernel, concern the continuation of work on the integration of the Rust language, which Torvalds has been talking about for a long time. In addition, code acceptance of code under the Copyleft-Next license is permitted. And yet – the ability to regulate memory consumption during delayed writing has been added, a hybrid mechanism for protecting the flow of command execution has appeared, plus the rv (Runtime Verification) utility has appeared. Well, now, in fact, the details.



Devices and drivers


  • The accel subsystem has been added to the new kernel, which is designed to implement the framework for computing accelerators. This innovation is necessary to optimize the acceleration of solving machine learning problems.
  • In amdgpu driver now there was support IP components GC, PSP, SMU and NBIO. As for ARM64, DCN (Display Core Next) support has been implemented here. Protected screen output can now be used when multiple monitors are connected.
  • As for the i915 (Intel), support for discrete Intel Arc graphics cards (DG2/Alchemist) has been stabilized here, plus support for Meteor Lake GPUs has been optimized.
  • Also in the kernel, support for the NVIDIA GA102 (RTX 30) GPU based on the Ampere architecture for the Nouveau driver has appeared.
  • There was support for wireless communication modules based on a wide range of chips, including Realtek 8852BE, Realtek 8821CU, 8822BU, 8822CU, 8723DU (USB) and MediaTek MT7996, Broadcom BCM4377/4378/4387 Bluetooth interfaces, as well as Motorcomm yt8521, NVIDIA Tegra Ethernet controllers G.E.
  • Added support for several smartphones and tablets, including Sony Xperia 10 IV, 5 IV, X and X compact, OnePlus One, 3, 3T and Nord N100, Xiaomi Poco F1 and Mi6, Huawei Watch, Google Pixel 3a, Samsung Galaxy Tab 4 10.1 .
  • There was also support for ASoC (ALSA System on Chip) for built-in sound chips HP Stream 8, Advantech MICA-071, Dell SKU 0C11, Intel ALC5682I-VD, Xiaomi Redmi Book Pro 14 2022, i.MX93, Armada 38x, RK3588. Added support for Focusrite Saffire Pro 40 audio interface. Added support for Realtek RT1318 audio codec.
  • Finally, the developers have added support for ARM SoCs and Apple T6000 (M1 Pro), T6001 (M1 Max), T6002 (M1 Ultra), Qualcomm MSM8996 Pro (Snapdragon 821), SM6115 (Snapdragon 662), SM4250 (Snapdragon 460), SM6375 ( Snapdragon 695), SDM670 (Snapdragon 670), MSM8976 (Snapdragon 652), MSM8956 (Snapdragon 650), RK3326 Odroid-Go/rg351, Zyxel NSA310S, InnoComm i.MX8MM, Odroid Go Ultra.

Network technologies


  • A driver for MediaTek Wi-Fi 7 (802.11be) devices has been added to the kernel, plus support for 800-gigabit links has appeared.
  • Now you can rename network interfaces on the fly, without stopping work, which is very convenient.
  • ipset has a new bitmask parameter that allows you to set a mask based on arbitrary bits in an IP address (for example, “ipset create set1 hash:ip bitmask 255.128.255.0”).
  • In the TUN driver, the link speed has been increased from 10Mbps to 10Gbps. This made it possible to solve speed limiting problems in a number of applications.
  • Also for IPv6, there is now support for a load balancing mechanism between network links, which is called PLB. It is designed to reduce congestion points on data center switches.
  • Well, for UDP it is now possible to use separate hash tables for different network namespaces.

Memory and system

  • The kernel now allows code and changes to be included in the kernel that are licensed under the Copyleft-Next 0.3.1 license. What is this license? It was developed by one of the authors of GPLv3 and is also compatible with GPLv2. But, unlike the latter, it is easier to understand, it contains the terms and procedure for eliminating violations. The license also automatically removes copyleft requirements for obsolete code. This is considered a code older than 15 years.
  • The rv utility appeared, as briefly discussed above. It provides an interface for user-space interaction with Runtime Verification subsystem handlers. Accordingly, the latter is designed to check the correct operation on highly reliable systems with a guarantee that there will be no failures. Validation is done at runtime by attaching handlers to tracepoints that check the actual progress against a previously predefined model.
  • A new implementation of qspinlock locks for the PowerPC architecture is proposed. This step allowed to increase productivity.
  • Added support for ftrace, stack protection, sleep and standby modes for Chinese processors with LoongArch architecture.
  • As for the Rust-for-Linux branch, there is an active transfer of additional functionality that is associated with the use of Rust as a second language for developing drivers and kernel modules. It’s worth noting that Rust’s support is inactive by default, so this does not result in the language being included in the list of required kernel build dependencies. But on the other hand, the basic functionality has been expanded, primarily to support low-level code, including the Vec type and the macros pr_debug!(), pr_cont!() and pr_alert!(), as well as the procedural macro “#[vtable]”.
  • The slab memory allocation mechanism – SLOB (slab allocator) has been deprecated.

Disks, file subsystems


  • In the kernel, the possibilities for managing lazy writing for block devices have been expanded. In some situations, lazy writes can lead to large consumption of hot writes. In order to avoid this situation, new parameters “strict_limit”, “min_bytes”, “max_bytes”, “min_ratio_fine” and “max_ratio_fine” are proposed.
  • The F2FS file system implements the atomic replace ioctl operation. It makes it possible to write data to a file in one atomic operation. A block extent cache has also been added to help identify actively used data.
  • A number of bugs have been fixed in ext4. Well, ntfs3 introduced several new mount options: “nocase” to control case-sensitive characters in file and directory names; windows_name to prevent the creation of file names containing characters that are invalid for Windows; hide_dot_files to control how the hidden file label is assigned to files that start with a dot.
  • As for exFAT, it was possible to speed up the creation of both files and folders.
  • Improved implementation of POSIX Access Control Lists (POSIX ACLs).
  • The fscrypt subsystem now supports the SM4 encryption algorithm (Chinese standard GB/T 32907-2016).
  • And the principle of checking access rights to NVMe devices has also been changed. In particular, it became possible to read / write to the device if the writing process has access to a special device file.

Security and virtualization

  • First of all, it is worth noting the new options for blocking attacks that use the generation of “oops” states, after which problematic tasks are completed and the state is restored without stopping the system. If there are many calls to such states, then a reference counter (refcount) overflow occurs, which allows exploiting vulnerabilities caused by dereferencing NULL pointers. In order to avoid this situation, a limit on the maximum number of oops hits has been added to the kernel.
  • For the ARM64 platform, it became possible to enable and disable the software implementation of the Shadow Stack mechanism at the boot stage. In the new kernel assembly of the hardware and software implementation of the Shadow Stack, it became possible to use one kernel on different ARM systems, regardless of whether they support instructions for pointer authentication.
  • Added support for using the asynchronous exit notification mechanism on Intel processors, which allows detecting single-step attacks on code running in SGX enclaves.
  • Support for the LANDLOCK_ACCESS_FS_TRUNCATE flag has been added to the Landlock mechanism (which allows you to restrict the interaction of a group of processes with the external environment), which makes it possible to control the execution of file truncation operations.

You may also be interested in these texts:

→ 8 things developers forget about when porting an application to Kubernetes
→ What to do in 2023? Pet Project Ideas and Professional Development Toolkit
→ Why ARM? Platform perspectives in server application

Traditionally lined and variant completely free kernel 6.2 – linux-libre 6.2-gnu, which has no non-free components or code snippets. There are no restrictions on the use of code in this kernel. Plus cleaned up new blobs in the nouveau driver.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *