{"id":115726,"date":"2024-05-13T13:52:06","date_gmt":"2024-05-13T11:52:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-6-9"},"modified":"2024-05-13T13:52:06","modified_gmt":"2024-05-13T11:52:06","slug":"reliz-yadra-linux-6-9","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/reliz-yadra-linux-6-9","title":{"rendered":"Release of Linux Kernel 6.9","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>After two months of development, Linus Torvalds released the Linux kernel 6.9. Among the most notable changes are the dm-vdo module for deduplication and compression of block devices, a direct access mode for files in FUSE, support for creating pidfd for individual threads, the BPF token mechanism, Rust support on ARM64 systems, the classification of the Ext2 FS as deprecated, removal of the old NTFS driver, and support for the Intel FRED mechanism.        <\/p>\n<p>The new version includes 15,680 fixes from 2,106 developers, with a patch size of 54 MB (the changes affected 11,825 files, adding 687,954 lines of code and removing 225,344 lines). The previous release contained 15,641 fixes from 2,018 developers, with a patch size of 44 MB. Approximately 42% of all changes presented in version 6.9 are related to device drivers, about 17% pertain to updating architecture-specific code, 13% are related to the network stack, 7% to file systems, and 4% to internal kernel subsystems.      <\/p>\n<p>Key innovations in kernel 6.9:  <\/p>\n<ul>\n<li class=\"l\"> <b>Disk subsystem, input\/output, and file systems<\/b>\n<ul>\n<li class=\"l\"> A new dm-vdo (virtual data optimizer) handler has been added to the Device Mapper (DM), allowing for the realization of a virtual block device based on existing block devices with features such as deduplication of repeating data, data compression, exclusion of empty blocks, and increasing the size of the block device as needed (thin provisioning). These capabilities are implemented at the block device level and are independent of the file system used (for example, dm-vdo can automatically merge duplicate data and store information in a compressed format for any FS). Use of dm-vdo is supported for physical storage up to 256TB, and logical volumes can be created of up to 4PB. It is recommended to use lvm for managing vdo partitions. The VDO technology was developed by Permabit and was opened after its acquisition by Red Hat in 2017.\n<li class=\"l\"> In the FUSE subsystem, used for implementing file systems in user space, an initial implementation of the 'passthrough' mode has been added, allowing direct access to file data at the kernel level, bypassing the user-space process, which can significantly enhance performance in certain situations. For example, FUSE implementations of file systems that operate in read-only mode and restrict access to files can return the contents of files from the original file system without passing them to the FUSE process.\n<li class=\"l\"> The driver implementing the Ext2 file system has been marked as deprecated. The reason given is that the driver only supports 32-bit timestamps in inodes, which will overflow on January 19, 2038. It is recommended to use the ext4 driver instead, which supports Ext2 file systems and is fully compatible with them, but may use timestamps in Ext2 partitions that are not affected by the 2038 problem, provided the FS was created with inodes larger than 255 bytes (in the ext2 driver, 32-bit timestamps were used regardless of the inode size).\n<li class=\"l\"> The old NTFS file system driver has been removed, and starting with version 5.15, it has been replaced by a new NTFS3 driver. Having two drivers implementing NTFS in the kernel has been deemed unnecessary, given that the old driver had not been updated for many years, is in a poor state, and can only operate in read-only mode.\n<li class=\"l\"> Support for mapping user IDs of mounted file systems has been added to the zonefs and hugetlbfs file systems, which is used to map files of a certain user on a mounted foreign partition to another user in the current system.\n<li class=\"l\"> In NFSv4, administrators have been given the ability to clear file open and locking states.\n<li class=\"l\"> For the Ext4 file system, only bug fixes and updates to kunit tests are noted.\n<li class=\"l\"> In Btrfs, the transition of functions to the use of page folios has continued.\n<li class=\"l\">  In the XFS file system, work has continued on implementing the ability to use the fsck utility for checking and fixing identified problems in online mode, without unmounting the file system.\n<li class=\"l\"> The system call pwritev2() has been updated to include the RWF_NOAPPEND flag, which allows specifying an offset for writing, even if the file was opened in append mode.\n<li class=\"l\"> New ioctl commands have been added: FS_IOC_GETUUID \u2014 returns the UUID identifier of the specified file system, and FS_IOC_GETFSSYSFSPATH \u2014 determines the location in \/sys\/fs of the specified mounted file system.\n<li class=\"l\"> The efs, qnx4, and coda filesystems have been transitioned to use the new partition mounting API.\n<li class=\"l\"> The implementation of file operations in case-insensitive mode has been improved. Performance has increased by initially performing case-sensitive comparisons and reverting to case-insensitive searches. Issues have been resolved when mounting overlayfs on directories with case-insensitive settings.                  <\/ul>\n<li class=\"l\"> <b>Memory and system services<\/b>\n<ul>\n<li class=\"l\"> Support for the Intel FRED (Flexible Return and Event Delivery) mechanism has been implemented, designed to enhance the efficiency and reliability of low-level event delivery compared to the currently used IDT (Interrupt Descriptor Table) mechanism. Performance improvements and reduced latency are achieved by returning events via the IRET processor instruction rather than passing them through the IDT table. Reliability is enhanced due to the separate handling of event arrival in kernel context and user context, protection against nested NMI execution, and saving all CPU registers related to exceptions in an extended stack frame.\n<li class=\"l\"> The ability to optimize data access for individual CPU cores has been added through the use of named address spaces implemented in the GCC as an extension of GNU C.\n<li class=\"l\"> The PIDFD_THREAD flag has been added to the pidfd_open() function, allowing the creation of pidfd for individual threads rather than only using pidfd in the context of the thread group leader. A pseudo-filesystem has also been proposed for access to pidfd through the virtual filesystem. Unlike process identification using pid, the pidfd identifier is linked to a specific process and does not change, while the PID may be reassigned to another process after the current process completes.\n<li class=\"l\"> The BPF subsystem has introduced a BPF-token mechanism that allows selective delegation of access rights to privileged BPF operations for applications. For example, it is possible to grant an unprivileged application access to specific BPF subsystems without providing full CAP_BPF rights.\n<li class=\"l\"> A new type of shared memory, bpf_arena, has been added to the BPF subsystem, defining an area accessible for sharing between BPF programs and user-space processes. The may_goto instruction has been added, enabling the organization of loop operations that can be interrupted by the verifier. It is now possible to generate arbitrary TCP SYN cookies from BPF programs and create BPF handlers to combat SYN flooding.\n<li class=\"l\"> The transition of changes from the Rust-for-Linux branch continues, related to the use of the Rust language as a secondary language for developing drivers and kernel modules (Rust support is not enabled by default and does not make Rust a mandatory build dependency for the kernel). Support for using the Rust language on 64-bit ARM processors has been added. The transition to Rust version 1.76 has been made. The 'container_of!' macro has been added. Instead of the unstable 'ptr_metadata' feature, the stable 'byte_sub' method has been implemented. The 'time' module has been added with the time conversion function 'msecs_to_jiffies()'.\n<li class=\"l\"> The io_uring subsystem has gained the ability to truncate files (ftruncate_file).\n<li class=\"l\"> A new type of workqueues, WQ_BH (workqueue Bottom Halves), has been added for asynchronous code execution in the context of software interrupts, aimed at replacing deprecated tasklets.\n<li class=\"l\"> The timer subsystem has been significantly reworked, improving the logic for selecting the active CPU core to execute the triggered timer, so as not to wake up inactive cores from sleep.\n<li class=\"l\"> The ability to update the energy consumption model of the core (EM, Energy Model) during operation has been implemented, which can be used, for example, to account for the impact of operating temperature on CPU energy efficiency. The performance of the em_cpu_energy() function has been significantly improved, now executing 1.43 times faster in tests on a stationary system, and 1.69 times faster in tests on the RockPi 4B board.\n<li class=\"l\"> Support has been added for running ARM64-based systems in LPA2 mode with a 52-bit virtual address space.\n<li class=\"l\"> Continuous recording of PTE (Page Table Entry) has been implemented for ARM64 systems, increasing performance by enhancing the efficiency of TLB (Translation Lookaside Buffer) usage.\n<li class=\"l\"> Patches have been accepted to enhance the performance of the memory management subsystem by reducing the occurrence of competing locks in vmalloc().\n<li class=\"l\"> A live patching mechanism has been implemented for the LoongArch architecture, allowing for kernel fixes to be applied without rebooting.\n<li class=\"l\"> Support for the membarrier() system call has been implemented for RISC-V systems, providing memory barriers for threads running in the system.\n<li class=\"l\"> Requirements have been raised for the version of LLVM\/Clang that can be used to build the kernel. Building now requires at least LLVM release 13.0.1 (previously supported builds in LLVM 11+).\n<li class=\"l\"> The 'User trace events' mechanism, which allows creating tracing events from user processes to track activity in user space, has been enhanced with support for exporting event information in various formats (USER_EVENT_REG_MULTI_FORMAT).\n<li class=\"l\"> The function call tracing mechanism has been enhanced to track the state of incoming function arguments when tracing function exits. The return operator values can now be matched with the arguments used during the function call.\n<li class=\"l\"> The perf utility now includes support for the 'cluster' output aggregation mode ('perf stat -a --per-cluster') to combine statistics of shared resources. The ability to use the libcapstone library for disassembling processor instructions ('perf script -F disasm') has been implemented. Memory consumption optimizations have been made during the execution of the 'perf report' and 'perf annotate' commands.                    <\/ul>\n<li class=\"l\"> <b>Virtualization and Security<\/b>\n<ul>\n<li class=\"l\"> Protection against the RFDS (Register File Data Sampling) vulnerability in Intel Atom processors has been added, allowing the extraction of residual information from the register files (RF, Register File) of the processor, which are used to share register contents across tasks on the same CPU core. Blocking the vulnerability requires a microcode update and the use of the VERW instruction to clear the contents of microarchitectural buffers when returning from kernel to user space. To enable protection during kernel boot, the flag 'reg_file_data_sampling=on' can be specified. Information about vulnerability exposure and the presence of required protection microcode can be assessed in the file '\/sys\/devices\/system\/cpu\/vulnerabilities\/reg_file_data_sampling'.\n<li class=\"l\"> Basic support for guest system protection via the AMD SEV-SNP (Secure Nested Paging) extension has been added, ensuring secure operation with nested page tables and protecting against 'undeSErVed' and 'SEVerity' attacks on AMD EPYC processors, which can bypass the AMD SEV (Secure Encrypted Virtualization) protection mechanism. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/en\/vps\/abuzoustojchivye-vps\/\"   title=\"KVM\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4384\">KVM<\/a> The necessary changes for using SNP are planned to be added in the 6.10 branch.\n<li class=\"l\"> Modules implementing the IMA (Integrity Measurement Architecture) and EVM (Extended Verification Module) technologies have been transitioned to use the LSM (Linux Security Modules) framework, which significantly simplifies the code without loss of functionality, consolidating duplicated functionality and leveraging standard features available through LSM. The IMA module is intended for verifying the integrity of operating system components through digital signatures and hashes. The EVM module protects extended file attributes (xattrs) from attacks aimed at compromising their integrity (EVM will not allow an offline attack where a malicious actor modifies metadata, for example, by booting from their own storage device).\n<li class=\"l\"> The system calls lsm_list_modules(), lsm_get_self_attr(), and lsm_set_self_attr() have been redesigned for greater compatibility with 32-bit environments. These calls are intended to output the list of loaded LSM modules (Linux Security Modules) and get\/set attributes of an LSM module. The change breaks backward compatibility, but since the new system calls were added in the previous kernel release and are not yet used in applications, Linus Torvalds deemed the change acceptable.\n<li class=\"l\"> An attempt was made to resume the use of the UBSAN (Undefined Behavior Sanitizer) mechanism. The essence of the problem is that compilers handle signed and unsigned integer overflows differently. Signed overflows and pointer overflows fall under the category of undefined behavior, while unsigned overflows are truncated modulo 2n, retaining only the lower bits of the result (\"wrap-around\") and do not fall under undefined behavior. To eliminate situations leading to undefined behavior, the kernel is built with the option \"-fno-strict-overflow,\" which leads to the use of \"wrap-around\" for all integer overflows. GCC and Clang cannot properly diagnose some issues when using the \"-fno-strict-overflow\" flag, and enabling UBSAN is aimed at collaborative work with compiler developers to eliminate false positives and identify integer overflows in places where there are no explicit checks.\n<p>To check for possible overflows in the kernel, constructs of the form \"var + offset\" are used. <var> PAGE_SHIFT)\") &lt; pgoff){..}&quot;), which are tied to building with the &quot;-fno-strict-overflow&quot; flag and do not cover all the code where potential overflows may occur. The issue is that when using UBSAN, such checks led to a large number of false warnings, and because of this, UBSAN had to be disabled in 2021. The updated implementation proposes using special annotations __signed_wrap and __unsigned_wrap, as well as ready-made macros with checks add_would_overflow(a, b) and add_wrap(a, b), which allow separating the intended use of integer overflows by developers from the occurrence of accidental overflows that could lead to vulnerabilities. The proposal for a more extensive redesign of the kernel with additional type definitions was rejected by Linus Torvalds.                      <\/ul>\n<li class=\"l\"> <b>Network subsystem<\/b>\n<ul>\n<li class=\"l\">  Work has been done in the network subsystem to reduce the occurrence of lock contention (the attempt to obtain a lock held by another thread). The use of RTNL locks has been reduced.\n<li class=\"l\"> Added the ability to enable busy polling support in the context of individual epoll calls. The pool size and budget parameters can be set separately from the default system parameters.\n<li class=\"l\"> Implemented the net_hotdata structure to enhance the caching efficiency of the most commonly used network configuration variables.\n<li class=\"l\"> MPTCP has added support for setting TCP socket options TCP_NOTSENT_LOWAT, allowing for the limitation of the send buffer size. The MCTP socket API now supports network identifiers (\"network ID\"), enabling the use of multiple non-overlapping MCTP networks on a single host.\n<li class=\"l\"> IPSec has added support for redirecting ICMP error messages (RFC 4301).\n<li class=\"l\"> The route scanning process has been accelerated for expired lifetimes.\n<li class=\"l\"> XDP performance has been improved through stricter avoidance of allocating large memory blocks.\n<li class=\"l\"> The ability to attach metadata to netconsole messages has been added.\n<li class=\"l\"> In Netfilter, user-space-defined tables can now be linked to a controlling background process and will not be automatically removed after the user application finishes.\n<li class=\"l\"> In nftables, adding elements to set collections with combined ranges has been accelerated.                      <\/ul>\n<li class=\"l\"> <b>Hardware<\/b>\n<ul>\n<li class=\"l\"> The i915 driver continues the work on supporting Intel LunarLake (Xe 2) chips. New PCI identifiers have been added for devices based on Intel Arrow Lake and Alder Lake N chips. DisplayPort now supports tunneling (DP tunneling) and bandwidth allocation. Fastboot mode has been enabled for all platforms. Support for debug output tied to individual devices has also been added.\n<li class=\"l\"> In the AMDGPU driver, preparations have been made to support AMD RDNA3.5 and RDNA4 GPUs. Support for ATHUB 4.1, LSDMA 7.0, JPEG DPG, IH 7.0, HDP 7.0, VCN 5.0, SMU 13.0.6, NBIO 7.11, SDMA 6.1, MMHUB 3.3, DCN 3.5.1, NBIF 6.3.1, VPE 6.1.1, and the RAS ACA framework has been added. A kernel module parameter freesync_video has been included to enable experimental support for optimizing video mode switching using FreeSync technology.\n<li class=\"l\"> In the Nouveau driver, screen management code has been converted to use the kmemdup() function.\n<li class=\"l\"> Work on the drm driver (Direct Rendering Manager) for Intel Xe architecture GPUs, used in Intel Arc graphics cards and integrated graphics starting from Tiger Lake processors, has continued.\n<li class=\"l\"> A DRM driver has been added for Mediatek MT8188 VDOSYS1 chips.\n<li class=\"l\"> Kernel settings related to video subsystems have been moved to the CONFIG_VIDEO section.\n<li class=\"l\"> Support for ARM64 SoCs: Mediatek MT7981B (Filogic 820), MT7988A (Filogic 880), NXP i.MX8DXP, Renesas R8A779G2 (R-Car V4H ES2.0), R8A779H0 (R-Car V4M), TI J722S has been added.\n<li class=\"l\"> Support for ARM boards and devices has been added: Android phones based on Tegra30, Chromebook models based on Mediatek MT8186, NAS, tablets, and gaming consoles based on Rockchips RK35xx, White Hawk boards based on Renesas SoCs, boards based on Qualcomm SM8550 (Snapdragon 8 Gen 2), Apalis Evaluation Board, Sielaff i.MX6 Solo Board, Samsung Galaxy Tab 4 10.1 LTE.\n<li class=\"l\"> The code for the ALSA audio subsystem has been refactored. Support for Microchip SAM9x7, NXP i.MX95, and Qualcomm WCD939x audio systems has been added. The SoundWire driver now supports ASoC with AMD ACP 6.3 audio coprocessors, and for Intel systems, a DSPless mode has been implemented. Additional audio codecs Cirrus HD have been supported. The virtio driver has improved audio device management.\n<li class=\"l\"> Support for Marvell Octeon PCI Endpoint NIC VF and Intel E825-C 100G Ethernet controllers has been added.            <\/ul>\n<\/ul>\n<p>At the same time, the Latin American Free Software Foundation formed a version of the fully free kernel 6.9 \u2014 Linux-libre 6.9-gnu, purged of firmware elements and drivers containing non-free components or code segments restricted by the manufacturer. Release 6.9 includes an updated cleaning code for blobs in the amdgpu, ath12k, adreno, btusb, and r8169 drivers. The new ptp_fc3 driver has been cleaned. Blob names in dts files (device tree) for the Aarch64 architecture have been sanitized. Issues with the i915 driver cleaning, which caused hangs during initialization, have been resolved. Changes related to blob handling supplied as hexadecimal dumps have been made.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61160\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u043c\u043e\u0434\u0443\u043b\u044c dm-vdo \u0434\u043b\u044f \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u0441\u0436\u0430\u0442\u0438\u044f \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0432 FUSE, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f pidfd \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c BPF-\u0442\u043e\u043a\u0435\u043d\u043e\u0432, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Rust \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 ARM64, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0424\u0421 Ext2 \u0432 \u0440\u0430\u0437\u0440\u044f\u0434 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 NTFS, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-115726","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/reliz-yadra-linux-6-9\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/reliz-yadra-linux-6-9\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-05-13T11:52:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-05-13T11:52:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Linux kernel 6.9 release | ProHoster","description":"After two months of development, Linus Torvalds presented the release of Linux kernel 6.9.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/reliz-yadra-linux-6-9","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/reliz-yadra-linux-6-9","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-05-13T11:52:06+00:00","article:modified_time":"2024-05-13T11:52:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"115726","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 00:14:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 00:14:20","updated":"2026-01-23 00:14:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/115726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=115726"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/115726\/revisions"}],"predecessor-version":[{"id":164261,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/115726\/revisions\/164261"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=115726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=115726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=115726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}