Jedro 5.19 prihaja z izboljšavami v procesih, strojni podpori, varnosti in več

Izšla je nova različica jedra 5.19 , med najpomembnejšimi spremembami v tej novi različici pa so podpora za arhitekturo procesorja LoongArch , integracija popravkov »BIG TCP«, način »na zahtevo« v fscache, odstranitev kode za podporo formatu a.out, možnost uporabe ZSTD za stiskanje vdelane programske opreme, vmesnik za upravljanje premestitve pomnilnika iz uporabniškega prostora, izboljšana zanesljivost in zmogljivost generatorja psevdonaključnih števil, podpora za razširitve Intel IFS (In-Field Scan), AMD SEV-SNP (Secure Nested Paging), Intel TDX (Trusted Domain Extensions) in ARM SME (Scalable Matrix Extension).

Nova različica je sprejela 16401 popravkov od 2190 razvijalcev (zadnja različica je imela 16206 popravkov od 2127 razvijalcev), velikost popravka: 90 MB (spremembe so vplivale na 13847 datotek, dodanih je bilo 1149456 vrstic kode, odstranjenih pa je bilo 349177 vrstic).

Glavne novice jedra 5.19

Med najpomembnejšimi spremembami v tej novi različici lahko omenimo, da je pri prevajanju s Clang 15 podprt mehanizem naključnega določanja strukture jedra .

Mehanizem Landlock , ki omogoča omejevanje interakcije skupine procesov z zunanjim okoljem, je dobil podporo za pravila , ki omogočajo nadzor nad izvajanjem operacij preimenovanja datotek.

Podsistem IMA (Integrity Measurement Architecture), zasnovan za preverjanje integritete komponent operacijskega sistema z uporabo digitalnih podpisov in zgoščevalnih vrednosti, je bil spremenjen tako, da za preverjanje datotek uporablja modul fs-verity.

Logika dejanj je bila spremenjena z onemogočanjem neprivilegiranega dostopa do podsistema eBPF . Prej so bili vsi ukazi, povezani s sistemskim klicem bpf(), onemogočeni, od različice 5.19 pa je bil dostop ohranjen le za ukaze, ki niso vodili do ustvarjanja objektov. Pri takšnem vedenju je za nalaganje programa BPF potreben privilegiran proces, vendar lahko neprivilegirani procesi z njim komunicirajo.

Dodana je bila podpora za varnostno kopiranje povezav MPTCP (MultiPath TCP) v navaden TCP v primerih, ko določenih funkcij MPTCP ni mogoče uporabiti. MPTCP je razširitev protokola TCP, ki organizira delovanje povezave TCP tako, da hkrati dostavlja pakete po več poteh prek različnih omrežnih vmesnikov, povezanih z različnimi naslovi IP. Dodan je bil API za upravljanje prenosov MPTCP iz uporabniškega prostora.

Omeniti velja tudi, da je bilo dodanih več kot 420.000 vrstic kode, povezane z gonilnikom amdgpu , od tega približno 400.000 vrstic predstavlja samodejno ustvarjene datoteke glave, ki vsebujejo podatke za registre ASIC v gonilniku AMD GPU, nadaljnjih 22.500 vrstic pa zagotavlja začetno implementacijo podpore za AMD SoC21. Skupna velikost gonilnika za AMD GPU je presegla 4 milijone vrstic kode. Poleg SoC21 gonilnik AMD vključuje podporo za SMU 13.x (System Management Unit), posodobljeno podporo za USB-C in GPUVM ter je pripravljen za podporo platform RDNA3 (RX 7000) in CDNA (AMD Instinct) naslednje generacije.

Krmilnik i915 (Intel) ima izboljšane zmogljivosti upravljanja porabe energije, poleg tega pa dodaja ID-je za grafične procesorje Intel DG2 (Arc Alchemist), ki se uporabljajo v prenosnikih, zagotavlja začetno podporo za platformo Intel Raptor Lake-P (RPL-P), dodaja informacije o grafičnih karticah Arctic Sound-M, implementira ABI za računalniške motorje, dodaja podporo za kartice formata Tile4 za kartice DG2 in podporo za DisplayPort HDR za sisteme, ki temeljijo na mikroarhitekturi Haswell.

Gonilnik Nouveau je prešel na uporabo gonilnika drm_gem_plane_helper_prepare_fb , nekatere strukture in spremenljivke pa so bile statično dodeljene. Glede uporabe izvorne kode modulov jedra v Nouveauju, ki jo je NVIDIA naredila odprtokodno, se je delo doslej osredotočilo na prepoznavanje in odpravljanje napak. Prihodnji načrti vključujejo uporabo objavljene vdelane programske opreme za izboljšanje delovanja gonilnika.

Razvite so bile zmogljivosti za obravnavo zaznavanja deljenih zaklepov , ki se pojavijo pri dostopu do napačno poravnanih podatkov v pomnilniku. To se zgodi, ker med izvajanjem atomskega ukaza podatki prečkajo dve vrstici razširjenega predpomnilnika CPU-ja. Takšni zaklepi vodijo do znatnega padca zmogljivosti. Prej je jedro privzeto izdalo opozorilo z informacijami o procesu, ki je povzročil zaklep; zdaj bo problematični proces še upočasnjen, da se ohrani zmogljivost preostalega sistema.

Dodana je bila podpora za mehanizem IFS (In-Field Scan), ki je implementiran v Intelovih procesorjih in omogoča izvajanje nizkonivojskih diagnostičnih testov CPU-ja , ki lahko zaznajo težave, ki jih ni mogoče zaznati z običajnimi sredstvi na podlagi kod za popravljanje napak (ECC) ali paritetnih bitov.

Druge pomembne spremembe v tej novi različici vključujejo:

  • Dodan gonilnik za krmilnik NVMe, ki se uporablja v računalnikih Apple na osnovi čipa M1.
  • dodana začetna podpora za arhitekturo nabora navodil LoongArch, ki se uporablja v procesorjih Loongson 3 5000, ki implementira nov RISC ISA, podoben MIPS in RISC-V.
  • Arhitektura LoongArch je na voljo v treh različicah: 32-bitna poenostavljena (LA32R), 32-bitna običajna (LA32S) in 64-bitna (LA64).
  • Dodana možnost vdelave datoteke bootconfig v jedro.
  • 'CONFIG_BOOT_CONFIG_EMBED_FILE=”/PATH/TO/BOOTCONFIG/FILE”'.
  • Odstranjena podpora za zagonske možnosti, specifične za x86: nosp, nosmap, nosmep, noexec in noclflush).
  • Ukinjena je podpora za zastarelo CPU arhitekturo h8300 (Renesas H8/300), ki se dolgo časa ni vzdrževala.

Če vas zanima več o tej novi različici, lahko podrobnosti najdete na naslednji povezavi.


Dodaj kot prednostni vir v Googlu