Linux 5.2 Kernel Verëffentlechung

No zwee Méint Entwécklung, Linus Torvalds agefouert kernel Verëffentlechung Linux 5.2. Ënnert de merkbarsten Ännerungen: Ext4 Betribsmodus ass case-onsensitiv, separat System rifft fir de Dateiesystem ze montéieren, Chauffeuren fir GPU Mali 4xx/ 6xx/7xx, d'Fäegkeet fir Ännerungen an de sysctl Wäerter an BPF Programmer ze handhaben, Apparat-Mapper Modul dm-Stëbs, Schutz géint Attacken MDS, Ënnerstëtzung fir Sound Open Firmware fir DSP, Optimisatioun vun der BFQ Leeschtung, bréngt de PSI (Pressure Stall Information) Subsystem op d'Méiglechkeet fir an Android ze benotzen.

Déi nei Versioun enthält 15100 Fixer vun 1882 Entwéckler,
Patch Gréisst - 62 MB (Ännerunge betraff 30889 Fichieren, 625094 Linnen Code goufen dobäi, 531864 Linnen goufen geläscht). Ongeféier 45% vun all presentéiert am 5.2
Ännerungen sinn am Zesummenhang mat Apparat Chauffeuren, ongeféier 21% vun Ännerungen sinn
Haltung zum Update Code spezifesch fir Hardwarearchitekturen, 12%
am Zesummenhang mat dem Netzstack, 3% op Dateisystemer an 3% op intern
kernel subsystems. 12.4% vun alle Ännerunge goufe vum Intel virbereet, 6.3% vum Red Hat, 5.4% vun Google, 4.0% vun AMD, 3.1% vun SUSE, 3% vun IBM, 2.7% vun Huawei, 2.7% vun Linaro, 2.2% vun ARM , 1.6% - Oracle.

