Linux kernelaren bertsioa 5.11

Bi hilabeteko garapenaren ondoren, Linus Torvaldsek Linux kernel 5.11 oharra aurkeztu zuen. Aldaketa aipagarrienen artean: Intel SGX enklabeetarako euskarria, sistema-deiak atzemateko mekanismo berri bat, bus laguntzaile birtuala, MODULE_LICENSE(rik gabe) moduluak muntatzeko debekua, sistema-deiak iragazteko modu azkarra seccomp-en, laguntzaren amaiera. ia64 arkitektura, WiMAX teknologia "eszenaratzea" adarra transferitzea, SCTP UDPn kapsulatzeko gaitasuna.

Π’ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 15480 исправлСний ΠΎΡ‚ 1991 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° β€” 72 ΠœΠ‘ (измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ 12090 Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 868025 строк ΠΊΠΎΠ΄Π°, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ 261456 строк). Около 46% всСх прСдставлСнных Π² 5.11 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ связаны с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ устройств, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 16% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ обновлСнию ΠΊΠΎΠ΄Π°, спСцифичного для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, 13% связано с сСтСвым стСком, 3% β€” с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами ΠΈ 4% c Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ подсистСмами ядра.

Berrikuntza nagusiak:

  • Disko azpisistema, I/O eta fitxategi sistemak
    • Btrfs-i muntaketa-aukera batzuk gehitu zaizkio kaltetutako fitxategi-sistema bateko datuak leheneratzeko: "rescue=ignorebadroots" muntatzeko, erro-zuhaitz batzuetan kaltetu arren (neurria, uuid, datu-aldaketa, gailua, csum, espazio librea), " rescue=ignoredatacsums” datuen egiaztapena desgaitzeko eta β€œrescue=all” aldi berean 'ignorebadroots', 'ignoredatacsums' eta 'nologreplay' moduak gaitzeko. Aurretik zaharkituta zegoen "inode_cache" muntatzeko aukera eten egin da. Kodea orri-tamaina (PAGE_SIZE) baino txikiagoak diren metadatuak eta datuak dituzten blokeentzako euskarria ezartzeko prestatu da, baita zonakako espazioa esleitzeko modurako ere. Buffer gabeko (IO zuzeneko) eskaerak iomap azpiegiturara eraman dira. Eragiketa batzuen errendimendua optimizatu da; kasu batzuetan, azelerazioa ehuneko hamarnara irits daiteke.
    • XFS-k "needsrepair" bandera inplementatzen du, eta horrek konponketa beharra adierazten du. Bandera hau ezartzen denean, fitxategi-sistema ezin da muntatu xfs_repair utilitateak bandera berrezarri arte.
    • Ext4-k akatsen konponketa eta optimizazioak bakarrik eskaintzen ditu, baita kodea garbitzea ere.
    • NFS bidez muntatutako fitxategi-sistemak berriro esportatzea onartzen da (hau da, NFS bidez muntatutako partizioa orain NFS bidez esportatu daiteke eta tarteko cache gisa erabil daiteke).
    • close_range() sistema-deiak, prozesu bati irekitako fitxategi-deskribatzaile sorta osoa aldi berean ixteko aukera ematen diona, CLOSE_RANGE_CLOEXEC aukera gehitu du deskribatzaileak itxi-on-exec moduan ixteko.
    • F2FS fitxategi-sistemak ioctl() dei berriak gehitzen ditu erabiltzaile-espazioaren kontrola ahalbidetzeko, forma konprimituan gordetzen diren fitxategiak. "compress_mode=" muntatzeko aukera gehitu da konpresio-kudeatzailea nukleoaren aldean edo erabiltzailearen espazioan kokatu behar den aukeratzeko.
    • Pribilegiorik gabeko prozesuen bidez Overlayf-ak muntatzeko gaitasuna eman du, erabiltzailearen izen-espazio bereizia erabiliz. Segurtasun-ereduaren ezarpena betetzen dela egiaztatzeko, kode-ikuskaritza osoa egin da. Overlayfs-ek fitxategi-sistemako irudien kopiak erabiliz exekutatzeko gaitasuna ere gehitzen du UUID egiaztapena aukeran desgaituz.
    • Ceph fitxategi-sistemak msgr2.1 protokoloaren euskarria gehitu du, eta horrek AES-GCM algoritmoa erabiltzeko aukera ematen du datuak enkriptatutako forman transmititzean.
    • dm-multipath moduluak PUZaren afinitatea ("IO afinitatea") kontuan hartzeko gaitasuna ezartzen du I/O eskaeren ibilbidea aukeratzerakoan.
  • Memoria eta sistema zerbitzuak
    • Sistema-deiak atzemateko mekanismo berri bat gehitu da, prctl(en) oinarrituta, sistema-dei jakin batera sartzean erabiltzaile-espaziotik salbuespenak sortzeko eta haren exekuzioa emulatzeko aukera ematen duena. Funtzionalitate hau Wine eta Proton-en beharrezkoa da Windows sistema-deiak emulatzeko, beharrezkoa da Windows APIa saihestuz sistema-deiak zuzenean egiten dituzten joko eta programekin bateragarritasuna ziurtatzeko (adibidez, baimenik gabeko erabileratik babesteko).
    • Userfaultfd() sistema-deiak, orrialdeen akatsak (esleitu gabeko memoria-orrietarako sarbidea) kudeatzeko diseinatuta, erabiltzaileen espazioan, orain nukleo mailan gertatzen den salbuespenen kudeaketa desgaitzeko gaitasuna du, zenbait ahultasun ustiatzea zailagoa izan dadin.
    • BPF azpisistemak zereginen biltegiratze lokalerako euskarria gehitu du, BPF kudeatzaile jakin bati datuak lotzea eskaintzen duena.
    • BPF programen memoria-kontsumoaren kontabilitatea guztiz birmoldatu da - cgroup kontroladore bat proposatu da memlock rlimit-en ordez BPF objektuetan memoriaren erabilera kudeatzeko.
    • BTF (BPF Type Format) mekanismoak, mota egiaztatzeko informazioa BPF pseudokodean ematen duena, nukleoko moduluetarako laguntza eskaintzen du.
    • Shutdown(), renameat2() eta unlinkat() sistema-deien laguntza gehitu da io_uring I/O interfaze asinkronoan. io_uring_enter(i) deitzean, denbora-muga bat zehazteko gaitasuna gehitu da (argumentuaren euskarria egiaztatu dezakezu denbora-muga bat zehazteko IORING_FEAT_EXT_ARG bandera erabiliz).
    • Intel Itanium prozesadoreetan erabiltzen den ia64 arkitektura umezurtz kategoriara eraman da, eta horrek esan nahi du probak amaitu direla. Hewlett Packard Enterprise-k Itanium ekipamendu berrien eskaerak jasotzeari utzi zion, eta Intelek hala egin zuen iaz.
    • Memoria kudeatzeko unitaterik (MMU) barne hartzen ez duten MicroBlaze arkitekturan oinarritutako sistemetarako laguntza eten egin da. Aspalditik ez dira horrelako sistemak eguneroko bizitzan ikusten.
    • MIPS arkitekturarako, kodea estaldura probak egiteko laguntza gehitu da gcov utilitatea erabiliz.
    • Bus laguntzaile birtualaren euskarria gehitu da, kontrolatzaile desberdinak behar dituzten funtzionalitateak konbinatzen dituzten funtzio anitzeko gailuekin konektatzeko (adibidez, Ethernet eta RDMA euskarria duten sare-txartelak). Busa gailu bati lehen mailako eta bigarren mailako kontrolatzaile bat esleitzeko erabil daiteke, MFD (Multi-Function Devices) azpisistemaren erabilera arazotsua den egoeretan.
    • RISC-V arkitekturarako, CMA (Contiguous Memory Allocator) memoria esleitzeko sistemarako euskarria gehitu da, memoria-orrialdeen mugimendu-teknikak erabiliz ondoko memoria-eremu handiak esleitzeko optimizatuta dagoena. RISC-V-rako, /dev/mem-erako sarbidea mugatzeko eta eten prozesatzeko denbora kontuan hartzeko tresnak ere ezartzen dira.
    • 32 biteko ARM sistemetarako, KASan (Kernel address sanitizer) arazketa tresnarako laguntza gehitu da, memoriarekin lan egiten denean erroreak identifikatzen laguntzen duena. 64 biteko ARMrako, KASan inplementazioa MTE etiketak (MemTag) erabiltzeko bihurtu da.
    • epoll_pwait2() sistema-deia gehitu da nanosegundoko zehaztasunarekin denbora-muga emateko (epoll_wait deiak milisegundoak manipulatzen ditu).
    • Eraikuntza-sistemak errore bat erakusten du orain karga daitezkeen kernel-moduluak eraikitzen saiatzean, zeinetan kode lizentzia definituta ez dagoen MODULE_LICENSE() makroa erabiliz. Hemendik aurrera, funtzio estatikoetarako EXPORT_SYMBOL() makroa erabiltzeak ere eraikuntza-errore bat eragingo du.
    • I/Orako erabiltzen den memoriatik GEM objektuak mapatzeko euskarria gehitu da, eta horri esker, arkitektura batzuetan framebuffer-arekin lana bizkortu da.
    • Kconfig-ek Qt4-ren laguntza kendu du (Qt5, GTK eta Ncurses-en euskarria mantentzen duen bitartean).
  • Birtualizazioa eta segurtasuna
    • seccomp() sistema-deian erantzuteko modu azkarrerako euskarria gehitu da, eta horri esker, sistema-dei jakin bat onartzen edo debekatuta dago oso azkar zehazteko prozesuari atxikitako ekintza etengabeko bit-maparen arabera, exekutatu behar ez duena. BPF kudeatzailea.
    • Nukleoaren osagai integratuak Intel SGX (Software Guard eXtensions) teknologian oinarritutako enklabeak sortzeko eta kudeatzeko, aplikazioek memoria enkriptatutako eremu isolatuetan kodea exekutatzea ahalbidetzen baitu, gainerako sistemak sarbide mugatua baitu.
    • Erabiltzaile-espaziotik MSRrako sarbidea mugatzeko ekimen baten barruan (modeloaren erregistro espezifikoa), MSR_IA32_ENERGY_PERF_BIAS erregistrora idatziz, prozesadorearen energia-eraginkortasunaren modua ("normala", "errendimendua", "aurrezpena") aldatzeko aukera ematen duena. , debekatuta dago.
    • PUZen arteko lehentasun handiko zereginen migrazioa desgaitzeko gaitasuna kernel-rt adarretik mugitu da denbora errealeko sistemetarako.
    • ARM64 sistemetarako, MTE etiketak (MemTag, Memory Tagging Extension) seinale-kudeatzailearen memoria helbideetarako erabiltzeko gaitasuna gehitu da. MTE erabiltzea gaitzen da SA_EXPOSE_TAGBITS aukera sigaction()-en zehaztuz eta erakusleen erabilera zuzena egiaztatzeko aukera ematen du dagoeneko libre dauden memoria-blokeetan sartzeak, buffer gainezkatzeak, hasieratu aurretik sarbideak eta kanpoko erabilerak eragindako ahulezien ustiapena blokeatzeko. egungo testuingurua.
    • "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING" parametroa gehitu da, dm-verity azpisistemari bigarren mailako giltza-errantzean jarritako ziurtagirien hash sinadurak egiaztatzeko aukera ematen diona. Praktikan, konfigurazioak nukleoan integratutako ziurtagiriak ez ezik, funtzionamenduan kargatutako ziurtagiriak ere egiaztatzeko aukera ematen du, eta horrek ziurtagiriak eguneratzea ahalbidetzen du nukleo osoa eguneratu gabe.
    • Erabiltzaile-modu Linux-ek esekidurarako inaktibo modurako laguntza gehitu du, eta horri esker, ingurunea izoztu eta SIGUSR1 seinalea erabili lo modutik esnatzeko.
    • Virtio-mem mekanismoak, makina birtualetan memoria bero-konektatu eta deskonektatzeko aukera ematen duena, Big Block Moderako (BBM) euskarria gehitu du, eta horrek memoria kernelaren memoriaren tamaina baino handiagoak diren blokeetan transferitzea edo hartzea ahalbidetzen du. blokea, beharrezkoa dena QEMU-n VFIO optimizatzeko.
    • CHACHA20-POLY1305 zifrarentzako euskarria gehitu da TLS nukleoaren inplementazioari.
  • Sarearen azpisistema
    • 802.1Q-rako (VLAN), konexio-hutsak kudeatzeko mekanismoa (CFM, Connectivity Fault Management) ezarri da, zubi birtualak dituzten sareetan (Virtual Bridged Networks) dauden sareetan hutsegiteak identifikatu, egiaztatu eta isolatzeko aukera ematen duena. Esate baterako, CFM erabil daiteke arazoak isolatzeko hainbat erakunde independente barne hartzen dituzten sareetan, zeinen langileek beren ekipamendurako sarbidea besterik ez duten.
    • SCTP protokolo-paketeak UDP paketeetan (RFC 6951) kapsulatzeko euskarria gehitu da, SCTP zuzenean SCTP onartzen ez duten helbide-itzultzaile zaharragoekin sareetan erabiltzeko aukera ematen duena, baita IPrako sarbide zuzena ematen ez duten sistemetan SCTP ezartzea ere. geruza.
    • WiMAX teknologiaren ezarpena eszenatokira eraman da eta etorkizunean kentzeko aurreikusita dago WiMAX behar duen erabiltzailerik ez badago. WiMAX jada ez da sare publikoetan erabiltzen, eta nukleoan WiMAX erabil daitekeen kontrolatzaile bakarra Intel 2400m kontrolatzaile zaharkitua da. WiMAX laguntza NetworkManager sare konfiguratzailean eten zen 2015ean. Gaur egun, WiMax ia erabat ordezkatzen dute LTE, HSPA+ eta Wi-Fi 802.11n bezalako teknologiek.
    • Sarrerako TCP trafikoa zerocopy moduan prozesatzeko errendimendua optimizatzeko lana egin da, hau da. Buffer berrietara kopiatu gabe. Tamaina ertaineko trafikorako, hamarnaka edo ehunka kilobyte datu hartzen dituena, zerocopy erabiltzea recvmsg()-ren ordez eraginkorragoa da. Esaterako, inplementatutako aldaketek 32 KB-ko mezuekin RPC estiloko trafikoa prozesatzeko eraginkortasuna %60-70ean handitzea ahalbidetu zuten zerocopy erabiltzean.
    • Ioctl() dei berriak gehitu dira sare-zubiak sortzeko, PPP esteka anitzak barne hartzen dituztenak. Proposatutako gaitasunari esker, fotogramak kanal batetik bestera mugi daitezke, adibidez PPPoE batetik PPPoL2TP saio batera.
    • MPTCP (MultiPath TCP) muinean integratzea, TCP protokoloaren luzapena, TCP konexio baten funtzionamendua antolatzeko, paketeak aldi berean bidaltzeko hainbat ibilbidetan zehar IP helbide ezberdinekin lotutako sare-interfaze ezberdinen bidez. Argitalpen berriak ADD_ADDR aukerarako laguntza eskaintzen du lehendik dagoen MPTCP konexio batean fluxu berriak gehitzean konektatu daitezkeen IP helbideak iragartzeko.
    • Konexioaren galdeketaren aurrekontua gainditzen denean ekintzak konfiguratzeko aukera gehitu da (lanpetuta bozketa). Aurreko SO_BUSY_POLL moduak aurrekontua agortzen zenean softirq-era aldatzea esan nahi zuen. Bozketa erabiltzen jarraitu behar duten aplikazioetarako, SO_PREFER_BUSY_POLL aukera berri bat proposatzen da.
    • IPv6-k SRv6 End.DT4 eta End.DT6 moduetarako laguntza ezartzen du, erabiltzaile anitzeko IPv4 L3 VPNak eta VRF (bideratze eta birbidaltze birtuala) gailuak sortzeko erabiltzen dena.
    • Netfilter-ek multzo-adierazpenen ezarpena bateratu zuen, eta horri esker, multzo-zerrenden elementu bakoitzerako hainbat adierazpen zehaztea posible zen.
    • APIak gehitu dira 802.11 haririk gabeko pilara SAR potentzia-mugak konfiguratzeko, baita AE PWE eta HE MCS parametroak ere. Intel iwlwifi kontrolatzaileak 6GHz (Ultra High Band) gamarako laguntza gehitu du. Qualcomm Ath11k kontrolatzaileak FILS (Fast Initial Link Setup, IEEE 802.11ai gisa estandarizatua) teknologiarako laguntza gehitu du, sarbide-puntu batetik bestera migratzean ibiltaritza-atzerapenak kentzeko aukera ematen duena.
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Amdgpu kontrolatzaileak AMD "Green Sardine" APU (Ryzen 5000) eta "Dimgrey Cavefish" GPU (Navi 2) laguntza eskaintzen du, baita Zen 2 core eta RDNA 2 GPU (Navi 2) AMD Van Gogh APUrako hasierako laguntza ere. Renoir APU identifikatzaile berrientzako laguntza gehitu da (Zen 2 CPU eta Vega GPUn oinarrituta).
    • Intel bideo-txartelen i915 kontrolatzaileak IS (Integer Scaling) teknologia onartzen du, eskala handitzeko iragazki bat ezarrita, aldameneko pixelen egoera kontuan hartuta (hurbilen-hurbilen interpolazioa) falta diren pixelen kolorea zehazteko. Intel DG1 txartel diskretuen laguntza zabaldu da. "Big Joiner" teknologiarako euskarria ezarri da, Ice Lake / Gen11 txipetatik egon dena eta transkodetzaile bat erabiltzeko aukera ematen du bi korronte prozesatzeko, adibidez, DisplayPort baten bidez 8K pantaila batera ateratzeko. Bideo memoriako bi bufferren artean modu asinkronoan aldatzeko modu bat gehitu da (iraulketa asinkronikoa).
    • Nouveau kontrolatzaileak Ampere mikroarkitekturan oinarritutako NVIDIA GPUentzako hasierako laguntza gehitu du (GA100, GeForce RTX 30xx), orain arte bideo moduak kontrolatzeko tresnetara mugatuta.
    • LCD paneletan erabiltzen den 3WIRE protokoloaren euskarria gehitu da. Novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 eta ABT Y030XX067A 3.0 paneletarako euskarria gehitu da. Bereizita, OnePlus 6 eta 6T telefonoen panelaren euskarria nabarmendu dezakegu, gailuetan aldatu gabeko nukleo baten karga antolatzea ahalbidetu zuena.
    • Intel-en lehen USB4 ostalari kontroladore diskretuaren laguntza gehitu da, Maple Ridge.
    • Allwinner H6 I2S, Analog Devices ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI eta XCVR, Realtek RT715 eta Qualcomm SM8250 audio-kodeketarako laguntza gehitu da.
    • ARM plaka, gailu eta plataformetarako euskarria gehitu da: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Infinity2M, 730 NPl, Marvel, 382 Marvel Marvell Prestera 98DX3236-n oinarritutako Mikrotik, Nuvoton NPCM750 BMC, Kontron i.MX8M Mini, Espressobin Ultra, "Trogdor" Chromebook, Kobol Helios64, Engicam PX30.Core duten zerbitzariak.
    • NVIDIA Tegra 3-n oinarritutako Ouya joko-kontsolarentzako euskarria integratua.

Aldi berean, Latin American Free Software Foundation-ek guztiz doako 5.11 nukleoaren bertsio bat sortu zuen - Linux-libre 5.11-gnu, askeak ez diren osagaiak edo kode atalak dituzten firmware eta kontrolatzaileen elementuak garbitu zituena, zeinaren esparrua mugatua baita. fabrikatzaileak. Bertsio berriak qat_4xxx (kripto), lt9611uxcm (dsi/hdmi zubia), ccs/smia++ (sentsorea), ath11k_pci, nxp audio transzeiver eta mhi pci kontroladorearen kontrolatzaileak garbitzen ditu. Amdgpu, btqca, btrtl, btusb, i915 csr kontrolatzaile eta azpisistemetan blob garbiketa-kode eguneratua. Blob berriak desgaitu dira m3 rproc, idt82p33 ptp clock eta qualcomm arm64-n.

Iturria: opennet.ru

Gehitu iruzkin berria