Release van Linux-kernel 6.19. De volgende kernel krijgt nummer 7.0

Na twee maanden ontwikkeling heeft Linus Torvalds de release van Linux-kernel 6.19 gepresenteerd. Onder de meest opmerkelijke wijzigingen zijn: het Live Update Orchestrator-systeem, ondersteuning voor PCIe Link Encryption, de systeemaanroep listns, de Zero-Copy Receive-modus in io_uring, ondersteuning voor de ARM-extensie MPAM, klp-build voor het genereren van live-patches, ondersteuning voor de LoongArch32-architectuur, QoS voor s2idle, optimalisatie van het auditsysteem, Intel LASS ter bescherming tegen Spectre, ondersteuning voor die hashes SHA-3 en BLAKE2b, het Confidential VMBus-mechanisme, TX-optimalisaties in de netwerksubsystemen en het CAN XL-protocol, API voor hardwareversnelling van HDR-uitvoer.

In de aankondiging van de nieuwe versie meldde Linus dat de volgende release van de kernel nummer 7.0 zal krijgen, omdat er voldoende releases in de 6.x-tak zijn verzameld om het eerste cijfer in het versienummer te wijzigen (destijds werd release 6.0 gevolgd na 5.19). De wijziging in nummering wordt om esthetische redenen uitgevoerd en is een formele stap die het ongemak vermindert dat voortkomt uit het verzamelen van een groot aantal uitgaven in de serie. Linus grapte dat hij in de war werd door de grote getallen waarvoor hij niet genoeg vingers aan zijn handen en voeten had. Daarnaast is er formeel een reden voor een aanzienlijke wijziging van het versienummer, aangezien met de volgende release de ondersteuning voor Rust is besloten van experimenteel naar een kernfunctionaliteit te verplaatsen.

In de nieuwe versie zijn 15657 correcties van 2237 ontwikkelaars aangebracht, de patchgrootte is 52 MB (de wijzigingen hebben 13682 bestanden geraakt, 794649 regels code toegevoegd, en 335498 regels verwijderd). In de vorige release waren er 15035 correcties van 2217 ontwikkelaars, met een patchgrootte van 45 MB. Ongeveer 40% van alle wijzigingen in 6.19 hebben betrekking op apparaatdrivers, ongeveer 13% van de wijzigingen betreffen de actualisering van hardware-specifieke code, 12% heeft betrekking op de netwerstack, 5% op bestandssystemen en 3% op interne subsysteem van de kernel.