Haaptstrooss Innovatiounen:

  • Disk Subsystem, I/O an Dateisystemer
    • Derbäigesat fir Ext4 ënnerstëtzen Aarbecht ouni de Fall vun Zeechen an Dateinumm z'ënnerscheeden, déi nëmme a Relatioun mat eenzelne eidel Verzeichnisser aktivéiert gëtt mat dem neien Attribut "+F" (EXT4_CASEFOLD_FL). Wann dëst Attribut op engem Verzeechnes gesat gëtt, ginn all Operatioune mat Dateien an Ënnerverzeechnungen dobannen duerchgefouert ouni de Fall vun Zeechen ze berücksichtegen, inklusiv de Fall gëtt ignoréiert wann Dir Dateien sicht an opmaacht (zum Beispill d'Dateien Test.txt, test.txt an test.TXT an esou Verzeichnisser ginn déiselwecht ugesinn). Par défaut ass de Dateiesystem weider case-sensibel, mat Ausnam vu Verzeichnisser mat dem Attribut "chattr + F";
    • Funktioune fir d'Veraarbechtung vun UTF-8 Zeechen an Dateinumm, déi benotzt gi wann Dir Stringverglach an Normaliséierungsoperatiounen ausféiert, goufen vereenegt;
    • XFS füügt Infrastruktur fir d'Gesondheetsiwwerwaachung vum Dateisystem an en neien ioctl fir de Gesondheetszoustand unzefroen. Eng experimentell Feature gouf implementéiert fir Superblockteller online ze kontrolléieren.
    • Neie Modul Apparat Mapper dobäigesat "dm-staub", wat Iech erlaabt d'Erscheinung vu schlechte Blocks op de Medien oder Feeler beim Liesen vun der Disk ze simuléieren. De Modul erlaabt Iech Debugging an Testen vun Uwendungen a verschidde Späichersystemer am Gesiicht vu méigleche Feeler ze vereinfachen;
    • Ausgefouert Bedeitend Leeschtungsoptimiséierunge fir de BFQ I/O Scheduler. An Konditiounen vun héich I / O Laascht, Optimisatiounen gemaach erlaben Reduzéiert d'Zäit vun Operatiounen wéi d'Start vun Uwendungen ëm bis zu 80%.
    • Eng Serie vu Systemriff bäigefüügt fir Dateisystemer ze montéieren: fsopen(), open_tree(), fspick(), fsmount(), fsconfig() и move_mount(). Dëse System Appellen erlaben Iech verschidden Etappe vun Opriichte getrennt Prozess (Veraarbechtung der superblock, kréien Informatiounen iwwert de Fichier System, Montéierung, befestegt un der Montéierung Punkt), déi virdrun mat der gemeinsamer Montéierung duerchgefouert goufen () System Opruff. Separat Uriff bidden d'Fäegkeet méi komplex Montéierungsszenarien auszeféieren an separat Operatiounen auszeféieren wéi d'Rekonfiguratioun vum Superblock, d'Optiounen z'erméiglechen, de Montéierungspunkt z'änneren an an en anere Nummraum ze plënneren. Zousätzlech, getrennte Veraarbechtung erlaabt Iech d'Grënn fir d'Output vu Feelercodes präziist ze bestëmmen a verschidde Quelle fir Multi-Layer Dateisystemer, wéi Iwwerlagerungen, ze setzen;
    • Eng nei Operatioun IORING_OP_SYNC_FILE_RANGE gouf op d'Interface fir asynchronen I/O io_uring bäigefüügt, déi Aktiounen ausféiert gläichwäerteg mat engem Systemruff sync_file_range(), an och d'Fäegkeet implementéiert fir Eventfd mat io_uring anzeschreiwen an Notifikatiounen iwwer d'Ofschloss vun Operatiounen ze kréien;
    • Fir den CIFS Dateiesystem ass de FIEMAP ioctl bäigefüügt, fir effizient Ausmooss ze mapping, wéi och Ënnerstëtzung fir d'SEEK_DATA an SEEK_HOLE Modi;
    • Am FUSE Subsystem proposéiert API fir Daten Caching ze managen;
    • Btrfs huet d'qgroups Implementatioun optimiséiert a verbessert fsync Ausféierungsgeschwindegkeet fir Dateien mat multiple Hard Links. Den Dateintegritéitscheckcode gouf verbessert, wat elo méigleche Schued un Informatioun am RAM berücksichtegt ier d'Daten op d'Disk spülen;
    • CEPH huet bäigefüügt Ënnerstëtzung fir Snapshots iwwer NFS ze exportéieren;
    • D'Ëmsetzung vun der NFSv4 Montéierung am "mëllen" Modus gouf verbessert (wann e Feeler beim Zougang zum Server am "mëllen" Modus geschitt ass, gëtt en Uruff fir direkt e Feelercode zréck, an am "hard" Modus Kontroll gëtt net bis de FS Disponibilitéit oder Timeout gëtt restauréiert). Déi nei Verëffentlechung stellt méi genee Timeout Ëmgank, méi séier Crash Erhuelung, an eng nei "softerr" Opriichte Optioun datt Dir de Feeler Code ze änneren erlaabt (ETIMEDOUT) zréck wann e Timeout geschitt;
    • D'nfsdcld API, entwéckelt fir den Zoustand vun NFS Clienten ze verfolgen, erlaabt den NFS Server den Zoustand vum Client beim Neistart korrekt ze verfolgen. Sou kann den nfsdcld Daemon elo als nfsdcltrack Handler handelen;
    • Fir AFS dobäi Emulatioun vu Byte Range Spären an Dateien (Byte Range Sperrung);
  • Virtualiséierung a Sécherheet
    • D'Aarbecht gouf gemaach fir Plazen am Kernel ze eliminéieren, déi d'Code-Ausféierung vu schrëftleche reflektéierte Gedächtnisberäicher erlaben, wat et erméiglecht, potenziell Lächer ze blockéieren, déi während engem Attack exploitéiert kënne ginn;
    • En neie Kernel Kommandozeilparameter "mitigations=" gouf bäigefüügt, déi e vereinfachte Wee ubitt fir d'Aktivatioun vu bestëmmten Techniken ze kontrolléieren fir géint Schwachstelle verbonne mat der spekulativer Ausféierung vun Instruktiounen op der CPU ze schützen. Passéieren "mitigations=off" deaktivéiert all existent Methoden, an de Standardmodus "mitigations=auto" erméiglecht de Schutz awer beaflosst net d'Benotzung vun Hyper Threading. De Modus "mitigations=auto,nosmt" deaktivéiert zousätzlech Hyper Threading wann néideg vun der Schutzmethod.
    • Dobäigesat Ënnerstëtzung fir elektronesch digital Ënnerschrëft no GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3), entwéckelt Vitaly Chikunov aus Basalt SPO. Ënnerstëtzung fir AES128-CCM fir déi gebierteg TLS Implementatioun bäigefüügt. Zousätzlech Ënnerstëtzung fir AEAD Algorithmen am crypto_simd Modul;
    • An Kconfig dobäi eng separat "Kernelhärtung" Sektioun mat Optiounen fir de Kernelschutz ze verbesseren. Momentan enthält déi nei Sektioun nëmmen Astellunge fir GCC Check-Enhancing Plugins z'aktivéieren;
    • De Kernelcode ass bal geliwwert aus Net-briechen Fall Aussoen am Schalter (ouni Retour oder Paus no all Fall Block). Et bleift fir 32 vun 2311 Fäll vu sou enger Benotzung vum Schalter ze fixéieren, no deem et méiglech ass den "-Wimplicit-fallthrough" Modus ze benotzen wann de Kernel baut;
    • Fir d'PowerPC Architektur ass Ënnerstëtzung fir Hardware Mechanismen fir d'Limitatioun vun ongewollten Kernel Zougangsweeër op Daten am Benotzerraum ëmgesat ginn;
    • Blockéierungscode bäigefüügt Attacken MDS (Microarchitectural Data Sampling) Klass an Intel Prozessoren. Dir kënnt iwwerpréiwen ob e System vulnerabel ass fir Schwächen duerch d'SysFS Variabel "/sys/devices/system/cpu/vulnerabilities/mds". Verfügbar zwee Schutzmodi: voll, déi aktualiséiert Mikrocode erfuerdert, a Contournement, wat net komplett d'Ofschafung vun CPU-Puffer garantéiert wann d'Kontroll op de Benotzerraum oder de Gaaschtsystem transferéiert gëtt. Fir Schutzmodi ze kontrolléieren, ass de "mds =" Parameter an de Kernel bäigefüügt, deen d'Wäerter "voll", "voll, nosmt" (+ Hyper-Threads auszeschalten) an "off" huelen kann;
    • Op x86-64 Systemer ass "Stack Guard-Säit" Schutz fir IRQ dobäigesat ginn, Debugging Mechanismen an Ausnam Handler, d'Essenz vun deem ass d'Ersatz vun Erënnerung Säiten op der Grenz mat der Stack, Zougang déi zu der Generatioun vun engem Ausnam (Säit-Feeler);
    • Added sysctl Astellung vm.unprivileged_userfaultfd, déi d'Fähegkeet vun onprivilegéierte Prozesser kontrolléiert fir de Userfaultfd () Systemruff ze benotzen;
  • Netzwierk Subsystem
    • Dobäigesat IPv6 Gateway Ënnerstëtzung fir IPv4 routes. Zum Beispill, Dir kënnt elo Routing Regelen wéi "ip ro add 172.16.1.0/24 iwwer inet6 2001: db8:: 1 dev eth0" spezifizéieren;
    • Fir ICMPv6, ioctl rifft icmp_echo_ignore_anycast an icmp_echo_ignore_multicast ginn ëmgesat fir ICMP ECHO fir Anycast ze ignoréieren an
      multicast Adressen. Dobäigesat d'Fäegkeet fir d'Intensitéit vun der ICMPv6 Paketveraarbechtung ze limitéieren;

    • Fir de BATMAN (Better Approach To Mobile Adhoc Networking) Mesh Protokoll, deen d'Schafung vun dezentraliséierten Netzwierker erlaabt, an deenen all Node duerch Nopeschnoden verbonne sinn, dobäi Ënnerstëtzung fir d'Sendung vu Multicast op Unicast, wéi och d'Fäegkeet iwwer Sysfs ze kontrolléieren;
    • An ettool dobäigesat en neie Fast Link Down Parameter, deen Iech erlaabt d'Zäit ze reduzéieren déi et brauch fir Informatiounen iwwer e Link Down Event fir 1000BaseT ze kréien (ënner normale Konditiounen ass d'Verspéidung bis zu 750ms);
    • Erscheint Geleeënheet verbindlech Foo-Over-UDP Tunnel zu enger spezifescher Adress, Reseau Interface oder Socket (virdrun verbindlech war nëmmen duerch eng gemeinsam Mask gemaach);
    • Am drahtlose Stack virgesinn Méiglechkeet vun Ëmsetzung handlers
      OWE (Opportunistic Wireless Encryption) am Benotzerraum;

    • Am Netfilter ass Ënnerstëtzung fir d'Inet Adressfamill op nat Ketten bäigefüügt (zum Beispill, Dir kënnt elo eng Iwwersetzungsregel benotze fir ipv4 an ipv6 ze veraarbecht, ouni d'Regele fir ipv4 an ipv6 ze trennen);
    • An netlink dobäigesat de Regime strikt fir eng strikt Verifizéierung vun der Richtegkeet vun alle Messagen an Attributer, an deenen d'erwaart Gréisst vun den Attributer net erlaabt ass ze iwwerschreiden an d'Zousatz vun zousätzlechen Donnéeën um Enn vun de Messagen ass verbueden;
  • Erënnerung a System Servicer
    • De CLONE_PIDFD Fändel gouf an de Klon () System Uruff bäigefüügt, wann spezifizéiert, gëtt de Dateideskriptor "pidfd" identifizéiert mat dem erstallte Kandprozess an den Elterenprozess zréckginn. Dëse Fichier Descriptor, zum Beispill, kann benotzt ginn fir Signaler ze schécken ouni Angscht ze lafen an e Rennenbedingung (direkt nodeems d'Signal geschéckt gëtt, kann d'Zil-PID befreit ginn duerch Prozesserkündung a vun engem anere Prozess besat);
    • Fir déi zweet Versioun vu cgroups ass d'Funktionalitéit vun de Frigo Controller bäigefüügt, mat där Dir d'Aarbecht an enger cgroup stoppen an temporär e puer Ressourcen (CPU, I/O, a potenziell souguer Erënnerung) befreien fir aner Aufgaben auszeféieren. D'Verwaltung gëtt duerch d'cgroup.freeze an cgroup.events Kontrolldateien am cgroup Bam gemaach. Entry 1 in cgroup.freeze afréiert Prozesser an der aktueller cgroup an all Kand Gruppen. Well d'Gefrierung e bëssen Zäit dauert, gëtt en zousätzleche cgroup.events-Datei zur Verfügung gestallt, duerch deen Dir iwwer d'Ofschloss vun der Operatioun gewuer gëtt;
    • Geséchert Export vun Erënnerung Attributer un all Node an sysfs verbonnen, wat erlaabt Iech aus Benotzer Raum d'Natur vun Veraarbechtung Erënnerung Banken an Systemer mat heterogen Erënnerung ze bestëmmen;
    • De PSI (Pressure Stall Information) Subsystem gouf verbessert, wat Iech erlaabt Informatioun iwwer d'Waardezäit ze analyséieren fir verschidde Ressourcen (CPU, Erënnerung, I / O) fir verschidden Aufgaben oder Sätze vu Prozesser an enger cgroup ze kréien. Mat PSI kënne Benotzerraumhantere méi präzis den Niveau vun der Systembelaaschtung a Verlängerungsmuster am Verglach zum Load Average schätzen. Déi nei Versioun bitt Ënnerstëtzung fir Sensibilitéitsgrenzen ze setzen an d'Fähigkeit fir den Ëmfro () Uruff ze benotzen fir Notifikatioun ze kréien datt déi festgeluechte Schwellen fir eng gewëssen Zäit ausgeléist goufen. Dës Feature erlaabt Android fir Erënnerungsmangel op eng fréi Etapp ze iwwerwaachen, d'Quell vu Probleemer z'identifizéieren an onwichteg Uwendungen ofzeschléissen ouni Probleemer ze verursaachen déi dem Benotzer bemierkbar sinn. Wann Stress Tester, PSI-baséiert Erënnerung Konsum Iwwerwachung Handwierksgeschir bewisen 10 Mol manner falsch positiv Verglach zu vmpressure Statistiken;
    • De Code fir d'BPF Programmer ze kontrolléieren ass optimiséiert ginn, wat et erlaabt bis zu 20 Mol méi séier fir grouss Programmer ze kontrolléieren. Optimisatioun huet et méiglech gemaach d'Limite vun der Gréisst vun de BPF Programmer vun 4096 op eng Millioun Instruktiounen ze erhéijen;
    • Fir BPF Programmer virgesinn d'Kapazitéit fir global Daten ze kréien, wat Iech erlaabt global Variablen a Konstanten a Programmer ze definéieren;
    • Dobäigesat API, wat Iech erlaabt Ännerungen an sysctl Parameteren aus BPF Programmer ze kontrolléieren;
    • Fir d'MIPS32 Architektur ass e JIT Compiler fir d'eBPF virtuell Maschinn ëmgesat ginn;
    • Fir d'32-Bit PowerPC Architektur ass Ënnerstëtzung fir de KASan (Kernel Adress Sanitizer) Debugging Tool bäigefüügt, wat hëlleft Feeler z'identifizéieren wann Dir mat Erënnerung schafft;
    • Op x86-64 Systemer ass d'Restriktioun fir Staatsdumps während engem Kernel Crash (Crash-dump) an Erënnerungsberäicher iwwer 896MB geläscht ze ginn;
    • Fir d's390 Architektur, Ënnerstëtzung fir Kernel Adress Raum randomization (KASLR) an d'Fähegkeet digital Ënnerschrëften z'iwwerpréiwen wann de Kär lued via kexec_file_load () ëmgesat;
    • Fir d'PA-RISC Architektur, zousätzlech Ënnerstëtzung fir de Kernel Debugger (KGDB), Sprangmarken a kprobes;
  • Ausrüstung
    • Driver abegraff Lima fir de Mali 400/450 GPU, benotzt a villen eelere Chips baséiert op der ARM Architektur. Fir méi nei Mali GPUs ass de Panfrost Chauffer dobäigesat ginn, ënnerstëtzt Chips baséiert op Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) a Bifrost (Mali G3x, G5x, G7x) Mikroarchitekturen;
    • Zousätzlech Ënnerstëtzung fir Audiogeräter mat oppene Firmware SoundOpen Firmware (SOF). Trotz der Disponibilitéit vun oppenen Treiber ass de Firmwarecode fir Soundchips nach ëmmer zougemaach a gouf a binärer Form geliwwert. De Sound Open Firmware-Projet gouf vum Intel entwéckelt fir oppe Firmware fir DSP-Chips am Zesummenhang mat der Audioveraarbechtung ze kreéieren (Google ass spéider och mat der Entwécklung bäikomm). Momentan huet de Projet schonn d'Entdeckung vu Firmware fir Soundchips vun den Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake an IceLake Plattformen virbereet;
    • Intel DRM Chauffer (i915) füügt Ënnerstëtzung fir Chips
      Elkhartlake (Gen11). Zousätzlech PCI IDs fir Comet Lake (Gen9) Chips. Ënnerstëtzung fir Icelake Chips gouf stabiliséiert, fir déi zousätzlech PCI Apparat Identifizéierer och bäigefüügt goufen.
      Ageschalt
      Modus vum asynchrone Wiessel tëscht zwee Puffer am Video Memory (async Flip) wann Dir Schreifoperatioune iwwer mmio ausféiert, wat d'Performance vun e puer 3D Uwendungen wesentlech erhéicht huet (zum Beispill d'Performance am 3DMark Ice Storm Test erhéicht ëm 300-400%). Zousätzlech Technologie Ënnerstëtzung HDCP 2.2 (High-Bandwidth Digital Content Protection) fir d'Verschlësselung vu Videosignaler iwwer HDMI iwwerdroen;

    • Den amdgpu Treiber fir Vega20 GPU dobäi Ënnerstëtzung fir RAS (Zouverlässegkeet, Verfügbarkeet, Servicebarkeet) an experimentell Ënnerstëtzung fir den SMU 11 Subsystem, deen Powerplay Technologie ersat huet. Fir GPU Vega12 dobäi Ënnerstëtzung fir BACO Modus (Bus Aktiv, Chip Off). Dobäi initial Ënnerstëtzung fir XGMI, engem Héich-Vitesse Bus (PCIe 4.0) fir GPU Interconnection. Füügt fehlend Identifizéierer fir Kaarte baséiert op Polaris10 GPU an den amdkfd Chauffer;
    • Den Nouveau Chauffer huet Ënnerstëtzung fir Boards bäigefüügt baséiert op dem NVIDIA Turing 117 Chipsatz (TU117, benotzt am GeForce GTX 1650). IN
      kconfig dobäi Astellung fir verouderte Funktiounen auszeschalten déi net méi an aktuellen Releases vu libdrm benotzt ginn;

    • Ënnerstëtzung fir "Timeline" Synchroniséierungsobjekter gouf op d'DRM API an den amdgpu Chauffer bäigefüügt, wat Iech erlaabt ouni klassesch Blockéierung ze maachen.
    • De vboxvideo Chauffer fir d'VirtualBox virtuell GPU gouf vun der Staging Branche an d'Haaptstruktur geréckelt;
    • Aspeed Chauffer fir GFX SoC ASPEED Chip dobäigesat;
    • Zousätzlech Ënnerstëtzung fir ARM SoC an Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, ,Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi) ) Boards 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).

Zur selwechter Zäit ass d'Latäinamerikanesch Free Software Foundation geformt
Optioun komplett gratis Kernel 5.2 - Linux-Libre 5.2-gnu, geläscht vun Firmware a Chauffer Elementer déi net-gratis Komponenten oder Code Sektiounen enthalen, den Ëmfang vun deenen ass vum Hiersteller limitéiert. Nei Verëffentlechung enthält Datei Eroplueden
Sound Open Firmware. Luede vu Blobs a Chauffeuren ass behënnert
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp an ucsi_ccg. De Blob Reinigungscode an den ixp4xx, imx-sdma, amdgpu, nouveau a goya Treiber an Ënnersystemer, wéi och an der Mikrocodedokumentatioun, gouf aktualiséiert. Gestoppt Botzen Blobs am r8822be Chauffer wéinst senger Entfernung.

Source: opennet.ru

Setzt e Commentaire