Po dveh mesecih razvoja je Linus Torvalds predstavil različico jedra Linux 5.18. Med najbolj opaznimi spremembami so: obsežno čiščenje zastarele funkcionalnosti, razglasitev datotečnega sistema Reiserfs za zastarelega, uvedba dogodkov za sledenje uporabniškim procesom, dodana podpora mehanizmu blokiranja izkoriščanj Intel IBT, vključen način zaznavanja prelivanja pomnilnika pri uporabi funkcije memcpy(), dodan mehanizem sledenja klicem funkcij fprobe, povečana zmogljivost načrtovalnika nalog na CPU AMD Zen, vključena sta gonilnik za upravljanje funkcionalnosti CPU Intel (SDS) in integriran del popravkov za restrukturiranje glavičnih datotek, odobren je bil standard C11.
V novo različico je bilo vključeno 16206 popravkov od 2127 razvijalcev (v prejšnji izdaji je bilo 14203 popravkov od 1995 razvijalcev), velikost popravka pa je 108 MB (spremembe so zadele 14235 datotek, dodanih je bilo 1340982 vrstic kode, odstranjeno 593836 vrstic). Približno 44 % vseh predstavljenih sprememb v 5.18 se nanaša na gonilnike naprav, približno 16 % sprememb se nanaša na posodobitev kode, specifične za strojne arhitekture, 11 % se nanaša na omrežne sklade, 3 % na datotečne sisteme in 3 % na notranje podsisteme jedra.
Glavne novosti v jedru 5.18:
- Дисковая подсистема, ввод/вывод и файловые системы
- V datotečnem sistemu Btrfs je dodana podpora za prenos stisnjenih podatkov pri izvajanju operacij send in receive. Prej je ob uporabi send/receive pošiljna stran razpakirala podatke, shranjene v stisnjeni obliki, prejemna stran pa jih je znova stisnila pred zapisovanjem. V jedru 5.18 imajo aplikacije v uporabniškem prostoru, ki uporabljajo klice send/receive, možnost prenosa stisnjenih podatkov brez ponovno pakiranja. Funkcionalnost je bila dana zahvaljujoč novim ioctl-operacijam BTRFS_IOC_ENCODED_READ in BTRFS_IOC_ENCODED_WRITE, ki omogočata neposredno branje in zapisovanje informacij v ekstente.
Poleg tega je bila v Btrfs povečana zmogljivost fsync. Dodana je bila možnost deduplikacije in izvajanja reflink (kloniranje metapodatkov datoteke z ustvarjanjem povezave do že obstoječih podatkov brez dejanskega kopiranja) za celotno shrambo, ne da bi bili omejeni na točke montaže.
- V načinu neposrednega vnosa/izvoda (Direct I/O) je omogočen dostop do šifriranih datotek pri uporabi v fscrypt in-line šifriranja, kjer kriptografske operacije opravi krmilnik naprave in ne jedro. Pri običajnem šifriranju s pomočjo jedra dostop do šifriranih datotek z Direct I/O ostaja onemogočen, saj se datoteke obravnavajo mimo mehanizma predpomnjenja v jedru.
- Na NFS strežniku je privzeto vklopljena podpora za protokol NFSv3, ki zdaj ne zahteva ločenega vklopa in je na voljo pri splošnem vklopu NFS. NFSv3 se obravnava kot osnovna in vedno podprta različica NFS, medtem ko bi podpora za NFSv2 lahko v prihodnosti prenehala. Učinkovitost branja vsebine imenikov je bistveno izboljšana.
- Datotečni sistem ReiserFS je bil razvrščen med zastarele in pričakuje se njegovo izbrisanje leta 2025. Razvrstitev ReiserFS med zastarele bo zmanjšala delovne obremenitve pri vzdrževanju skupnih sprememb za datotečne sisteme, povezanih s podporo za nov API za montažo, iomap in foliante.
- Za FS F2FS je bila реализована možnost mapiranja identifikatorjev uporabnikov montiranih datotečnih sistemov, kar se uporablja za ujemanje datotek določenega uporabnika na montirani tuji particiji z drugim uporabnikom v trenutnem sistemu.
- Koda za štetje statistike v obdelovalnikih Device-mapper je bila predelana, kar je omogočilo znatno povečanje natančnosti obračuna v teh obdelovalnikih, kot je dm-crypt.
- Za naprave NVMe je bila реализirana podpora za 64-bitne kontrolne vsote za preverjanje celovitosti.
- Za datotečni sistem exfat je bila predlagana nova možnost montaže 'keep_last_dots', ki preprečuje brisanje pik v končnem delu imena datoteke (v operacijskem sistemu Windows se pike na koncu imena privzeto izbrišejo).
- V EXT4 je izboljšana zmogljivost načina fast_commit in povečana razširljivost. Možnost montaže 'mb_optimize_scan', ki omogoča povečanje zmogljivosti v pogojih velike fragmentacije FS, je prilagojena za delo z datotekami z ekstenti.
- Podpora pisnih tokov (write stream) v podsklopu, ki omogoča delovanje blokovnih naprav, je bila ukinjena. Ta možnost je bila predlagana za SSD, vendar ni našla širše uporabe in v praksi ni naprave s to funkcijo, zato je malo verjetno, da se bo ta trend nadaljeval v prihodnosti.
- V datotečnem sistemu Btrfs je dodana podpora za prenos stisnjenih podatkov pri izvajanju operacij send in receive. Prej je ob uporabi send/receive pošiljna stran razpakirala podatke, shranjene v stisnjeni obliki, prejemna stran pa jih je znova stisnila pred zapisovanjem. V jedru 5.18 imajo aplikacije v uporabniškem prostoru, ki uporabljajo klice send/receive, možnost prenosa stisnjenih podatkov brez ponovno pakiranja. Funkcionalnost je bila dana zahvaljujoč novim ioctl-operacijam BTRFS_IOC_ENCODED_READ in BTRFS_IOC_ENCODED_WRITE, ki omogočata neposredno branje in zapisovanje informacij v ekstente.
- Pomnilnik in sistemske storitve
- Začela se je integracija sklopa popravkov, ki znatno skrajša čas ponovne gradnje jedra z reorganizacijo hierarhije glavnih datotek in zmanjšanjem števila medsebojnih odvisnosti. V jedru 5.18 so vključeni popravki, ki optimizirajo strukturo glavnih datotek načrtovalnika nalog (kernel/sched). V primerjavi s prejšnjo različico se je poraba procesorskega časa pri gradnji kode kernel/sched zmanjšala za 61%, dejanski čas pa se je zmanjšal za 3.9% (s 2.95 na 2.84 sekunde).
- V kodi jedra je dovoljena uporaba standarda C11, objavljenega leta 2011. Prej dodajana koda v jedro je morala ustrezati specifikaciji ANSI C (C89), ki je bila oblikovana že leta 1989. V gradbenih skriptih jedra 5.18 je bila možnost '--std=gnu89' zamenjana s '--std=gnu11 -Wno-shift-negative-value'. Razmišljali so o uvedbi standarda C17, vendar bi v tem primeru morali povečati minimalno podprto različico GCC, medtem ko uvedba podpore za C11 ustreza trenutnim zahtevam glede verzije GCC (5.1).
- Povečana je bila uspešnost načrtovanja nalog na procesorjih AMD z mikroarhitekturo Zen, kjer za vsak nod lokalnih pomnilniških kanalov zagotavlja več zadnjih nivojev predpomnilnika (LLC, Last Level Cache). V novi različici je bila odpravljena neravnovesja LLC med nodi NUMA, kar je pri nekaterih vrstah obremenitev povzročilo znatno povečanje uspešnosti.
- Razširjeni so bili pripomočki za sledenje aplikacijam v uporabniškem prostoru. V novi različici jedra je bila dodana možnost ustvarjanja dogodkov sledenja (User events) s strani uporabniških procesov in zapisovanja podatkov v predpomnilnik sledenja, ki jih je mogoče pregledati preko tipičnih orodij za sledenje jedra, kot sta ftrace in perf. Dogodki sledenja iz uporabniškega prostora so ločeni od dogodkov sledenja jedra. Stanje dogodkov je mogoče pregledati preko datoteke /sys/kernel/debug/tracing/user_events_status, registracija dogodka in zapis podatkov pa preko datoteke /sys/kernel/debug/tracing/user_events_data.
- Dodana je funkcija za praćenje (probe) poziva funkcija — fprobe. API fprobe je zasnovan na ftrace-u, ali je ograničen samo na mogućnost dodele callback handler-a tačkama ulaska i izlaska funkcije. Za razliku od kprobes i kretprobes, novi mehanizam omogućava korišćenje jednog handler-a istovremeno za više funkcija.
- Prekinuta je podrška za stare ARM procesore (ARMv4 i ARMv5) koji nisu opremljeni jedinicom za upravljanje memorijom (MMU). Podržani su ARMv7-M sistemi bez MMU.
- Prekinuta je podrška za RISC-ličnu arhitekturu NDS32, koja se koristila u procesorima kompanije Andes Technologies. Kod je uklonjen zbog nedostatka podrške i neinteresovanja za podršku NDS32 u glavnom Linux jezgru (preostali korisnici koriste specijalizovane verzije jezgra od proizvođača opreme).
- Podrazumevano je onemogućena izrada jezgra sa podrškom za format izvođenja a.out za arhitekture alpha i m68k, u kojima se ovaj format i dalje koristi. Verovatno će podrška zastarelog formata a.out uskoro biti potpuno uklonjena iz jezgra. Planovi o uklanjanju formata a.out se raspravljaju od 2019. godine.
- Za PA-RISC arhitekturu implementirana je minimalna podrška za mehanizam vDSO (virtual dynamic shared objects), koji pruža ograničen skup sistemskih poziva dostupnih u korisničkom prostoru bez prebacivanja konteksta. Podrška vDSO omogućila je realizaciju mogućnosti pokretanja sa neizvršivim stekom.
- Dodana je podrška za mehanizam Intel HFI (Hardware Feedback Interface), koji omogućava hardveru da šalje jezgru informacije o trenutnom učinku i energetskoj efikasnosti svakog CPU-a.
- Dodan je drajver za mehanizam Intel SDSi (Software-Defined Silicon), koji omogućava upravljanje aktivacijom dodatnih mogućnosti u procesoru (na primer, specijalizovane instrukcije i dodatna keš memorija). Ideja je da se čipovi sa blokiranim proširenim funkcijama mogu isporučivati po nižoj ceni, a zatim dodatne mogućnosti mogu "kupiti" i aktivirati bez hardverske zamene čipa.
- Dodana je gonilnik amd_hsmp za podporo vmesnika AMD HSMP (Host System Management Port), ki omogoča dostop do funkcij upravljanja procesorja preko niza posebnih registrov, ki so se pojavili v strežniških procesorjih AMD EPYC, ki so se začeli s generacijo Fam19h. Na primer, preko HSMP lahko pridobite podatke o porabi energije in temperaturi, nastaviti omejitve na frekvencah, aktivirati različne načine povečanja zmogljivosti ter upravljati parametre delovanja pomnilnika.
- V vmesniku asinhronega vnosa/izvlečenja io_uring je bila implementirana možnost IORING_SETUP_SUBMIT_ALL za registracijo v oblaku krožnega pomnilnika niza datotečnih descriptorjev, pa tudi operacija IORING_OP_MSG_RING, ki omogoča pošiljanje signala iz enega krožnega pomnilnika v drugega krožni pomnilnik.
- V mehanizmu DAMOS (Data Access Monitoring-based Operation Schemes), ki omogoča sproščanje pomnilnika glede na pogostost dostopa do pomnilnika, so bile razširjene možnosti za nadzor nad operacijami s pomnilnikom iz prostora uporabnika.
- Integrirana je tretja serija popravkov z implementacijo koncepta foliantov pomnilnika (page folios), ki spominjajo na združene strani pomnilnika (compound pages), vendar se razlikujejo po izboljšani semantiki in bolj jasni organizaciji delovanja. Uporaba foliantov omogoča pospešitev upravljanja pomnilnika v nekaterih podsystemih jedra. V predlaganih popravkih je bil izveden prenos na foliante notranjih funkcij upravljanja pomnilnika, vključno z različicami funkcije get_user_pages(). Omogočena je podpora za ustvarjanje velikih foliantov v kodi vnaprejšnjega branja podatkov.
- V sistemu za sestavljanje se je pojavila podpora za okoljske spremenljivke USERCFLAGS in USERLDFLAGS, s katerima lahko prenesete dodatne zastavice prevajalniku in povezovalniku.
- V podsystemu eBPF v mehanizmu BTF (BPF Type Format), ki zagotavlja informacije za preverjanje tipov v psevdokodu BPF, je bila implementirana možnost dodajanja anotacij k spremenljivkam, ki se sklicujejo na področja pomnilnika v uporabniškem prostoru. Anotacije pomagajo sistemu za verifikacijo BPF-kode pri bolj kakovostnem prepoznavanju in preverjanju dostopov do pomnilnika.
- Predlagan je nov obdelovalnik za dodeljevanje pomnilnika za shranjevanje naloženih BPF-programov, ki omogoča bolj učinkovito rabo pomnilnika v situacijah nalaganja velikega števila BPF-programov.
- V sistemski poziv madvise(), ki ponuja sredstva za optimizacijo upravljanja s pomnilnikom procesa, je dodana zastavica MADV_DONTNEED_LOCKED, ki dopolnjuje že obstoječo zastavico MADV_DONTNEED, preko katere lahko jedro vnaprej obvesti o pripravljenem sproščanju bloka pomnilnika, tj. o tem, da ta blok ni več potreben in ga lahko jedro ponovno uporabi. V nasprotju z MADV_DONTNEED je uporaba zastavice MADV_DONTNEED_LOCKED dovoljena za stalno dodeljene strani pomnilnika, ki se ob klicu madvise izključijo brez spremembe svojega statusa dodelitve in se v primeru poznejšega dostopa do bloka in generiranja "page fault" vrnejo z ohranjanjem vezave. Dodatno je bila dodana sprememba, ki omogoča uporabo zastavice MADV_DONTNEED z večjimi stranmi pomnilnika v HugeTLB.
- Virtualizacija in varnost
- Za arhitekturo x86 je bila dodana podpora mehanizmu zaščite toka izvajanja ukazov Intel IBT (Indirect Branch Tracking), ki preprečuje uporabo tehnik izdelave izkoriščanj z uporabo metod programiranja, usmerjenega na vračanje (ROP, Return-Oriented Programming), pri katerih se izkoriščanje oblikuje v obliki verige klicev že obstoječih delov strojnih ukazov v pomnilniku, ki se končajo z ukazom za vračanje nadzora (ponavadi gre za konce funkcij). Bistvo uresničenega načina zaščite je v blokiranju posrednih prehodov v telo funkcije z dodajanjem posebne instrukcije ENDBR na začetku funkcije ter dovoljenjem izvajanja preko posrednega prehoda samo v primeru prehoda na to instrukcijo (posredni klic preko JMP in CALL mora vedno zadeti instrukcijo ENDBR, ki je nameščena na samem začetku funkcije).
- Vključena je strožja kontrola meja pomnilnika v funkcijah memcpy(), memmove() in memset(), ki se izvaja v fazi prevajanja ob vklopu načina CONFIG_FORTIFY_SOURCE. Dodana sprememba se nanaša na preverjanje prehoda meja elementov struktur, katerih velikost je znana. Opaža se, da bi uresničena možnost omogočila blokiranje vseh povezanih prelivanj pomnilnika v jedru, ki so bila identificirana vsaj v zadnjih treh letih.
- Dodana je drugačija verzija koda ažurirane implementacije generatora pseudooličnih brojeva RDRAND, koja je odgovorna za rad uređaja /dev/random i /dev/urandom. Nova implementacija se ističe usklađivanjem rada /dev/random i /dev/urandom, dodavanjem zaštite od pojave duplikata u toku nasumičnih brojeva pri pokretanju. virtualnih naprav i prelaskom na korišćenje hash funkcije BLAKE2s umesto SHA1 za operacije mešanja entropije. Ova izmena je omogućila poboljšanje sigurnosti generatora pseudooličnih brojeva, uklanjanjem problematičnog algoritma SHA1 i isključivanjem prepisivanja vektora inicijalizacije RNG. Budući da algoritam BLAKE2s premašuje SHA1 po performansama, njegovo korišćenje je takođe pozitivno uticalo na performanse.
- Za ARM64 arhitekturu dodata je podrška za novi algoritam autentifikacije pokazivača — „QARMA3“, koji je brži od algoritma QARMA uz zadržavanje odgovarajućeg nivoa zaštite. Tehnologija omogućava korišćenje specijalizovanih ARM64 instrukcija za verifikaciju adresa povratka pomoću digitalnih potpisa, koji se čuvaju u neiskorišćenim gornjim bitovima samog pokazivača.
- Za ARM64 arhitekturu implementirana je podrška za izgradnju uz uključivanje u GCC 12 režima zaštite od prepisivanja adrese povratka iz funkcije u slučaju prelivanja bafera na steku. Suština zaštite je u čuvanju adrese povratka nakon prenosa kontrole na funkciju u posebnom „senka“ steku i vađenju te adrese pre izlaska iz funkcije.
- Dodato je novo skladište ključeva (keyring) — „machine“, koje sadrži ključeve vlasnika sistema (MOK, Machine Owner Keys), podržane u shim bootloaderu. Ovi ključevi mogu se koristiti za potpisivanje digitalnim potpisom komponenti jezgra, učitanih nakon inicijalnog pokretanja (na primer, modula jezgra).
- Uklonjena je podrška za asimetrične privatne ključeve za TPM, koji su predloženi u zastarjeloj verziji TPM, imaju poznate bezbednosne probleme i nisu se širili u praksi.
- Dodata je zaštita podataka tipa size_t od celobrojnih previranja. U kodu su korišćeni handleri size_mul(), size_add() i size_sub(), koji omogućavaju sigurno izvršavanje množenja, sabiranja i oduzimanja veličina tipa size_t.
- Pri sestavljanju jedra so vključene zastavice „-Warray-bounds“ in „-Wzero-length-bounds“, ki izpišejo opozorila, ko indeks preseže meje tabele ali ko se uporabljajo tabele ničelne dolžine.
- V napravo virtio-crypto je dodana podpora za šifriranje z uporabo algoritma RSA.
- Mrežna podsistem
- V izvedbo mrežnih mostov je dodana podpora za način zaklepanja priključkov (locked mode), pri katerem uporabnik lahko pošilja promet prek priključka samo z dovoljenim MAC-naslovom. Dodana je tudi možnost za uporabo več struktur za oceno stanja protokola STP (Spanning Tree Protocol). Prej je bila za VLAN mogoča le direktna vezava na STP (1:1), pri čemer je vsak VLAN upravljal neodvisno. V novi različici je dodan parameter mst_enable, ki, ko je vključen, kontrolira stanje VLAN-ov prek modula MST (Multiple Spanning Trees), in vezava VLAN-ov lahko ustreza modelu M:N.
- Nadaljujemo z integracijo sredstev za sledenje vzrokom zavrnitve paketov (kodi reason) v omrežno skladbo. Koda vzroka se posreduje med sproščanjem pomnilnika, povezanega s paketom, in omogoča upoštevati takšne situacije, kot so zavrnitev paketa zaradi napak pri izpolnjevanju polj v glavi, zaznavanje ponarejanja s filtrirnim rp_filter, napačna kontrolna vsota, pomanjkanje pomnilnika, aktivacija pravil IPSec XFRM, napačna številka zaporedja TCP itd.
- Omogočena je predaja omrežnih paketov iz programov BPF, ki se izvajajo iz uporabniškega prostora v načinu BPF_PROG_RUN, pri katerem se programi BPF izvajajo v jedru, vendar vračajo rezultate v uporabniški prostor. Paketi se predajo z uporabo podskladbe XDP (eXpress Data Path). Podprt je live-režim obdelave paketov, pri katerem lahko XDP-obdelovalnik sproti preusmeri omrežne pakete v omrežno skladbo ali na druga naprave. Mogoča je tudi izdelava programski generatorjev zunanjega prometa ali vstavljanje omrežnih okvirjev v omrežno skladbo.
- Za programe BPF, ki so pritrjeni na mrežne cgroups, so predlagane pomožne funkcije za eksplicitno določanje vrednosti, ki jih vračajo sistemski klici, kar omogoča prenos bolj celovitih informacij o razlogih za blokado sistemskega klica.
- V podsistemu XDP (eXpress Data Path) je bila dodana podpora za fragmentirane pakete, ki so shranjeni v več predpomnilnikih, kar omogoča obdelavo Jumbo-okana in uporabo TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) za XDP_REDIRECT.
- Postopek odstranjevanja omrežnih prostorov imen je bil znatno pospešen, kar je bilo zahtevano na nekaterih večjih sistemih z velikim prometom.
- Oprema
- V gonilniku amdgpu je privzeto vključena tehnologija prilagodljive sinhronizacije FreeSync, ki omogoča prilagajanje frekvenc osveževanja na zaslonu ter zagotavlja gladkost in odsotnost prekinitev slike med igrami in ogledom videa. Stabilna podpora za GPU Aldebaran je bila razglašena.
- V gonilniku i915 je dodana podpora za čipe Intel Alderlake N in diskretne grafične kartice Intel DG2-G12 (Arc Alchemist).
- V gonilniku nouveau je zagotovljena podpora za višje bitne hitrosti za vmesnike DP/eDP in podpora za podaljške kablov lttprs (Link-Training Tunable PHY Repeaters).
- V podsistemu drm (Direct Rendering Manager) v gonilnikih armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen in vc4 je dodana podpora za parameter nomodeset, ki omogoča onemogočanje preklapljanja video načinov na ravni jedra in uporabo sredstev za strojno pospeševanje upodabljanja, pri čemer ostane le funkcionalnost, povezana s sistemskim okvirnim pomnilnikom.
- Dodana podpora za ARM SoC Qualcomm Snapdragon 625/632 (uporablja se v pametnih telefonih LG Nexus 5X in Fairphone FP3), Samsung Exynos 850, Samsung Exynos 7885 (uporablja se v Samsung Galaxy A8), Airoha (Mediatek/EcoNet) EN7523, Mediatek mt6582 (tablični računalnik Prestigio PMT5008 3G), Microchip Lan966, Renesas RZ/G2LC, RZ/V2L, Tesla FSD, TI K3/AM62 in i.MXRTxxxx.
- Dodana podpora za ARM naprave in plošče Broadcom (Raspberry Pi Zero 2 W), Qualcomm (Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip (Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emSBS, Samsung Galaxy Tab S, tablični računalnik Prestigio PMT5008 3G), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 in OSMC Vero 4K+), Aspeed (Quanta S6Q, ASRock ROMED8HM3), Marvell MVEBU/Armada (Ctera C200 V1 in V2 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT8MM, emCON-MX8M Mini, Toradex Verdin, Gateworks GW7903).
- Dodana je podpora za avdio sisteme in kodeke AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280, Renesas RZ/V2L, Texas Instruments TAS585M. Dodana je začetna izvedba avdijskega gonilnika za DSP čip Intel AVS. Posodobljena je podpora gonilnikov za Intel ADL in Tegra234, prav tako so bili izvedeni popravki za izboljšanje avdio podpore na napravah Dell, HP, Lenovo, ASUS, Samsung in Clevo.
Hkrati je Latinskoameriški sklad proste programske opreme oblikoval različico popolnoma prostega jedra 5.18 — Linux-libre 5.18-gnu, očiščeno elementov vdelane programske opreme in drajverjev, ki vsebujejo nelicencirane komponente ali odseke kode, katerih uporaba je omejena s strani proizvajalca. V novi različici je bila izvedena čiščenje drajverjev za zaslone MIPI DBI, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) in Realtek 8852a/8852c, zvočnih čipov Intel AVS in Texas Instruments TAS5805M. Očiščeni so tudi DTS-datoteke za različne SoC Qualcomm s procesorji, temelječimi na arhitekturi AArch64. Koda za čiščenje blobov v drajverjih in podsklopih AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP in MediaTek HCI UART je bila posodobljena.
Izvor: opennet.ru
