Linux 5.14 Kernel Verëffentlechung

No zwee Méint vun der Entwécklung huet de Linus Torvalds d'Verëffentlechung vum Linux Kernel 5.14 presentéiert. Ënnert de stäerkste Notabele Ännerungen: nei quotactl_fd () an memfd_secret () System rifft, Ewechhuele vun Ide an Matière Chauffeuren, nei ech / O Prioritéit Controller fir cgroup, SCHED_CORE Aufgab Zäitplang Modus, Infrastruktur fir eng schafen verifizéiert BPF Programm loaders.

Déi nei Versioun enthält 15883 Fixer vun 2002 Entwéckler, d'Patchgréisst ass 69 MB (d'Ännerunge betraff 12580 Dateien, 861501 Zeilen Code goufen derbäigesat, 321654 Zeilen goufen geläscht). Ongeféier 47% vun all Ännerungen, déi am 5.14 agefouert goufen, bezéien sech op Geräter Chauffeuren, ongeféier 14% vun den Ännerunge si mat der Aktualiséierung vum Code spezifesch fir Hardwarearchitekturen bezunn, 13% si mat dem Netzwierkstack bezunn, 3% si mat Dateiesystemer bezunn, an 3% si verbonne mat internen Kernel-Subsystemer.

Haaptinnovatiounen:

  • Disk Subsystem, I/O an Dateisystemer
    • En neien I / O Prioritéitskontroller gouf fir cgroups, rq-qos, implementéiert, déi d'Veraarbechtungsprioritéit vun Ufroe kontrolléiere kënnen fir Geräter ze blockéieren déi vu Membere vun all cgroup generéiert ginn. Nei Prioritéit Controller Support gouf zum mq-Deadline I / O Scheduler bäigefüügt.
    • Den ext4 Dateiesystem implementéiert en neit ioctl Kommando, EXT4_IOC_CHECKPOINT, deen all pendend Transaktiounen aus dem Journal an hir assoziéiert Puffer forcéiert fir op Disk ze spülen, an iwwerschreift och d'Gebitt dat vum Journal an der Späichere benotzt gëtt. D'Ännerung gouf als Deel vun enger Initiativ virbereet fir Informatiounsleckage aus Dateiesystemer ze vermeiden.
    • Leeschtungsoptimiséierunge goufen op Btrfs gemaach: andeems Dir onnéideg Logbicher vun erweiderten Attributer wärend der fsync Ausféierung eliminéiert, ass d'Leeschtung vun intensiven Operatiounen mat erweiderten Attributer ëm bis zu 17% eropgaang. Zousätzlech, wann Dir Trimmoperatiounen ausféiert, déi d'Ausmooss net beaflossen, gëtt voll Synchroniséierung behënnert, wat d'Operatiounszäit ëm 12% reduzéiert huet. Eng Astellung gouf op sysfs bäigefüügt fir d'I / O-Bandbreedung ze limitéieren wann Dir den FS iwwerpréift. Ioctl Uriff bäigefüügt fir d'Gréisst änneren an d'Apparatoperatioune ze läschen.
    • Am XFS ass d'Ëmsetzung vum Puffer-Cache nei designt ginn, dee fir d'Allokéierung vun Erënnerungssäiten am Batch-Modus ëmgewandelt gouf. Verbesserte Cache Effizienz.
    • F2FS füügt eng Optioun fir am Read-only Modus ze bedreiwen an implementéiert e kompriméierte Block Cache Modus (compress_cache) fir zoufälleg Liesleistung ze verbesseren. Ënnerstëtzung gouf implementéiert fir Dateien ze kompriméieren, déi op d'Erënnerung kartéiert sinn mat der mmap () Operatioun. Fir selektiv Dateikompressioun op Basis vun enger Mask auszeschalten, gouf eng nei Mountoptioun nocompress proposéiert.
    • D'Aarbecht gouf am exFAT-Treiber gemaach fir d'Kompatibilitéit mat e puer Digitalkamera-Späichere ze verbesseren.
    • De quotactl_fd () System Uruff dobäigesat, deen Iech erlaabt Quoten net duerch eng speziell Apparatdatei ze verwalten, awer andeems Dir e Dateideskriptor spezifizéiert, deen mam Dateiesystem assoziéiert ass, fir deen d'Quote applizéiert gëtt.
    • Déi al Treiber fir Blockgeräter mat der IDE-Interface goufen aus dem Kernel geläscht; Si si laang duerch de Libata-Subsystem ersat.
    • De "raw" Chauffer gouf aus dem Kernel geläscht, a bitt en ongebufferten Zougang zu Blockapparaten iwwer d'/dev/raw Interface. Dës Funktionalitéit gouf laang an Uwendungen implementéiert mat dem O_DIRECT Fändel.
  • Erënnerung a System Servicer
    • Den Task Scheduler implementéiert en neie Scheduling Modus, SCHED_CORE, deen Iech erlaabt ze kontrolléieren wéi eng Prozesser zesummen um selwechte CPU Kär ausgefouert kënne ginn. All Prozess kann e Cookie Identifizéierer zougewisen ginn, deen den Ëmfang vum Vertrauen tëscht Prozesser definéiert (zum Beispill gehéiert zum selwechte Benotzer oder Container). Wann Dir d'Code-Ausféierung organiséiert, kann de Scheduler suergen datt ee CPU Kär nëmmen ënner Prozesser gedeelt gëtt, déi mam selwechte Besëtzer assoziéiert sinn, wat benotzt ka ginn fir e puer Spectre Attacke ze blockéieren andeems vertrauenswierdeg an net vertrauenswürdege Aufgaben um selwechte SMT (Hyper Threading) thread lafen. .
    • Fir cgroup ass Ënnerstëtzung fir d'Killoperatioun ëmgesat ginn, wat Iech erlaabt all Prozesser, déi mat der Grupp verbonne sinn, op eemol ëmzebréngen (SIGKILL schécken) andeems Dir "1" an déi virtuell Datei cgroup.kill schreift.
    • Erweidert Fäegkeeten am Zesummenhang mat der Reaktioun op d'Erkennung vu gesplécktem Sperren ("Split Spären"), déi optrieden wann Dir Zougang zu unalignéierten Donnéeën an der Erënnerung kritt, wéinst der Tatsaach datt wann Dir eng Atominstruktioun ausféiert, d'Donnéeën zwou CPU-Cachelinnen iwwerschreiden. Esou Blockéierung féiert zu engem wesentleche Réckgang vun der Leeschtung, sou datt et virdru méiglech war, d'Applikatioun z'ënnerbriechen déi d'Blockéierung verursaacht huet. Déi nei Verëffentlechung füügt e Kernel Kommandozeil Parameter "split_lock_detect = ratelimit: N", deen Iech erlaabt eng systembreet Limit op den Taux vun de Sperroperatiounen pro Sekonn ze definéieren, nodeems se all Prozess iwwerschratt hunn, deen d'Quell vun engem gesplécktem Spär gouf. wäert gezwongen sinn fir 20 ms ze stoppen amplaz ofzeschléissen.
    • De cgroup bandwidth controller CFS (CFS bandwidth controller), dee bestëmmt wéi vill Prozessor Zäit un all cgroup zougewisen ka ginn, implementéiert d'Fäegkeet fir Zäitlimitéiert Limiten ze definéieren, wat eng besser Reguléierung vun latency-sensibel Aarbechtslaascht erlaabt. Zum Beispill, setzen cpu.cfs_quota_us op 50000 an cpu.cfs_period_us op 100000 erlaabt eng Grupp vu Prozesser 100ms CPU Zäit all 50ms ze verschwenden.
    • Initial Infrastruktur bäigefüügt fir BPF Programmloader ze kreéieren, déi weider d'Luede vun nëmmen BPF Programmer erlaabt, déi mat engem vertrauenswürdege digitale Schlëssel ënnerschriwwe sinn.
    • Eng nei futex Operatioun FUTEX_LOCK_PI2 bäigefüügt, déi e monotonen Timer benotzt fir en Timeout ze berechnen, deen d'Zäit vum System am Schlofmodus berücksichtegt.
    • Fir d'RISC-V Architektur, Ënnerstëtzung fir grouss Erënnerung Säiten (Transparent Huge-Pages) an d'Fähegkeet de KFENCE Mechanismus ze benotzen fir Feeler z'entdecken wann Dir mat Erënnerung schaffen sinn ëmgesat.
    • De madvise () System Uruff, deen e Mëttel bitt fir d'Erënnerungsverwaltung vun engem Prozess ze optimiséieren, huet d'MADV_POPULATE_READ an MADV_POPULATE_WRITE Fändelen bäigefüügt fir e "Säitfehler" op all Gedächtnissäiten ze generéieren, déi fir Lies- oder Schreifoperatioune mapéiert sinn, ouni eng tatsächlech Lies- oder Schreiwen auszeféieren. (Virfaassung). D'Benotzung vu Fändelen kann nëtzlech sinn fir Verspéidungen an der Ausféierung vum Programm ze reduzéieren, wéinst der proaktiver Ausféierung vum "Säitfehler" Handler fir all onallokéiert Säiten gläichzäiteg, ouni op den aktuellen Zougang zu hinnen ze waarden.
    • De Kunit Eenheetstestsystem huet Ënnerstëtzung bäigefüügt fir Tester am QEMU Ëmfeld ze lafen.
    • Nei Tracer goufen derbäigesat: "Osnoise" fir Applikatiounsverzögerungen ze verfolgen, déi duerch Ënnerbriechungshandhabung verursaacht ginn, an "Timerlat" fir detailléiert Informatioun iwwer Verspéidungen ze weisen wann Dir vun engem Timer Signal erwächen.
  • Virtualiséierung a Sécherheet
    • De memfd_secret () System Uruff gouf bäigefüügt fir e private Gedächtnisgebitt an engem isoléierten Adressraum ze kreéieren, siichtbar nëmme fir de Besëtzprozess, net op aner Prozesser reflektéiert, an net direkt zougänglech fir de Kärel.
    • Am seccomp System Call Filter System, wann Dir Blockéierungshandteren an de Benotzerraum bewegt, ass et méiglech eng eenzeg atomar Operatioun ze benotzen fir e Dateideskriptor fir eng isoléiert Aufgab ze kreéieren an zréckzekommen wann Dir e Systemruff veraarbecht. Déi proposéiert Operatioun léist de Problem fir en Handler am Benotzerraum z'ënnerbriechen wann e Signal kënnt.
    • En neie Mechanismus bäigefüügt fir d'Gestioun vun Ressourcelimiten am User ID Nummraum ze verwalten, deen individuell rlimitteller un e Benotzer am "Benotzernummraum" verbënnt. D'Ännerung léist de Problem mat der Benotzung vun gemeinsame Ressource counters wann ee Benotzer Prozesser a verschiddene Container leeft.
    • De KVM Hypervisor fir ARM64 Systemer huet d'Fäegkeet bäigefüügt fir d'MTE (MemTag, Memory Tagging Extension) Extensioun a Gaaschtsystemer ze benotzen, wat Iech erlaabt Tags un all Erënnerungsallokatiounsoperatioun ze binden an d'Kontroll vun der korrekter Notzung vu Pointer z'organiséieren fir d'Exploitatioun ze blockéieren. Schwachstelle verursaacht duerch Zougang zu scho befreit Erënnerungsblocken, iwwerflësseg Puffer, Zougang virun der Initialiséierung a benotzt ausserhalb vum aktuelle Kontext.
    • D'ARM64 Plattform Pointer Authentifikatioun Ariichtungen kënnen elo separat fir Kernel a Benotzerraum konfiguréiert ginn. D'Technologie erlaabt Iech spezialiséiert ARM64 Instruktiounen ze benotzen fir Retouradressen z'iwwerpréiwen mat digitale Ënnerschrëften déi an den onbenotzten ieweschte Bits vum Zeiger selwer gespäichert sinn.
    • User-Modus Linux huet Ënnerstëtzung bäigefüügt fir Treiber fir PCI-Geräter mat engem virtuelle PCI-Bus ze benotzen, implementéiert vum PCI-over-virtio-Treiber.
    • Fir x86 Systemer, bäigefüügt Ënnerstëtzung fir de virtio-iommu paravirtualiséierten Apparat, erlaabt datt IOMMU Ufroe wéi ATTACH, DETACH, MAP an UNMAP iwwer de Virtio Transport geschéckt ginn ouni Erënnerungssäit Dëscher ze emuléieren.
    • Fir Intel CPUs, vun der Skylake Famill bis Coffee Lake, ass d'Benotzung vun Intel TSX (Transactional Synchronization Extensions), déi Tools ubidden fir d'Performance vu Multi-threaded Uwendungen ze verbesseren andeems onnéideg Synchroniséierungsoperatioune dynamesch eliminéiert ginn, par défaut deaktivéiert. Extensiounen sinn behënnert wéinst der Méiglechkeet vun Zombieload Attacken déi Informatiounsleckage iwwer Drëtt Partei Channels manipuléieren déi während der Operatioun vum TAA (TSX Asynchronous Abort) Mechanismus geschitt.
  • Netzwierk Subsystem
    • Integratioun an de Kär vun MPTCP (MultiPath TCP), eng Ausdehnung vum TCP Protokoll fir d'Organisatioun vun der Operatioun vun enger TCP Verbindung mat der Liwwerung vu Päck gläichzäiteg laanscht verschidde Strecken duerch verschidde Netzwierkschnëttplazen, déi mat verschiddene IP Adressen verbonne sinn. Déi nei Verëffentlechung füügt e Mechanismus derbäi fir Är eege Traffic Hash-Politik fir IPv4 an IPv6 (Multipath-Hash-Politik) ze setzen, wat et méiglech mécht aus dem Benotzerraum ze bestëmmen, wéi eng Felder a Pakete, inklusiv verschlësselte, benotzt ginn wann Dir den Hash berechent deen Wiel vum Wee fir de Paket.
    • Ënnerstëtzung fir SOCK_SEQPACKET Sockets (bestallt an zouverlässeg Iwwerdroung vun Datagrammen) gouf zum Virtio virtuellen Transport bäigefüügt.
    • D'Kapazitéite vum SO_REUSEPORT Socket Mechanismus goufen erweidert, wat et erlaabt e puer Nolauschterer Sockets un engem Hafen gläichzäiteg ze verbannen fir Verbindunge mat der Verdeelung vun erakommen Ufroe gläichzäiteg iwwer all Sockets ze kréien, déi iwwer SO_REUSEPORT verbonne sinn, wat d'Schafung vu Multi-threaded Server Uwendungen vereinfacht . Déi nei Versioun füügt Tools fir d'Iwwerdroung vun der Kontroll op eng aner Socket am Fall vun engem Echec bei der Veraarbechtung vun enger Ufro vun der ursprénglecher gewielter Socket (léist de Problem mam Verloscht vun eenzelne Verbindunge beim Restart vun de Servicer).
  • Ausrüstung
    • Den amdgpu Chauffer stellt Ënnerstëtzung fir déi nei AMD Radeon RX 6000 Serie vu GPUs, codenamed "Beige Goby" (Navi 24) a "Yellow Carp", wéi och verbessert Ënnerstëtzung fir d'Aldebaran GPU (gfx90a) a Van Gogh APU. D'Fäegkeet bäigefüügt fir gläichzäiteg mat verschiddene eDP Panelen ze schaffen. Fir APU Renoir ass Ënnerstëtzung fir mat verschlësselte Puffer am Video Memory (TMZ, Trusted Memory Zone) ëmgesat ze ginn. Zousätzlech Ënnerstëtzung fir Hot-Unplug Grafikkaarten. Fir Radeon RX 6000 (Navi 2x) GPUs an eeler AMD GPUs ass ASPM (Active State Power Management) Ënnerstëtzung als Standard aktivéiert, wat virdru nëmme fir Navi 1x, Vega a Polaris GPUs aktivéiert gouf.
    • Fir AMD Chips ass Ënnerstëtzung fir gedeelt virtuell Gedächtnis (SVM, gedeelt virtuell Gedächtnis) op Basis vum HMM (Heterogene Memory Gestioun) Subsystem bäigefüügt, wat d'Benotzung vun Apparater mat hiren eegene Gedächtnismanagement Eenheeten (MMU, Memory Management Eenheet) erlaabt. déi Zougang zu Haaptrei Erënnerung kann. Besonnesch, mat HMM, kënnt Dir e gemeinsame Adressraum tëscht der GPU an der CPU organiséieren, an deem d'GPU Zougang zum Haaptspeicher vum Prozess kritt.
    • Zousätzlech Ënnerstëtzung fir AMD Smart Shift Technologie bäigefüügt, déi dynamesch CPU- a GPU-Energie-Astellungen op Laptops mat engem AMD Chipsatz a Grafikkaart ännert fir d'Performance fir Gaming, Videoeditioun an 3D Rendering ze stäerken.
    • Den i915 Treiber fir Intel Grafikkaarten enthält Ënnerstëtzung fir Intel Alderlake P Chips.
    • Added drm / hyperv Driver fir Hyper-V virtuelle Graphikadapter.
    • Zousätzlech Ënnerstëtzung fir den Raspberry Pi 400 All-in-One Computer.
    • Derbäigesat Dell-wmi-Privatsphär Chauffer fir d'Hardware Kamera a Mikrofonschalter z'ënnerstëtzen, déi an Dell Laptops abegraff sinn.
    • Fir Lenovo Laptops ass e WMI Interface bäigefüügt fir d'BIOS Astellungen iwwer sysfs /sys/class/firmware-attributes/ z'änneren.
    • Erweidert Ënnerstëtzung fir Apparater mat USB4 Interface.
    • Zousätzlech Ënnerstëtzung fir AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 an Texas Instruments TAS2505 Tounkaarten a Codecs. Verbesserte Audio Support op HP an ASUS Laptops. Patches bäigefüügt fir Verzögerungen ze reduzéieren ier den Audio op USB-Geräter spillt.

Source: opennet.ru

Setzt e Commentaire