Hoofdnoviteiten in kernel 6.19 (1, 2, 3):

  • Opslagsubsystemen, invoer/uitvoer en bestandssystemen
    • In Btrfs block processes (scrub) and device replacement no longer block the system from entering sleep mode (before sleeping, the scrub-check state is saved; after waking up, the scrub-check continues, and the device replacement operation restarts). RAID56 implementation has been enhanced to support blocks larger than the page size. Prepared for fscrypt support. Performance for lock handling during space reservation operations has been improved. Support for the ioctl 'shutdown' operation has been added, allowing the filesystem to enter a state where it attempts to complete already running operations, while blocking all new operations.
    • In the Ext4 filesystem, support for blocks larger than the page size (>4KB on x86 systems) has been implemented. Using large blocks can increase performance for buffered write operations by an average of 50%, but reduces performance for direct I/O due to increased checksum calculation time. This new version also includes optimizations that enhance throughput during online defragmentation.
    • In the FUSE subsystem, support for buffered reading using large memory folios has been improved. The iomap now allows tracking of partially valid folios to load only data not present in the buffer.
    • The VFS now includes support for recallable directory delegation, enabling the implementation of directory control delegation from NFS to the client, allowing the NFS client to independently track the directory state based on local cache without contacting the NFS server. de server to the client, so that the NFS client can track the directory state independently based on the local cache without reaching out to the NFS server. If another NFS client makes changes related to this directory, the delegation of control will be revoked from the first client.
    • Voor NFS is ondersteuning voor lezen in directe invoer/uitvoer (direct I/O) toegevoegd. Instellingen /sys/kernel/debug/nfsd/io_cache_read en /sys/kernel/debug/nfsd/io_cache_write zijn geïmplementeerd voor het beheer van cache-instellingen en directe invoer/uitvoer, waarmee de overhead aan de NFS-clientzijde bij grote invoer/uitvoerbewerkingen kan worden verminderd.
    • In NTFS is ondersteuning voor de ioctl-operatie shutdown geïmplementeerd, en zijn de mount-opties "acl" en "prealloc" standaard ingeschakeld, evenals ondersteuning voor tijdstippen tot 1 januari 1970.
    • Voor blokapparaten en besturingssystemen is standaard per CPU uniek cachen van "bio"-objecten (Block I/O) ingeschakeld, die actieve invoer/uitvoerbewerkingen definiëren.
  • Geheugen en systeemdiensten
    • De kernel heeft de Live Update Orchestrator (LUO) subsystem toegevoegd, waarmee de kernel volledig kan worden herstart en geüpdatet zonder de werking te stoppen en zonder de systeemstatus, apparaten en processen te verliezen. Het LUO-systeem is gebaseerd op het eerder aan de kernel toegevoegde KHO-mechanisme (Kexec HandOver) en lost naast de mogelijkheid om een nieuwe kernel vanuit een oude te starten zonder de systeemstatus te verliezen, ook uitdagingen op zoals het bewaren van de status van apparaten en RAM, en het waarborgen van de continuïteit van DMA-gerelateerde operaties en interruptverwerking. De status wordt bewaard tot de overdracht naar de nieuwe kernel en hersteld na de activering van de nieuwe kernel zonder onderbreking van de continue operaties met apparaten die door het systeem en applicaties in de gebruikersruimte worden uitgevoerd.
    • De systeemaanroep listns() is toegevoegd om een lijst weer te geven van bestaande namespaces in het systeem zonder dat het nodig is om /proc//ns/ voor alle processen door te nemen.
    • In het systeem voor asynchrone invoer/uitvoer io_uring is ondersteuning voor het plaatsen van elementen van verschillende formaten in de verzendwachtrij (SQE, Submission Queue Entry) toegevoegd, vergelijkbaar met hoe in de vorige release het mengen van de grootte van de resultaatswachtrij (CQE, Completion Queue Event) was toegestaan. Tot nu toe moesten alle elementen in de wachtrij dezelfde grootte hebben, wat leidde tot overmatig geheugengebruik vanwege de noodzaak om de maximale grootte voor alle elementen in de wachtrij te gebruiken.

      In io_uring is also added support for the zcrx (Zero-Copy Receive) mechanism for receiving data without copying between the kernel and user space. Support for memory layout requests for SQ (Submission Queue) and CQ (Completion Queue) has been added, allowing retrieval of information about the size of the ring buffer, which is necessary for user memory allocation using the flags IORING_SETUP_NO_MMAP and IORING_MEM_REGION_TYPE_USER.

    • For quick stack tracing with utilities such as perf, support for the SFrame format has been added, which includes information for unwinding the call stack. SFrame is already supported in GCC and binutils, does not lead to performance degradation, and, unlike the DWARF format, contains only the minimal set of information necessary for stack tracing.
    • The perf utility has added support for unified descriptions of metrics and events in JSON format, as well as deferred unwinding of the call stack in user space.
    • For AMD processors, a data interleaving mechanism has been implemented, allowing input/output devices to directly place data into the CPU's L3 cache without first placing it in RAM.
    • Support for MPAM (Memory System Resource Partitioning and Monitoring), an extension of the ARMv8-A instruction set architecture designed to tag each memory access with a section identifier (PARTID, Partition ID) and a monitoring group identifier (PMG, Monitoring Group ID), has been added. Resource consumption, such as memory bandwidth or cache size, can be limited based on the PARTID to prevent a particular task group from monopolizing resources. In the context of monitoring, the combination of PMG and PARTID can be used to track memory resource consumption under certain types of workloads.
    • In the event of a process crash after receiving a signal, another process with the pidfd of the terminated process can now determine the signal number that caused the termination.
    • The implementation of restartable sequences has been revamped, allowing applications to organize pseudo-atomic non-interruptible execution of a group of instructions (in the event of interruption by another thread, a retry of the sequence execution is attempted). The new implementation features greater performance.
    • Voor BPF-programma's zijn de instructies BPF_JMP, BPF_X en BPF_JA geïmplementeerd om indirecte sprongen naar een specifieke positie in de sprongetabel uit te voeren. Het concept van dynamische pointers (dynptr) is toegevoegd, waarmee gegevens uit gestructureerde bestanden kunnen worden gelezen. Er is de mogelijkheid toegevoegd om meerdere bytes met metadata aan netwerkpakketten te hechten.
    • Modules in de programmeertaal Python, gebruikt voor het verwerken van documentatie voor de kernel, zijn verplaatst naar de afzonderlijke map tools/lib/python.
    • De functie mempool_alloc_bulk() is toegevoegd voor veilige allocatie van elementen uit het geheugenpool voor meerdere objecten tegelijk.
    • De migratie van wijzigingen uit de Rust-for-Linux-tak is voortgezet, die verband houdt met het gebruik van Rust als tweede programmeertaal voor de ontwikkeling van stuurprogramma's en kernelmodules (ondersteuning voor Rust is niet standaard ingeschakeld en leidt niet tot vereist gebruik van Rust in de bouwafhankelijkheden van de kernel). In de nieuwe versie is de bibliotheek 'syn' met een parser voor Rust-code in de kernel ingebouwd, wat het schrijven van complexe macro's vergemakkelijkt. De mogelijkheden van de bibliotheken kernel, pin-init en rbtree zijn uitgebreid. De bibliotheek 'num' met het type Integer voor het manipuleren van gehele getallen is toegevoegd. Ondersteuning voor gehele parameters is toegevoegd aan de macro 'module!'. Er is de mogelijkheid geïmplementeerd om parameters op te geven bij het laden van kernelmodules die in Rust zijn geschreven. Abstracties voor de I2C- en PWM (Pulse Width Modulation)-subsystemen zijn gerealiseerd.
    • De macro 'at_least' is toegevoegd (bijvoorbeeld 'param[at_least 7]'), die informeert naar de minimaal toegestane grootte van de array die aan de functie wordt doorgegeven. Als een array met minder elementen aan de functie wordt doorgegeven, geeft de compiler een waarschuwing.
    • Het script klp-build voor het genereren van kernelmodules die wijzigingen aanbrengen in een draaiende kernel (livepatch) op basis van een patchbestand is toegevoegd. De nuttige tool objtool heeft wijzigingen ondergaan die nodig zijn voor het maken van live-patches.
    • In User-mode Linux (de kernel draaien als een gebruikersproces) is beperkte ondersteuning voor multiprocessing toegevoegd, maar threads binnen één proces kunnen voorlopig nog niet gelijktijdig draaien. De poort van User-mode Linux naar de nolibc-bibliotheek is begonnen.
    • Ondersteuning voor de architectuur LoongArch32 (LA32R, LA32S) is toegevoegd naast LoongArch64.
    • Er is een mogelijkheid toegevoegd om QoS-limieten in te stellen voor de intensiteit van de CPU-waakmechanismen in de energiebesparende modus s2idle (Suspend-To-Idle), waarbij de uitvoering van processen in de gebruikersruimte wordt bevroren, maar sommige handlers in de kernel actief blijven.
    • Ondersteuning is toegevoegd voor het beheer van Memory Page Tables voor IOMMU-controllers (Input-Output Memory Management Unit), die de vertaling van virtuele adressen, zoals gezien door hardwareapparaten, naar fysieke adressen uitvoeren, met de mogelijkheid om DMA-operaties te filteren op virtuele adressen, en om invoer-uitvoeroperaties te beperken en te isoleren.
    • In de tracking van systeemaanroepgebeurtenissen is de mogelijkheid geïmplementeerd om buffers uit de gebruikersruimte te lezen en hun inhoud (bijvoorbeeld bestandsnamen) op te nemen in het traceerresultaat.
    • Beveiligingspagina's in het geheugen (guard page), waarvan de toegang een uitzondering en een noodstop van het proces (SIGSEGV) veroorzaakt, worden nu gemarkeerd met een speciale tag in het bestand /proc/PID/smaps.
    • Er is een mogelijkheid toegevoegd voor het beheer van grote geheugensegmenten (transparent huge page) in het privégeheugen van gezoneerde apparaten.
    • In het zram-apparaat, dat wordt gebruikt voor de gecomprimeerde opslag van de swapruimte in het geheugen, is ondersteuning geïmplementeerd voor het uitdrijven van meerdere 'bio'-structuren (Block I/O) in batchmodus (writeback batching).
    • Het lettertype 'Terminus 10×18' is opgenomen, wat de leesbaarheid van informatie van de console op laptops met een gemiddelde resolutie (1440×900) verbetert.
    • De werking van het auditsysteem is aanzienlijk geoptimaliseerd - er is een vermindering van de overhead met de helft opgemerkt.
  • Virtualisatie en beveiliging
    • Er is ondersteuning toegevoegd voor de door Intel-processors geboden mogelijkheid voor het scheiden van lineaire adresruimtes (LASS, linear address-space separation), waardoor hardwarematig de adressen in de gebruikersruimte en de kernel kunnen worden gescheiden voor een verhoogde beveiliging. De adresruimte wordt verdeeld op basis van de meest significante bit van het adres — de helft van de adresruimte met de meest significante bit ingesteld, wordt gebruikt voor de kernel, terwijl de onderste helft gereserveerd is voor de gebruikersruimte. In een vroege fase van de uitvoering van instructies (in de fase vóór speculatieve uitvoering) wordt de geldigheid van toegang vanuit de gebruikersruimte tot adressen met de meest significante bit ingesteld en omgekeerd gecontroleerd. Dit soort scheiding maakt het mogelijk om de lekkage van kerngeheugen naar de gebruikersruimte via externe kanalen te blokkeren, zelfs bij speculatieve uitvoering van instructies, waardoor LASS kan worden toegepast ter bescherming tegen aanvallen van het type Meltdown en Spectre, zonder dat dit leidt tot significante overhead.
    • De mogelijkheid is toegevoegd om beveiligingsversterkende extensies voor de PCI Express-bus in te schakelen — PCIe Link Encryption en PCIe Device Authentication, waarmee de authenticiteit en encryptie van de verbinding tussen een PCIe-apparaat en de virtuele machine, die is beveiligd door Intel TDX (Trusted Domain Extensions) en AMD SEV-SNP (Secure Nested Paging), kunnen worden bevestigd. De geïmplementeerde technologieën maken het onmogelijk om gegevens in het DMA-verkeer te onderscheppen, analyseren en injecteren bij toegang tot het hostsysteem of andere apparaten.
    • De ingebouwde cryptografische bibliotheek heeft ondersteuning gekregen voor de algoritmes SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512), SHAKE128, SHAKE256 en BLAKE2b.
    • Voor LSM-modules (Linux Security Modules) en met name voor SELinux is de mogelijkheid geïmplementeerd om het aanmaken van memfd-descriptoren te traceren om beveiligingsbeleid toe te passen op de bijbehorende objecten.
    • In de LSM-module IPE (Integrity Policy Enforcement), die het algemene integriteitsbeleid voor het gehele systeem definieert, is ondersteuning toegevoegd voor de vlag AT_EXECVE_CHECK in de functie execveat(), die een integriteitscontrole van het script uitvoert voordat het door de interpreter wordt uitgevoerd.
    • De primitieve functies scoped_user_read_access(), scoped_user_write_access en scoped_user_rw_access() zijn toegevoegd voor beperkte toegang tot gegevens in de gebruikersruimte ter bescherming tegen speculatieve aanvallen.
    • Ondersteuning toegevoegd voor het Confidential VMBus-mechanisme, dat wordt gebruikt in de HyperV-hypervisor voor beveiligde interactie tussen het gastbesturingssysteem dat in de vertrouwelijke modus draait (met geheugenversleuteling en registerisolatie op basis van AMD SNP- en Intel TDX-technologieën), en de paravisor die verantwoordelijk is voor de toegang tot apparaten die vertrouwelijke gegevens verwerken.
    • Het is nu mogelijk om informatie over een onverwachte processtop (voor het genereren van een coredump) te verzenden via het pidfd-mechanisme. De PIDFD-identificatie is gekoppeld aan een specifiek proces en verandert niet, terwijl de PID aan een ander proces kan worden gekoppeld na het beëindigen van het huidige proces dat aan deze PID is gekoppeld. Het gebruik van pidfd voorkomt aanvallen waarbij een onverwacht beëindigde suid-proces door een ander proces wordt vervangen, waardoor een raceconditie ontstaat na het begin van de verwerking van de noodstop door de kernel, maar vóór de validatie door de gebruikersruimte-handler van de procesparameters.
  • Netwerk subsysteem
    • Er zijn optimalisaties aangebracht in de netwerksubsystemen om de gegevensoverdrachtsefficiëntie (TX) te verbeteren. Door de functie __dev_queue_xmit() te ontdoen van spin-locks en door een lock-free llist-structuur te gebruiken, is de prestaties bij hoge belasting vier keer verbeterd en is de pakketverzendintensiteit bij lage belasting verdubbeld, terwijl de CPU-belasting met de helft is verminderd.
    • Het is mogelijk om voor individuele netsockets de systeemeisen voor geheugengebruik uit te schakelen (in welk geval de algemene geheugeneisen die voor afzonderlijke containers zijn ingesteld, worden gebruikt). Voor het beheer van het uitschakelen van de eisen is de sysctl net.core.bypass_prot_mem en de vlag SK_BPF_BYPASS_PROT_MEM in de functie bpf_setsockopt voorgesteld.
    • Ondersteuning toegevoegd voor de extensie RFC 5837, die aan ICMP-berichten 'Time Exceeded' informatie over inkomende netwerkinterfaces toevoegt bij het verlopen van de levensduur (TTL) van een pakket, om gedetailleerdere informatie te verstrekken bij het traceren van paden met de traceroute-tool.
    • Ondersteuning toegevoegd voor continue actieve polling (busy polling) in een aparte kernelthread om descriptors uit de RX/TX-queues te extraheren voor applicaties die minimale latenties vereisen.
    • Ondersteuning toegevoegd voor het CAN XL-protocol (Controller Area Network eXtended Length), waarbij de datagrootte is vergroot tot 2048 bytes om integratie met TCP/IP-netwerken mogelijk te maken. Ethernet-frames kunnen nu worden getunneld en ondersteuning voor pulsbreedtemodulatie is toegevoegd, waardoor gegevens met snelheden van 20 Mbps en hoger kunnen worden verzonden.
    • Ondersteuning toegevoegd voor de sockaddr_unsized-structuur, een variant van de sockaddr-structuur die een array met flexibele elementen gebruikt in plaats van een array met een vaste grootte (sa_data[] in plaats van sa_data[14], dat in feite werd gebruikt om te verwijzen naar andere structuren van grotere grootte).
    • Mogelijkheden toegevoegd voor het gebruik van de functionaliteit getsockname en getpeername via de io_uring-subsystem.
    • sysctl net.ipv4.tcp_rcvbuf_low_rtt en net.ipv4.tcp_comp_sack_rtt_percent toegevoegd voor TCP-optimalisatie.
    • Ondersteuning toegevoegd voor verbindingen met een bandbreedte van 1600 Gbps (1.6T).
  • Apparatuur
    • Een API toegevoegd aan de DRM (Direct Rendering Manager) subsystem voor het gebruik van hardwarematige kleurconversie capaciteiten, waardoor het uitvoeren van dergelijke conversies via shaders of CPU-code niet meer nodig is. Voor het weergeven van inhoud op een HDR-monitor kunnen complexe kleuraanpassingen nu worden uitgevoerd door de displaycontroller vóór en na het mengen van lagen (blending), in plaats van softwarematig compositing in de eindweergavebuffer. Naast het verlagen van overhead en energieverbruik bij het weergeven van HDR, kan deze functionaliteit worden gebruikt voor correcte kleurweergave in video- of beeldbewerkingssoftware.
    • De 'ethosu'-driver toegevoegd voor de Arm Ethos U65 en U85 NPU, bedoeld voor hardwareversnelling van AI-modeluitvoering.
    • Ondersteuning voor hardwarematige beeldversterking (Sharpening) toegevoegd in de i915-driver voor Lunar Lake GPU en nieuwere modellen.
    • De voortgang van de drm-driver (Direct Rendering Manager) Xe voor Intel Xe-gebaseerde GPU's, die worden gebruikt in Intel Arc grafische kaarten en geïntegreerde graphics, is voortgezet, beginnend met Tiger Lake-processoren. Initiële ondersteuning toegevoegd voor de Xe3P-architectuur, gebruikt in de Crescent Island GPU en de Nova Lake geïntegreerde graphics processorfamilie.
    • De AMDGPU-driver biedt volledige ondersteuning voor AMD grafische kaarten van de GCN 1.0 'Southern Island' en 1.1 'Sea Islands' families, waarvoor eerder de Radeon-driver werd gebruikt. De AMDGPU-driver is op gelijke voet gebracht met de Radeon-driver en is standaard geactiveerd voor de genoemde GPU's. GCN 1.x kaarten werden uitgebracht van 2012 tot 2019 en omvatten modellen zoals Radeon HD 77xx/78xx/79xx/87xx/88xx/89xx, Radeon R9 280, FirePro W4000-W9000, Radeon Sky 700/900, Radeon R9 265/270/370, Radeon R9 290/390, HD 7790/8870 en andere kaarten uit de Radeon Rx 200/Rx 300 families. Naast een gemiddelde prestatieverbetering van 24%, heeft de overstap naar AMDGPU ondersteuning voor de grafische API Vulkan 1.3 mogelijk gemaakt voor deze GPU's. Bovendien zijn analoge connectors en Video Coding Engine 1.0 aan AMDGPU toegevoegd, en de DC (Display Core) stack is standaard ingeschakeld voor GPU's op basis van de Bonaire microarchitectuur (Radeon HD 7700).
    • De Nouveau-driver ondersteunt de hardwareversneller NVJPG, die aanwezig is in de Tegra210 SoC.
    • De Panthor-driver heeft ondersteuning voor de Mali-G1 GPU toegevoegd en heeft initiële ondersteuning voor de MediaTek MT8196 chip.
    • Ondersteuning voor de geluids subsystemen van Intel Nova Lake S chips, HP laptops met HDA CS35L41, en de geluidsinterfaces CIX IPBLOQ HD en Onkyo SE-300PCIE is toegevoegd.
    • De integratie van de Nova drivercomponenten voor NVIDIA GPU's met GSP-firmware, die zijn gebruikt sinds de NVIDIA GeForce RTX 2000 serie op basis van de Turing microarchitectuur, is voortgezet. De driver is geschreven in Rust. In de nieuwe versie is er gewerkt aan RPC en is de implementatie van de GSP (GPU System Processor) coprocesloading afgerond.
    • Ondersteuning voor ARM-platforms, SoC's en apparaten is toegevoegd: Bananapi r4 pro, LinkEase EasePi R1, Qualcomm MSM8937 (Snapdragon 430), Renesas R-Car X5H, FriendlyElec NanoPi R76S, TI AM62L, Black Sesame Technologies C1200, Aspeed AST2600, Genio 1200 EVK, grinn geniosbc-510/700, Tanix TX9 Pro, Radxa Dragon Q6A, Tinker Board 3/3S, Aquila AM69, phyBOARD-Segin-i.MX91, i.MX 95 Verdin Evaluatie Kit, Toradex SMARC iMX95, VIDIA Jetson Nano 2GB, Renesas rz/g3s, Indiedroid Nova, 24 varianten van Enclustra Mercury borden.
    • Ondersteuning voor smartphones en tablets op basis van de Mediatek MT6582 SoC (Alcatel yarisxl), Nvidia Tegra124 (Xiaomi Mi Pad) en Qualcomm MSM8939 (ASUS ZenFone 2) is toegevoegd. Ondersteuning voor laptops op basis van de Qualcomm sdm850 SoC, zoals de Huawei MateBook E 2019, is ook toegevoegd.
    • Ondersteuning voor SoC's en borden gebaseerd op de RISC-V architectuur is toegevoegd: OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole.

Tegelijkertijd heeft de Latijns-Amerikaanse Vrije Software Stichting een volledig vrij kernversie 6.19 ontwikkeld — Linux-libre 6.19-gnu, ontdaan van elementen van firmware en stuurprogramma's die niet-vrije componenten of code bevatten waarvan het gebruik beperkt is door de fabrikant. In de release 6.19 is de code voor het laden van binaire firmware in de geluidsSubsystem SDCA verwijderd. De code voor het opschonen van blobs in de stuurprogramma's Intel XE, Nova-Core, Qualcomm Iris, Venus en Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 en geluidscodec TI tas2783 is bijgewerkt. De namen van blobs in dts-bestanden (devicetree) voor ARM-chips zijn opgeschoond. De opschoning van de stuurprogramma's STM C8SECTPFE DVB is stopgezet, die uit de kern is verwijderd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster