Mwepụta kernel Linux 5.2

Mgbe ọnwa abụọ nke mmepe gasịrị, Linus Torvalds webatara ntọhapụ kernel Linux 5.2. N'ime mgbanwe ndị a na-ahụ anya: Ext4 na-arụ ọrụ na-enweghị nsogbu, oku usoro dị iche iche maka ịkwanye sistemu faịlụ, ndị ọkwọ ụgbọ ala maka GPU Mali 4xx/6xx/7xx, ikike ijikwa mgbanwe na ụkpụrụ sysctl na mmemme BPF, ngwaọrụ-mapper. modul dm-uzuzu, nchedo megide MDS mbuso agha, nkwado maka Sound Open Firmware maka DSP, njikarịcha arụmọrụ BFQ, na-ebute usoro PSI (Pressure Stall Information) na ohere iji na gam akporo.

Ụdị ọhụrụ a gụnyere ndozi 15100 sitere na ndị nrụpụta 1882,
patch size - 62 MB (mgbanwe metụtara faịlụ 30889, agbakwunyere ahịrị 625094 nke koodu, ehichapụ 531864 ahịrị). Ihe dị ka 45% nke ihe niile ewepụtara na 5.2
mgbanwe metụtara ndị ọkwọ ụgbọala ngwaọrụ, ihe dịka 21% nke mgbanwe bụ
àgwà maka imelite koodu kpọmkwem maka ụlọ ọrụ ngwaike, 12%
metụtara nchịkọta netwọkụ, 3% na sistemụ faịlụ yana 3% n'ime
kernel subsystems. 12.4% nke mgbanwe niile kwadoro site na Intel, 6.3% site na Red Hat, 5.4% site na Google, 4.0% nke AMD, 3.1% nke SUSE, 3% nke IBM, 2.7% nke Huawei, 2.7% nke Linaro, 2.2% site na ARM , 1.6 % - Oracle.

