Back to Home

Linux 4.9 kernel introduced

Two months of active work on the new version of the kernel took place · and today Linus Torvalds has finally introduced the Linux 4.9 kernel. The most notable measurements are tools for ...

Linux 4.9 kernel introduced



    Two months of active work on the new version of the kernel took place, and today Linus Torvalds has finally introduced the Linux 4.9 kernel . The most notable measurements are the tools for diagnosing and blocking kernel stack overflows, as well as the inclusion of SELinux support in OverlayFS, plus the implementation of the Gerybus bus, which many wanted.

    As for statistics, it is, as always, extensive. In the new version, 15 thousand corrections from 1400 developers were adopted. The total patch size is 45 MB. The patch changes affected 11,042 files, with the addition of 632,157 lines of code and the removal of 354,728 lines. It is not a surprise that the majority (about 42%) of the changes presented in this version are somehow related to device drivers. Another 19% of changes are related to updating code for various hardware architectures, 12% - network stack, 5% - file systems, 4% - kernel subsystems.

    Well, now a little more detail about what are significant changes in the new version of the kernel .

    Network subsystem


    • Finally, the implementation of the TCP congestion control algorithm proposed by Google was added to the kernel. We are talking about the so-called BBR (Bottleneck Bandwidth and RTT), which is successfully used to reduce data transmission delays for traffic from resources such as google.com and YouTube;
    • A random number generation module has been added to netfilter. This module is recommended to be used to select a random assignment of a package, for example, it may be a random distribution in queues;
    • A new mechanism for configuring the BATMAN network mesh protocol (Better Approach To Mobile Adhoc Networking), implemented on the basis of the netlink interface, is presented;
    • In addition, the quota mechanism was added to netfilter, where byte quotas are implemented. An example is the possibility of setting a quota of 100 MB, where after the traffic limit for this rule has been exhausted, the action of the rule itself will cease.

    Security and Virtualization


    • Here, mainly, it is necessary to highlight the addition of several changes with the implementation of the virtual mapping mechanism of the kernel stack (CONFIG_VMAP_STACK), which provides a number of tools for detecting and blocking stack overflows. All of the above is relevant for x86 architecture. The new feature is likely to become a problem for attackers who plan to exploit vulnerabilities in the kernel. These changes make it possible to reduce the number of memory allocation operations, increase security, and implement various tools in order to diagnose stack overflow. All this is implemented thanks to developers who minimize latency due to optimizations and caching;
    • For SELinux, they added support for multi-layer file systems - this is, first of all, OverlayFS. They are used to build environments in the so-called container isolation systems;
    • System calls such as pkey_alloc (), pkey_free () and pkey_mprotect () are also implemented, where support for the specific PKU (Memory Protection Keys for Userspace) mechanism, which works in future Intel processor models, is added.

    System Services and Memory


    • Here, the main change is the addition of the Greybus subsystem. It is designed specifically to ensure the interaction of the components of the modular smartphone Ara (yes, they have not forgotten about it!). So, Greybus allows you to use the internal bus for the interaction of hardware components that connect as needed. There is support for call routing and private communications. And this allows the two components to interact with each other in a closed mode. Perhaps the enthusiasts of the modular smartphone project can now continue to work;
    • A new set of files has been added to / sys / kernel / irq, which describes the composition of the table of interrupt handlers. The new set is positioned as a replacement for / proc / interrupts;
    • The CONFIG_DEBUG_TEST_DRIVER_REMOVE option has appeared, which allows testing the unloading of a device driver through a cycle of loading, unloading and reloading the driver at the initial stage - device initialization. All this works automatically;
    • The developers also continued to develop tools for formatting core documentation.

    Files and drives


    • The FUSE module received support for access control lists that comply with the POSIX ACL;
    • Support for a number of common extents has been added to the XFS file system, which allows multiple owners to share information about contiguous data areas. This feature allows you to implement copy_file_range () in XFS;
    • Well, the developers added support for the COPY operation to the NFS server, which is defined in the NFS4.2 specification and allows you to copy the contents of the file without moving information from the server to the client and vice versa.

    Hardware


    • The AMDGPU driver introduced support for the (so far experimental) support for the Southern Islands GPU family based on the GCN 1.0 microarchitecture. Added tools for working with virtual displays ;
    • Added support for Mellanox Technologies platform systems ;
    • Also added support for Loongson 1C processors;
    • Broadcom Northstar USB 3.0 controllers and Rockchip / Innosilicon USB 2.0 controllers are now supported.

    Well, thanks to Linus and the entire community of developers - now we are waiting for new achievements that allow Linux to develop.

    Read Next