Linux kernelaren bertsioa 5.2

Bi hilabeteko garapenaren ondoren, Linus Torvalds aurkeztu nukleoa askatzea Linux 5.2. Aldaketa nabarmenenen artean: Ext4 funtzionamendu modua maiuskulak eta minuskulak bereizten ditu, fitxategi-sistema muntatzeko sistema-dei bereiziak, GPU Mali 4xx/ 6xx/7xx kontrolatzaileak, BPF programetan sysctl balioen aldaketak kudeatzeko gaitasuna, gailu-mapatzailea. dm-dust modulua, MDS erasoen aurkako babesa, DSPrako Sound Open Firmwarerako euskarria, BFQ errendimenduaren optimizazioa, PSI (Presioa Gelditzearen Informazioa) azpisistema Android-en erabiltzeko aukerara ekartzea.

Bertsio berriak 15100 garatzaileren 1882 konponketa biltzen ditu,
adabakiaren tamaina - 62 MB (aldaketak 30889 fitxategiri eragin die, 625094 kode lerro gehitu dira, 531864 lerro ezabatu). 45an aurkeztutako guztien %5.2 inguru
aldaketak gailu kontrolatzaileekin lotuta daude, aldaketen %21 gutxi gorabehera
Hardware-arkitekturari dagokion kodea eguneratzeko jarrera, %12.
sareko pilari lotutakoak, %3 fitxategi-sistemei eta %3 barnekoak
nukleoaren azpisistemak. Aldaketa guztien %12.4 Intelek prestatu zituen, %6.3 Red Hat-ek, %5.4 Googlek, %4.0 AMDk, %3.1 SUSEk, %3 IBMk, %2.7 Huaweik, %2.7 Linarok, %2.2 ARMek. , % 1.6 - Oracle.