Main ihe ọhụrụ:

  • Sistemụ Disk, I/O na Sistemụ Faịlụ
    • Etinyere maka Ext4 nkwado na-arụ ọrụ na-enweghị ịmata ọdịiche dị n'etiti mkpụrụedemede na aha faịlụ, nke a na-arụ ọrụ naanị n'ihe gbasara akwụkwọ ndekọ aha efu na-eji àgwà ọhụrụ "+ F" (EXT4_CASEFOLD_FL). Mgbe e debere njirimara a na ndekọ aha, a ga-arụ ọrụ niile nwere faịlụ na subdirectories n'ime n'ebughị n'uche okwu nke mkpụrụedemede, gụnyere ikpe a ga-eleghara anya mgbe ị na-achọ ma mepee faịlụ (dịka ọmụmaatụ, faịlụ Test.txt, test.txt na test.TXT na akwụkwọ ndekọ aha ndị dị otú ahụ ka a ga-ewere otu). Site na ndabara, usoro faịlụ na-aga n'ihu na-enwe mmetụta nke ikpe, ma e wezụga akwụkwọ ndekọ aha nwere àgwà "chattr + F";
    • Arụ ọrụ maka ịhazi mkpụrụedemede UTF-8 na aha faịlụ, nke a na-eji mgbe ị na-arụ ọrụ ntụnyere eriri na nhazi nhazi;
    • XFS na-agbakwụnye akụrụngwa maka nleba anya ahụike sistemu faịlụ yana ioctl ọhụrụ maka ịjụ ọkwa ahụike. Emejuputala atụmatụ nnwale iji lelee counter blocks n'ịntanetị.
    • Agbakwunyere modul ọhụrụ ngwaọrụ-mapper"dm-uzuzu", nke na-enye gị ohere ịmegharị ọdịdị nke ihe mgbochi ọjọọ na mgbasa ozi ma ọ bụ njehie mgbe ị na-agụ na diski. Modul ahụ na-enye gị ohere ime ka nbibi na nyocha nke ngwa na usoro nchekwa dị iche iche na-eche ihu ọdịda nwere ike ime;
    • Rụrụ Nkwalite arụmọrụ dị mkpa maka onye nhazi BFQ I/O. N'ọnọdụ nke ibu I/O dị elu, a na-emeziwanye ihe kwere Belata oge ọrụ dịka ịmalite ngwa site na 80%.
    • Oku sistemu agbakwunyere maka sistemụ faịlụ ịrịgo: fsopen (), open_osisi (), fspick(), fsmount(), fsconfig () и move_mount(). Oku usoro ndị a na-enye gị ohere ịhazi ọkwa dị iche iche nke ịrịgo (hazie superblock ahụ, nweta ozi gbasara sistemụ faịlụ, ugwu, tinye na ebe ugwu), nke emere na mbụ site na iji usoro oku akpọrọ () nkịtị. Oku dị iche iche na-enye ikike ịme ihe ngosi ugwu dị mgbagwoju anya ma rụọ ọrụ dị iche iche dị ka ịhazigharị nnukwu ngọngọ, na-enye nhọrọ, ịgbanwe ebe ugwu, na ịkwaga na oghere aha dị iche. Tụkwasị na nke ahụ, nhazi dị iche iche na-enye gị ohere ikpebi nke ọma ihe kpatara mmepụta nke koodu njehie na ịtọ ọtụtụ isi mmalite maka usoro faịlụ multi-layer, dị ka overlayfs;
    • Agbakwunyela ọrụ ọhụrụ IORING_OP_SYNC_FILE_RANGE na interface maka asynchronous I/O io_uring, nke na-eme omume dabara na oku sistemụ. sync_file_oke(), ma mejuputa ikike ịdebanye aha eventfd na io_uring wee nweta ọkwa gbasara mmecha ọrụ;
    • Maka sistemụ faịlụ CIFS, agbakwunyere FIEMAP ioctl, na-enye eserese ngosi nke ọma, yana nkwado maka ụdị SEEK_DATA na SEEK_HOLE;
    • Na FUSE subsystem tụrụ aro API maka ijikwa caching data;
    • Btrfs ebulila mmejuputa qgroups yana imeziwanye ọsọ mmebe fsync maka faịlụ nwere ọtụtụ njikọ siri ike. The data iguzosi ike n'ezi ego koodu ka emeziwanye, nke ugbu a na-eburu n'uche na enwere ike imebi ozi na RAM tupu ịkwanye data na diski;
    • CEPH gbakwunyere nkwado maka mbupụ snapshots site na NFS;
    • Emeziwanye mmejuputa NFSv4 na-arị elu na ọnọdụ "dị nro" (ọ bụrụ na njehie na-eme na ịnweta ihe nkesa na ọnọdụ "dị nro", oku na-eweghachite koodu njehie ozugbo, yana na njikwa ọnọdụ "siri ike" adịghị enye ruo mgbe FS. eweghachite ịdị adị ma ọ bụ oge agwụ agwụ). Ntọhapụ ọhụrụ ahụ na-enye njikwa oge nkwụsị nke ọma karị, mgbake ngwa ngwa ngwa ngwa, yana nhọrọ ugwu "softerr" ọhụrụ nke na-enye gị ohere ịgbanwe koodu njehie (ETIMEDOUT) laghachiri mgbe oge kwụsịrị;
    • API nfsdcld, nke e mere iji soro ọnọdụ ndị ahịa NFS, na-enye ohere ka sava NFS soro ọnọdụ onye ahịa ahụ nke ọma ma malitegharịa. Ya mere, nfsdcld daemon nwere ike ime ugbu a dị ka onye nfsdcltrack njikwa;
    • Maka AFS agbakwunyere iṅomi nke mkpọchi oke byte na faịlụ (Mkpọchi nke oke Byte);
  • Virtualization na Nchekwa
    • Emeela ọrụ iji kpochapụ ebe dị na kernel nke na-enye ohere igbu koodu site na ebe nchekwa a na-egosipụta, nke na-enye ohere igbochi oghere ndị nwere ike iji mee ihe n'oge agha;
    • Agbakwunyere paramita ahịrị iwu kernel ọhụrụ "mitigations=", na-enye ụzọ dị mfe iji jikwaa ikike nke usoro ụfọdụ iji kpuchido adịghị ike metụtara mmezu nke ntuziaka na CPU. Ịgafe "mitigations=off" na-ewepụ ụzọ niile dị, na ọnọdụ ndabara "mitigations=auto" na-enye nchebe ma ọ dịghị emetụta iji Hyper Threading. Ụdị “mitigations=auto,nosmt” na-ewepụkwa Hyper Threading ma ọ bụrụ na usoro nchedo chọrọ.
    • agbakwunyere nkwado maka mbinye aka dijitalụ eletrọnịkị dị ka GOST R 34.10-2012 (RFC 7091, ISO/IEC 14888-3), mepụtara Vitaly Chikunov sitere na Basalt SPO. Nkwado agbakwunyere maka AES128-CCM na mmejuputa TLS nke ala. agbakwunyere nkwado maka AEAD algọridim na modul crypto_simd;
    • Na Kconfig agbakwunyere ngalaba “kernel hardening” dị iche nwere nhọrọ iji kwalite nchekwa kernel. Ugbu a, ngalaba ọhụrụ ahụ nwere naanị ntọala maka ime ka ngwa mgbakwunye na-akwalite nlele GCC;
    • Koodu kernel fọrọ nke nta ka ọ bụrụ nyefere site na okwu ikpe na-adịghị emebi emebi na mgba ọkụ (na-enweghị nloghachi ma ọ bụ mebie mgbe ọ bụla ngọngọ ikpe). Ọ na-anọgide na-edozi 32 n'ime ikpe 2311 nke iji mgbanwe dị otú ahụ, mgbe nke ahụ gasịrị, ọ ga-ekwe omume iji ọnọdụ "-Wimplicit-fallthrough" mgbe ị na-ewu kernel;
    • Maka ụlọ ọrụ PowerPC, nkwado maka usoro ngwaike maka igbochi ụzọ ịnweta kernel na-achọghị na data na oghere onye ọrụ emejuputala;
    • Koodu mgbochi agbakwunyere ọgụ Klas MDS (Microarchitectural Data Sampling) na ndị nrụpụta Intel. Ị nwere ike ịlele ma usoro ọ dị mfe na adịghị ike site na SysFS variable "/ sys/devices/system/cpu/vulnerabilities/mds". Dị ụzọ nchebe abụọ: zuru ezu, nke chọrọ microcode emelitere, na ngafe, nke na-adịghị ekwe nkwa ikpochapụ ihe nchekwa CPU mgbe ejiri njikwa na oghere onye ọrụ ma ọ bụ usoro ndị ọbịa. Iji chịkwaa ụdịdị nchebe, agbakwunyere “mds =" paramita na kernel, nke nwere ike iwere ụkpụrụ "zuru", "full,nosmt" (+ gbanyụọ Hyper-strings) na "gbanyụọ";
    • Na sistemu x86-64, agbakwunyere nchekwa “stack guard-page” maka IRQ, usoro nrụzigharị na ndị na-ahụ maka enweghị ya, ihe bụ isi ya bụ ngbanwe nke ibe ebe nchekwa na oke ya na ngwugwu, ịnweta nke na-eduga n'ọgbọ nke ihe. ewepu (mmejọ ibe-mmejọ);
    • Agbakwunyere sysctl ntọala vm.unprivileged_userfaultfd, nke na-achịkwa ikike nke usoro enweghị ohere iji jiri usoro userfaultfd() oku;
  • Sistemụ netwọkụ
    • agbakwunyere Nkwado ọnụ ụzọ ámá IPv6 maka ụzọ IPv4. Ọmụmaatụ, ị nwere ike ugbu a ezipụta routing iwu dị ka "ip ro tinye 172.16.1.0/24 via inet6 2001: db8:: 1 dev eth0";
    • Maka ICMPv6, ioctl na-akpọ icmp_echo_ignore_anycast na icmp_echo_ignore_multicast ka etinyere iji leghara ICMP ECHO anya maka ihe nkedo ọ bụla na
      multicast adreesị. agbakwunyere ikike igbochi ike nke nhazi ngwugwu ICMPv6;

    • N'ihi na BATMAN (Better Approach To Mobile Adhoc Networking) ntupu protocol, nke na-enye ohere e kere eke netwọk decentralized nke ọ bụla ọnụ na-ejikọta site na agbata obi ọnụ, agbakwunyere nkwado maka mgbasa ozi site na multicast gaa na unicast, yana ikike ijikwa site na sysfs;
    • Na ethtool gbakwunyere ihe ọhụrụ Njikọ Njikọ Down paramita, nke na-enye gị ohere ibelata oge ọ na-ewe iji nweta ozi gbasara ihe omume njikọ maka 1000BaseT (n'okpuru ọnọdụ nkịtị, igbu oge ruru 750ms);
    • pụtara ohere na-ejikọta ọwara Foo-Over-UDP na adreesị a kapịrị ọnụ, interface netwọk ma ọ bụ oghere (nke a na-ejikọta na mbụ bụ nanị site na ihe nkpuchi nkịtị);
    • N'ime ngwugwu ikuku enyere ohere nke mejuputa njikwa
      OWE (Opportunistic Wireless Encryption) na ohere onye ọrụ;

    • Na Netfilter, agbakwunyere nkwado maka ezinụlọ adreesị inet na agbụ nat (dịka ọmụmaatụ, ị nwere ike iji otu iwu ntụgharị iji hazie ipv4 na ipv6, na-enweghị ikewapụ iwu maka ipv4 na ipv6);
    • Na netlink gbakwunyere mode siri ike maka nkwenye siri ike nke izi ezi nke ozi na njirimara niile, nke a na-agaghị ekwe ka ịfefe nha nke njirimara na mgbakwunye nke data ndị ọzọ na njedebe nke ozi amachibidoro;
  • Ebe nchekwa na ọrụ sistemụ
    • Agbakwunyela ọkọlọtọ CLONE_PIDF na oku sistemụ clone(), mgbe akọwapụtara ya, a na-eweghachite onye na-akọwa faịlụ "pidfd" na usoro ụmụaka emepụtara na usoro nne na nna. Enwere ike iji onye na-akọwa faịlụ a, dịka ọmụmaatụ, iji zipu mgbaàmà na-enweghị egwu ịgba ọsọ n'ime ọnọdụ agbụrụ (ozugbo mgbe ezipụchara mgbaàmà ahụ, PID nwere ike ịtọhapụ ya n'ihi nkwụsị nhazi na usoro ọzọ);
    • Maka ụdị nke abụọ nke otu, agbakwunyere ọrụ njikwa friza, nke ị nwere ike ịkwụsị ọrụ na otu ma wepụta ụfọdụ akụrụngwa (CPU, I/O, na enwere ike ọbụna ebe nchekwa) iji rụọ ọrụ ndị ọzọ. A na-eme njikwa site na faịlụ njikwa cgroup.freeze na cgroup.events na osisi cgroup. Ntinye 1 na cgroup.freeze na-eme ka usoro dị n'ime otu dị ugbu a na otu ụmụaka niile. Ebe ọ bụ na oyi na-ewe oge, a na-enye faịlụ cgroup.events ọzọ nke ị nwere ike ịchọpụta banyere mmecha nke ọrụ ahụ;
    • Echekwara mbupụ nke njirimara ebe nchekwa agbakwunyere na ọnụ ọ bụla na sysfs, nke na-enye gị ohere ikpebi site na oghere onye ọrụ ụdị nhazi ebe nchekwa nchekwa na sistemụ nwere ebe nchekwa dị iche iche;
    • E meziwanyela sistemu PSI (Pressure Stall Information), nke na-enye gị ohere inyocha ozi gbasara oge echere maka ịnata akụrụngwa dị iche iche (CPU, ebe nchekwa, I/O) maka ụfọdụ ọrụ ma ọ bụ usoro nhazi na otu. N'iji PSI, ndị na-ahụ maka oghere onye ọrụ nwere ike ịtụle nke ọma ọkwa nke ibu sistemu yana usoro mbelata nke ukwuu ma e jiri ya tụnyere Nkezi Ibu. Ụdị ọhụrụ a na-enye nkwado maka ịtọba ọnụ ụzọ uche yana ike iji oku ntuli aka() nweta ọkwa na ewelitela ọnụ ụzọ agbagoro ruo oge ụfọdụ. Njirimara a na-enye Android ohere inyocha ụkọ ebe nchekwa n'oge mmalite, chọpụta ebe nsogbu na-akwụsị ma kwụsị ngwa ndị na-adịghị mkpa na-enweghị nsogbu ndị a na-ahụ anya na onye ọrụ. Mgbe ule nrụgide, ngwaọrụ nlekota oriri ebe nchekwa nke PSI gosipụtara ugboro 10 ntakịrị ihe adịgboroja ma e jiri ya tụnyere vmpressure statistics;
    • Edozila koodu maka ịlele mmemme BPF, nke na-enye ohere ịlele ihe ruru ugboro 20 ngwa ngwa maka mmemme buru ibu. Nkwalite mere ka o kwe omume ibuli oke na nha nke mmemme BPF site na 4096 ruo ntuziaka nde;
    • Maka mmemme BPF enyere ikike ịnweta data zuru ụwa ọnụ, nke na-enye gị ohere ịkọwapụta mgbanwe ụwa na nkwụsịtụ na mmemme;
    • agbakwunyere API, nke na-enye gị ohere ijikwa mgbanwe na sysctl parameters site na mmemme BPF;
    • Maka ihe owuwu MIPS32, emejuputala ihe nchikota JIT maka igwe mebere eBPF;
    • Maka 32-bit PowerPC architecture, agbakwunyere nkwado maka KASan (Kernel address sanitizer) ngwá ọrụ debugging, nke na-enyere aka ịchọpụta njehie mgbe ị na-arụ ọrụ na ebe nchekwa;
    • Na sistemu x86-64, ewepụla mmachi na ịdoba mkpofu steeti n'oge mkpọka kernel (crash-dump) na ebe nchekwa n'elu 896MB;
    • Maka s390 architecture, nkwado maka kernel address space randomization (KASLR) na ikike iji nyochaa mbinye aka dijitalụ mgbe ị na-ebunye kernel site na kexec_file_load() na-emejuputa atumatu;
    • Maka ụkpụrụ ụlọ PA-RISC, nkwado agbakwunyere maka kernel debugger (KGDB), akara mwụda na kprobes;
  • Ngwa
    • Ọkwọ ụgbọala gụnyere Lima maka Mali 400/450 GPU, eji n'ọtụtụ agba ochie dabere na nhazi ARM. Maka GPU ọhụrụ nke Mali, agbakwunyere onye ọkwọ ụgbọ ala Panfrost, na-akwado ibe ndị dabeere na Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) na Bifrost (Mali G3x, G5x, G7x) microarchitectures;
    • Nkwado agbakwunyere maka ngwaọrụ ọdịyo site na iji famụwe mepere emepe Open Open femụwe (NT.). N'agbanyeghị na enwere ndị ọkwọ ụgbọala mepere emepe, koodu firmware maka ibe ụda ka ka na-emechi emechi ma wetara ya n'ụdị ọnụọgụ abụọ. Intel mepụtara mmemme Open Open Firmware ahụ iji mepụta ngwa ngwa mepere emepe maka ibe DSP metụtara nhazi ọdịyo (Google mechara sonye na mmepe ahụ). Ugbu a, oru ngo a kwadebere nchoputa nke firmware maka ụda ibe nke Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake na IceLake nyiwe;
    • Onye ọkwọ ụgbọ ala Intel DRM (i915) na-agbakwunye nkwado maka ibe
      Elkhartlake (Gen11). NJ PCI agbakwunyere maka ibe Comet Lake (Gen9). Edozila nkwado maka ibe Icelake, nke agbakwunyekwara ihe nchọpụta ngwaọrụ PCI ndị ọzọ.
      Agbanwuru
      ụdị mgbanwe asynchronous n'etiti ihe nchekwa abụọ na ebe nchekwa vidiyo (async flip) mgbe ị na-arụ ọrụ ide site na mmio, nke mụbara arụmọrụ nke ụfọdụ ngwa 3D (dịka ọmụmaatụ, arụmọrụ na ule 3DMark Ice Storm mụbara site na 300-400%). Nkwado teknụzụ agbakwunyere HDCP2.2 (Nchedo ọdịnaya dijitalụ dị elu) maka izochi akara ngosi vidiyo na-ebufe site na HDMI;

    • Onye ọkwọ ụgbọ ala amdgpu maka Vega20 GPU agbakwunyere nkwado maka RAS (Ntụkwasị Obi, Nnweta, Ọrụ) na nkwado nnwale maka SMU 11 subsystem, nke dochie teknụzụ Powerplay. Maka GPU Vega12 agbakwunyere nkwado maka ọnọdụ BACO (Bus Active, Chip Off). Nkwado mbụ agbakwunyere maka XGMI, ụgbọ ala na-agba ọsọ (PCIe 4.0) maka njikọ GPU. agbakwunyere ihe nchọpụta efu maka kaadị dabere na Polaris10 GPU na ọkwọ ụgbọala amdkfd;
    • Onye ọkwọ ụgbọ ala Nouveau agbakwunyela nkwado maka bọọdụ dabere na NVIDIA Turing 117 chipset (TU117, ejiri na GeForce GTX 1650). N'ime
      kconfig agbakwunyere ntọala iji gbanyụọ ọrụ adịkwaghị adị nke anaghịzi eji na mwepụta libdrm ugbu a;

    • Agbakwunyela nkwado maka ihe mmekọrịta “usoro iheomume” na DRM API na onye ọkwọ ụgbọ ala amdgpu, na-enye gị ohere ime na-enweghị mgbochi kpochapụ.
    • Onye ọkwọ ụgbọ ala vboxvideo maka VirtualBox mebere GPU esiwo na ngalaba nhazi gaa na nhazi isi;
    • Onye ọkwọ ụgbọ ala agbakwunyere maka mgbawa GFX SoC ASPEED;
    • Nkwado agbakwunyere maka ARM SoC na Intel Agilex (SoCFPGA), NXP i.MX8MM, Allwinner (RerVision H3-DVK (H3), Oceanic 5205 5inMFD, , Beelink GS2 (H6), Orange Pi 3 (H6)), Rockchip (Orange Pi). ) mbadamba 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).

N'otu oge ahụ, Latin American Free Software Foundation kpụrụ
nhọrọ kernel n'efu kpamkpam 5.2 - Linux-liber 5.2-gnu, kpochapụrụ nke ngwa ngwa na ihe ọkwọ ụgbọ ala nwere ihe ndị na-abụghị nke efu ma ọ bụ ngalaba koodu, nke ndị nrụpụta na-ejedebere oke ya. Mwepụta ọhụrụ gụnyere ibugo faịlụ
Ụda Mepee Firmware. Agbanyụrụ ibu nke blobs na ndị ọkwọ ụgbọala
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp na ucsi_ccg. A na-emelite koodu nhicha blob dị na ixp4xx, imx-sdma, amdgpu, nouveau na goya ọkwọ ụgbọ ala na sistemụ subsystem, yana na akwụkwọ microcode. Kwụsị ihicha blobs na ọkwọ ụgbọ ala r8822be n'ihi mwepụ ya.

isi: opennet.ru

Tinye a comment