Nagusia berrikuntzak:

  • Disko azpisistema, I/O eta fitxategi sistemak
    • Ext4-rako gehitu da onartzen Fitxategi-izenetan karaktereen maiuskulak bereizi gabe funtzionatzen du, hutsik dauden direktorio indibidualei dagokienez soilik aktibatzen dena "+F" atributu berria erabiliz (EXT4_CASEFOLD_FL). Atributu hau direktorio batean ezarrita dagoenean, barruan fitxategiak eta azpidirektorioak dituzten eragiketa guztiak karaktereen maiuskulak kontuan hartu gabe egingo dira, kasuak barne, fitxategiak bilatu eta irekitzean (adibidez, Test.txt fitxategiak, kasua barne). halako direktorioetan test.txt eta test.TXT berdintzat hartuko dira). Lehenespenez, fitxategi-sistemak maiuskulak eta minuskulak bereizten jarraitzen du, β€œchattr +F” atributua duten direktorioetan izan ezik;
    • Fitxategi-izenetan UTF-8 karaktereak prozesatzeko funtzioak, kateak alderatzeko eta normalizatzeko eragiketak egiteko erabiltzen direnak, bateratu egin dira;
    • XFS-k fitxategi-sistemaren osasuna kontrolatzeko azpiegitura eta ioctl berri bat gehitzen ditu osasun-egoera kontsultatzeko. Ezaugarri esperimental bat ezarri da superblokeen kontagailuak linean egiaztatzeko.
    • Modulu berria gehitu da gailu-mapatzailea "dm-hautsaβ€œ, diskotik irakurtzean bloke txarrak edo akatsak agertzea simulatzeko aukera ematen duena. Moduluak hutsegiteen aurrean aplikazioen eta hainbat biltegiratze-sistemaren arazketa eta probak errazteko aukera ematen du;
    • Egindako BFQ I/O programatzailerako errendimendu-optimizazio esanguratsuak. I/O karga handiko baldintzetan, optimizazioak egin dira baimendu Murriztu %80ra arte aplikazioak abiarazteko eragiketen denbora.
    • Fitxategi-sistemak muntatzeko sistema-dei batzuk gehitu dira: fsopen(), ireki_zuhaitza(), fspick(), fsmount(), fsconfig() ΠΈ mugitu_muntatu(). Sistema-dei hauek muntaketa-etapa desberdinak bereizita prozesatzeko aukera ematen dute (superblokea prozesatu, fitxategi-sistemari buruzko informazioa lortu, muntatu, muntatze-puntuan erantsi), aurretik mount() sistema-dei komuna erabiliz egiten zirenak. Bereizi deiek muntaketa-egoera konplexuagoak egiteko eta eragiketa bereiziak egiteko gaitasuna eskaintzen dute, hala nola superblokea birkonfiguratzea, aukerak gaitzea, muntatze-puntua aldatzea eta beste izen-espazio batera mugitzea. Horrez gain, prozesamendu bereiziak errore-kodeen irteeraren arrazoiak zehaztasunez zehazteko eta geruza anitzeko fitxategi-sistemetarako iturri anitz ezartzeko aukera ematen du, hala nola overlayfs;
    • IORING_OP_SYNC_FILE_RANGE eragiketa berri bat gehitu da interfazean I/O io_uring asinkronoak egiteko, sistema dei baten baliokideak diren ekintzak egiten dituena. sync_file_range(), eta io_uring-ekin eventfd erregistratzeko eta eragiketak amaitzeari buruzko jakinarazpenak jasotzeko gaitasuna ere ezarri zuen;
    • CIFS fitxategi sistemarako, FIEMAP ioctl gehitu da, hedaduraren mapa eraginkorra eskainiz, baita SEEK_DATA eta SEEK_HOLE moduetarako laguntza ere;
    • FUSE azpisisteman proposatu Datuen cachea kudeatzeko APIa;
    • Btrfs-ek qgroups inplementazioa optimizatu du eta fsync exekuzio-abiadura hobetu du esteka gogor asko dituzten fitxategietarako. Datuen osotasuna egiaztatzeko kodea hobetu da, eta orain RAM-eko informazioan izan daitezkeen kalteak kontuan hartzen ditu datuak diskora garbitu aurretik;
    • CEPH-k argazkiak NFS bidez esportatzeko laguntza gehitu zuen;
    • NFSv4-ren muntaketa "bigun" moduan inplementatzea hobetu da (zerbitzaria "bigun" moduan sartzean erroreren bat gertatzen bada, berehala deiak errore-kode bat itzultzen du, eta "gogor" moduan kontrola ez da ematen FS arte. erabilgarritasuna edo denbora-muga berrezartzen da). Bertsio berriak denbora-muga kudeatzeko zehatzagoa, hutsegiteen berreskuratze azkarragoa eta denbora-muga gertatzen denean itzultzen den errore-kodea (ETIMEDOUT) aldatzeko aukera ematen duen muntaketa "softerr" aukera berri bat eskaintzen du;
    • NFS bezeroen egoeraren jarraipena egiteko diseinatutako nfsdcld APIak NFS zerbitzariari bezeroaren egoera zuzen jarraitzeko aukera ematen dio berrabiarazi ondoren. Horrela, nfsdcld deabruak nfsdcltrack kudeatzaile gisa jardu dezake orain;
    • AFSrentzat gehitu fitxategietan byte barrutiaren blokeoen emulazioa (Byte barrutiaren blokeoa);
  • Birtualizazioa eta segurtasuna
    • Idatzizko islatutako memoria-eremuetatik kodea exekutatzeko aukera ematen duten nukleoko tokiak ezabatzeko lana egin da, eta horrek eraso batean ustiatu daitezkeen zulo potentzialak blokeatzen ahalbidetzen du;
    • Nukleoko komando-lerroaren "mitigations=" parametro berri bat gehitu da, PUZaren instrukzio espekulatiboen exekuzioarekin lotutako ahultasunetatik babesteko zenbait teknikaren gaitzea kontrolatzeko modu sinplifikatua eskaintzen duena. "Migations=off" pasatzeak lehendik dauden metodo guztiak desgaitzen ditu, eta "mitigations=auto" modu lehenetsiak babesa gaitu, baina ez du eragiten Hyper Threading-en erabileran. "Migations=auto,nosmt" moduak Hyper Threading desgaitzen du babes-metodoak eskatzen badu.
    • Gehituta sinadura digital elektronikorako laguntza GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3) arabera. garatu Basalt SPOko Vitaly Chikunov. AES128-CCMrako euskarria gehitu zaio jatorrizko TLS inplementazioari. AEAD algoritmoen laguntza gehitu da crypto_simd moduluan;
    • Kconfig-en gehitu "kernelaren gogortzea" atal bereizi bat nukleoaren babesa hobetzeko aukerekin. Gaur egun, atal berriak GCC egiaztapena hobetzeko pluginak gaitzeko ezarpenak baino ez ditu;
    • Nukleoaren kodea ia da entregatu switch-en apurtzen ez diren case adierazpenetatik (kasu bloke bakoitzaren ondoren itzuli edo eten gabe). Etengailuaren erabilera horren 32 kasuetatik 2311 konpontzea geratzen da, eta ondoren nukleoa eraikitzerakoan "-Wimplicit-fallthrough" modua erabili ahal izango da;
    • PowerPC arkitekturarako, nahi ez diren nukleorako sarbideak erabiltzailearen espazioko datuetara mugatzeko hardware mekanismoen euskarria ezarri da;
    • Blokeatzeko kodea gehitu da erasoak MDS (Microarchitectural Data Sampling) klasea Intel prozesadoreetan. Sistema bat ahultasunen aurrean zaurgarria den egiaztatu dezakezu SysFS aldagaiaren bidez "/sys/devices/system/cpu/vulnerabilities/mds". eskuragarri bi babes-modu: osoa, mikrokode eguneratua behar duena, eta saihesbidea, kontrola erabiltzailearen espaziora edo gonbidatutako sistemara transferitzen denean CPU buffer-ak guztiz garbitzea bermatzen ez duena. Babes moduak kontrolatzeko, "mds=" parametroa gehitu da nukleoan, "full", "full,nosmt" (+ desgaitu Hyper-Threads) eta "off" balioak har ditzake;
    • x86-64 sistemetan, IRQ, arazketa-mekanismo eta salbuespen-kudeatzaileentzako "pilaren babes-orria" babesa gehitu da, eta horien funtsa memoria-orriak pilararekiko mugan ordezkatzea da, eta horrek sarbideak bat sortzea dakar. salbuespena (orriaren akatsa);
    • Sysctl ezarpena gehitu da vm.unprivileged_userfaultfd, pribilegiorik gabeko prozesuek userfaultfd() sistema-deia erabiltzeko gaitasuna kontrolatzen duena;
  • Sarearen azpisistema
    • Gehituta IPv6 atebidearen euskarria IPv4 bideetarako. Esate baterako, orain bideratze-arauak zehaztu ditzakezu: "ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0";
    • ICMPv6rako, ioctl deiak icmp_echo_ignore_anycast eta icmp_echo_ignore_multicast inplementatzen dira ICMP ECHO anycast eta
      multicast helbideak. Gehituta ICMPv6 paketeen prozesamenduaren intentsitatea mugatzeko gaitasuna;

    • BATMAN (Better Approach To Mobile Adhoc Networking) sare-protokolorako, nodo bakoitza aldameneko nodoen bidez konektatzen den sare deszentralizatuak sortzea ahalbidetzen duena, gehitu Multicast-etik unicast-era emititzeko laguntza, baita sysfs bidez kontrolatzeko gaitasuna ere;
    • ethtool-en gehitu du Fast Link Down parametro berri bat, 1000BaseT-ren estekaren beherako gertaera bati buruzko informazioa jasotzeko denbora murrizteko aukera ematen duena (baldintza normaletan atzerapena 750 ms-koa da);
    • Agertu aukera Foo-Over-UDP tunelak helbide, sare-interfaze edo socket zehatz batera lotzea (lehen lotzea maskara arrunt batek bakarrik egiten zuen);
    • Haririk gabeko pilan emandako kudeatzaileak ezartzeko aukera
      OWE (Opportunistic Wireless Encryption) erabiltzailearen espazioan;

    • Netfilter-en, inet helbide-familiaren euskarria gehitu zaie nat kateei (adibidez, orain itzulpen-arau bat erabil dezakezu ipv4 eta ipv6 prozesatzeko, ipv4 eta ipv6-ren arauak bereizi gabe);
    • netlink-en gehitu du erregimena zorrotza mezu eta atributu guztien zuzentasuna zorrotz egiaztatzeko, zeinetan atributuen esperotako tamaina gainditzen ez den eta mezuen amaieran datu gehigarriak gehitzea debekatuta dago;
  • Memoria eta sistema zerbitzuak
    • CLONE_PIDFD marka clone() sistema-deian gehitu da, zehazten denean, sortutako prozesu seme-alabarekin identifikatutako "pidfd" fitxategi-desskribatzailea prozesu nagusira itzultzen da. Fitxategi-deskriptore hau, adibidez, seinaleak bidaltzeko erabil daiteke lasterketa-egoera batean ibiltzeko beldurrik gabe (seinalea bidali eta berehala, xede-PID-a askatu egin daiteke prozesuaren amaiera dela-eta eta beste prozesu batek okupatu);
    • Cgroups-en bigarren bertsiorako, izozkailuaren kontrolagailuaren funtzionaltasuna gehitu da, eta horrekin cgroup batean lana gelditu dezakezu eta aldi baterako baliabide batzuk askatu (CPU, I/O eta, agian, memoria) beste zeregin batzuk egiteko. Kudeaketa cgroup.freeze eta cgroup.events kontrol fitxategien bidez egiten da cgroup zuhaitzean. cgroup.freeze-ko 1. sarrerak uneko cgroup-eko eta haur-talde guztietako prozesuak izozten ditu. Izozteak denbora pixka bat behar duenez, cgroup.events fitxategi gehigarri bat eskaintzen da, eta horren bidez eragiketa amaitzen den jakiteko;
    • Bermatua sysfs-en nodo bakoitzari atxikitako memoria-atributuen esportazioa, erabiltzaileen espaziotik memoria heterogeneoa duten sistemetan memoria-bankuak prozesatzeko izaera zehazteko aukera ematen duena;
    • PSI (Pressure Stall Information) azpisistema hobetu da, eta horri esker, hainbat baliabide (CPU, memoria, I/O) jasotzeko itxarote-denborari buruzko informazioa azter daiteke cgroup bateko zeregin edo prozesu-multzo jakin batzuetarako. PSI erabiliz, erabiltzaile-espazio-kudeatzaileek sistemaren karga-maila eta moteltze-ereduak zehatzago kalkula ditzakete Karga-batez bestekoarekin alderatuta. Bertsio berriak sentsibilitatearen atalaseak ezartzeko laguntza eskaintzen du eta poll() deia erabiltzeko aukera ematen du ezarritako atalaseak denbora-tarte jakin batean abiarazi direla jakinarazpena jasotzeko. Ezaugarri honi esker, Android-ek memoria-eskasia hasiera batean kontrola dezake, arazoen iturria identifikatu eta garrantzirik gabeko aplikazioak amaitzen ditu, erabiltzaileari nabaritzen zaizkion arazoak sortu gabe. Estresaren probak egitean, PSIn oinarritutako memoria-kontsumoa kontrolatzeko tresnek 10 aldiz positibo faltsu gutxiago frogatu zuten vmpressure estatistikekin alderatuta;
    • BPF programak egiaztatzeko kodea optimizatu da, programa handietarako 20 aldiz azkarrago egiaztatzea ahalbidetzen duena. Optimizazioak BPF programen tamainaren muga 4096tik milioi bat instrukziora igotzea ahalbidetu zuen;
    • BPF programetarako emandako datu globaletara sartzeko gaitasuna, programetan aldagai eta konstante globalak definitzeko aukera ematen duena;
    • Gehituta API, BPF programetako sysctl parametroen aldaketak kontrolatzeko aukera ematen duena;
    • MIPS32 arkitekturarako, eBPF makina birtualerako JIT konpiladore bat ezarri da;
    • 32 biteko PowerPC arkitekturarako, KASan (Kernel address sanitizer) arazketa tresnarako euskarria gehitu da, memoriarekin lan egitean akatsak identifikatzen laguntzen duena;
    • x86-64 sistemetan, kennelaren hutsegite batean (crash-dump) 896MB-tik gorako memoria-eremuetan egoera-iraulketak jartzeko muga kendu da;
    • s390 arkitekturarako, kexec_file_load() bidez kexec_file_load() bidez kargatzean nukleoaren helbide-espazioen aleatorizaziorako (KASLR) euskarria eta sinadura digitalak egiaztatzeko gaitasuna ezartzen dira;
    • PA-RISC arkitekturarako, nukleoaren arazketarako (KGDB), salto-markak eta kprobes-erako laguntza gehitu da;
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Gidaria barne Lima Mali 400/450 GPUrako, ARM arkitekturan oinarritutako txip zaharretan erabiltzen dena. Mali GPU berrientzat, Panfrost kontrolatzailea gehitu da, Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) eta Bifrost (Mali G3x, G5x, G7x) mikroarkitekturan oinarritutako txipak onartzen dituena;
    • Firmware irekia erabiltzen duten audio-gailuetarako laguntza gehitu da Soinu Ireki Firmware (SOF). Gidari irekiak egon arren, soinu-txipetarako firmware-kodea itxita jarraitzen zuen eta forma bitar batean ematen zen. Sound Open Firmware proiektua Intelek garatu zuen audio-prozesamenduarekin lotutako DSP txipetarako firmware irekia sortzeko (Google-k ere bat egin zuen garapenarekin). Gaur egun, proiektuak dagoeneko prestatu du Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake eta IceLake plataformetako soinu-txipetarako firmwarearen aurkikuntza;
    • Intel DRM kontrolatzaileak (i915) txipetarako laguntza gehitzen du
      Elkhartlake (Gen11). PCI IDak gehitu dira Comet Lake (Gen9) txipentzat. Icelake txipetarako euskarria egonkortu da, eta horretarako PCI gailuen identifikatzaile gehigarriak ere gehitu dira.
      Piztuta
      Mmio bidez idazteko eragiketak egiterakoan bi bufferren arteko aldaketa asinkronoaren modua bideo-memorian (async flip), eta horrek nabarmen handitu zuen 3D aplikazio batzuen errendimendua (adibidez, 3DMark Ice Storm probako errendimendua % 300-400 handitu zen). Laguntza teknologikoa gehitu da HDCP2.2 (Bandwidth Digital Content Protection) HDMI bidez transmititutako bideo-seinaleak zifratzeko;

    • Vega20 GPUrako amdgpu kontrolatzailea gehitu RAS (Fidagarritasuna, Erabilgarritasuna, Zerbitzua) euskarria eta Powerplay teknologia ordezkatu zuen SMU 11 azpisistemarako laguntza esperimentala. Vega12 GPUrako gehitu BACO modurako laguntza (Bus Active, Chip Off). XGMIrako hasierako euskarria gehitu da, GPU interkonexiorako abiadura handiko bus bat (PCIe 4.0). Amdkfd kontrolatzaileari Polaris10 GPUan oinarritutako txartelen identifikatzaileak falta ziren;
    • Nouveau kontrolatzaileak NVIDIA Turing 117 chipsetean (TU117, GeForce GTX 1650-n erabiltzen den) oinarritutako plaketarako laguntza gehitu du. IN
      kconfig gehitu libdrm uneko bertsioetan jada erabiltzen ez diren funtzio zaharkituak desgaitzeko ezarpena;

    • "Denbora-lerroa" sinkronizazio-objektuen euskarria gehitu da DRM APIan eta amdgpu kontrolatzailean, blokeo klasikorik gabe egin ahal izateko.
    • VirtualBox GPU birtualerako vboxvideo kontrolatzailea eszenatze adarretik egitura nagusira eraman da;
    • GFX SoC ASPEED txiparen abiadura kontrolatzailea gehitu da;
    • ARM SoC eta Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi) laguntza gehitu da. ) plakak RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
      ST Micro (stm32mp157a, stm32mp157c), NXP (
      Eckelmann ci4x10 (i.MX6DL),

      i.MX8MM EVK (i.MX8MM),

      ZII i.MX7 RPU2 (i.MX7),

      ZII SPB4 (VF610),

      Zii Ultra (i.MX8M),

      TQ TQMa7S (i.MX7Solo),

      TQ TQMa7D (i.MX7Dual),

      Kobo Aura (i.MX50),

      Menlosystems M53 (i.MX53)), NVIDIA Jetson Nano (Tegra T210).

Aldi berean, Latinoamerikako Software Librearen Fundazioa eratu
aukera guztiz doako nukleoa 5.2 - Linux-libre 5.2-gnu, doakoak ez diren osagaiak edo kode atalak dituzten firmware eta kontrolatzaileen elementuak garbitu ditu, fabrikatzaileak mugatzen baitu horien esparrua. Bertsio berriak fitxategiak kargatzea dakar
Soinu Open Firmware. Gidarietan blobak kargatzea desgaituta dago
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp eta ucsi_ccg. Eguneratu egin da ixp4xx, imx-sdma, amdgpu, nouveau eta goya kontrolatzaile eta azpisistemetako blob garbiketa-kodea, baita mikrokodeen dokumentazioan ere. r8822be kontrolatzailean zikinak garbitzeari utzi dio kenduta.

Iturria: opennet.ru

Gehitu iruzkin berria