Hoʻokuʻu ʻo Linux kernel 5.8

Ma hope o ʻelua mahina o ka hoʻomohala ʻana, ʻo Linus Torvalds hoopuka hoʻokuʻu kernel Linux 5.8. Ma waena o nā hoʻololi kaulana loa: kahi mea ʻike kūlana lāhui KCSAN, kahi mīkini ākea no ka hāʻawi ʻana i nā leka hoʻomaopopo i ka wahi hoʻohana, kākoʻo ʻenehana no ka inline encryption, hoʻomaikaʻi i nā mīkini palekana no ARM64, kākoʻo no ka mea hoʻolalelale Rusia Baikal-T1, hiki ke hoʻokaʻawale i nā manawa procfs. , ka hoʻokō ʻana i nā mīkini palekana Shadow no ARM64 Call Stack a me BTI.

Ua lilo ʻo Kernel 5.8 i mea nui loa ma ke ʻano o ka nui o nā hoʻololi o nā kernels āpau i ka wā holoʻokoʻa o ka papahana. Eia kekahi, ʻaʻole pili nā hoʻololi i kekahi subsystem, akā uhi i nā ʻāpana like ʻole o ka kernel a pili nui i ka hana hou a me ka hoʻomaʻemaʻe. ʻIke ʻia nā hoʻololi nui i nā mea hoʻokele. ʻO ka mana hou he 17606 hoʻoponopono mai nā mea hoʻomohala 2081, kahi i hoʻopili ʻia ma kahi o 20% o nā faila āpau i ka waihona kernel code. ʻO 65 MB ka nui o ka pā (nā hoʻololi i pili i nā faila 16180, 1043240 laina o ke code i hoʻohui ʻia, 489854 laina i holoi ʻia). Ma ka hoʻohālikelike ʻana, ua loaʻa i ka lālā 5.7 he 15033 hoʻoponopono a me ka nui patch o 39 MB. Ma kahi o 37% o nā hoʻololi a pau i hoʻokomo ʻia ma 5.8 e pili ana i nā mea hoʻokele polokalamu, ma kahi o 16% o nā hoʻololi e pili ana i ka hoʻonui ʻana i nā code kikoʻī i nā hale hana hardware, 11% pili i ka waihona pūnaewele, 3% pili i nā ʻōnaehana faila, a me 4% pili i nā subsystem kernel kūloko.

ka papa kuhikuhiE nā mea hou:

  • Virtualization a me ka palekana
    • ʻO ka hoʻouka ʻana i nā modula kernel i loaʻa nā ʻāpana me ke code kahi i hoʻonohonoho ʻia ai nā bits e ʻae ai i ka hoʻokō a me ke kākau ʻana. Ua hoʻokō ʻia ka hoʻololi ma ke ʻano he papahana nui e hoʻopau i ka kernel o ka hoʻohana ʻana i nā ʻaoʻao hoʻomanaʻo e ʻae ai i ka hoʻokō like ʻana a me ke kākau ʻana.
    • Hiki i kēia manawa ke hana i nā manawa procfs kaʻawale, e ʻae i ka hoʻohana ʻana i nā helu mauna procfs he nui, i kau ʻia me nā koho like ʻole, akā e noʻonoʻo ana i ka papa inoa inoa inoa like (pid namespace). Ma mua, ua hoʻohālikelike ʻia nā wahi mauna procfs a pau i hoʻokahi hōʻike kūloko, a ua pili kekahi hoʻololi i nā ʻāpana mauna i nā wahi mauna ʻē aʻe e pili ana i ke kaʻina like ID namespace. Ma waena o nā wahi e kau ʻia ai me nā koho like ʻole ke koi ʻia ka hoʻokō ʻana i ka hoʻokaʻawale māmā no nā ʻōnaehana i hoʻopili ʻia me ka hiki ke hūnā i kekahi ʻano o nā kaʻina hana a me nā nodes ʻike i nā procfs.
    • Ua hoʻokō ʻia ke kākoʻo no ka mīkini no ka platform ARM64
      Kahua-Kahea Hoahu, Hāʻawi ʻia e ka Clang compiler e pale aku i ke kākau ʻana i ka helu hoʻihoʻi o kahi hana i ka wā e hoʻohāinu ʻia ai ka puʻu. ʻO ke kumu o ka pale ʻana, ʻo ia ka mālama ʻana i ka helu hoʻihoʻi ma kahi ʻāpana "aka" ʻokoʻa ma hope o ka hoʻololi ʻana i ka mana i kahi hana a kiʻi hou i kēia helu ma mua o ka haʻalele ʻana i ka hana.

    • Ua hoʻohui ʻia ke kākoʻo aʻo no ka paepae ARM64 ARMv8.5-BTI (Branch Target Indicator) no ka pale ʻana i ka hoʻokō ʻana i nā pūʻulu ʻōlelo aʻoaʻo ʻaʻole pono e hoʻopili ʻia. Hoʻokō ʻia ka pale ʻana i ka hoʻololi ʻana i nā ʻāpana ʻokoʻa o ke code e pale i ka hana ʻana i nā hāmeʻa i ka hoʻohana ʻana i nā ʻenehana hoʻonohonoho hoʻihoʻi (ROP - Return-Oriented Programming; ʻaʻole hoʻāʻo ka mea hoʻouka e kau i kāna code i ka hoʻomanaʻo, akā e hana ana ma nā ʻāpana i loaʻa. o nā ʻōlelo aʻoaʻo mīkini i hoʻopau ʻia me kahi ʻōlelo aʻoaʻo hoʻihoʻi, kahi i kūkulu ʻia ai kahi kaulahao kelepona e loaʻa ai ka hana i makemake ʻia).
    • Hoʻohui ʻia ke kākoʻo ʻenehana no ka hoʻopili ʻana i ka laina o nā mea poloka (Hoʻopaʻa laina). Hoʻokomo pinepine ʻia nā mea hoʻopunipuni Inlinep i loko o ka drive, akā aia ma waena o ka hoʻomanaʻo ʻana o ka ʻōnaehana a me ka disk, ka hoʻopili ʻana a me ka wehe ʻana i ka I/O e pili ana i nā kī kī i kuhikuhi ʻia a me kahi algorithm encryption.
    • Hoʻohui i ka "initrdmem" kernel kauoha laina koho e ʻae iā ʻoe e kuhikuhi i ka helu hoʻomanaʻo kino o ka initrd ke kau ʻana i ke kiʻi boot mua i RAM.
    • Hoʻohui ʻia ka mana hou: CAP_PERFMON e komo i ka subsystem perf a hana i ka nānā ʻana i ka hana. CAP_BPF, ka mea e hiki ai i kekahi mau hana BPF (e like me ka hoʻouka ʻana i nā polokalamu BPF) i koi mua i nā kuleana CAP_SYS_ADMIN (Ua hoʻokaʻawale ʻia nā kuleana CAP_SYS_ADMIN i hui pū ʻia o CAP_BPF, CAP_PERFMON, a me CAP_NET_ADMIN).
    • Hoʻohui ʻia he polokalamu virtio-mem hou e hiki ai iā ʻoe ke hoʻopaʻa i ka hoʻomanaʻo hoʻomanaʻo wela i loko o nā ʻōnaehana malihini.
    • Hoʻokomo ʻia ka hoʻomanaʻo ʻana i nā hana palapala ʻāina ma / dev/mem inā hoʻohana ka mea hoʻokele i nā wahi hoʻomanaʻo ʻāwili.
    • Hoʻohui ʻia ka pale nawaliwali CROSSTalk/SRBDS, ka mea e hiki ai iā ʻoe ke hoʻihoʻi i nā hopena o kekahi mau ʻōlelo aʻo i hoʻokō ʻia ma kekahi kumu CPU.
  • Nā lawelawe hoʻomanaʻo a me nā ʻōnaehana
    • Ma ka palapala e wehewehe ana i nā lula no ka hoʻopololei ʻana i ke code, ʻae ʻia nā ʻōlelo aʻoaʻo no ka hoʻohana ʻana i nā huaʻōlelo inclusive. ʻAʻole ʻōlelo ʻia nā mea hoʻomohala e hoʻohana i nā hui 'master / slave' a me 'blacklist / whitelist', a me ka huaʻōlelo 'slave' kaʻawale. Pili nā ʻōlelo paipai i ka hoʻohana hou ʻana i kēia mau huaʻōlelo. ʻAʻole e hoʻopā ʻia nā ʻōlelo o nā huaʻōlelo i ʻōlelo ʻia i loko o ke kumu. Ma ke code hou, ua ʻae ʻia ka hoʻohana ʻana i nā huaʻōlelo i kaha ʻia inā koi ʻia e kākoʻo i ka API a me ka ABI i hōʻike ʻia i loko o ka mea hoʻohana, a me ka wā e hoʻonui ai i ke code e kākoʻo i ka lako a i ʻole nā ​​protocols nona nā kikoʻī e koi ai i ka hoʻohana ʻana i kekahi mau huaʻōlelo.
    • Hoʻokomo ʻia ka mea hana debugging KCSAN (Kernel Concurrency Sanitizer), i hoʻolālā ʻia no ka ʻike ikaika kūlana lāhui i loko o ke kumu. Kākoʻo ʻia ka hoʻohana ʻana o KCSAN i ke kūkulu ʻana i GCC a me Clang, a koi i nā hoʻololi kūikawā i ka manawa hoʻohui e nānā i ka hiki ke hoʻomanaʻo (hoʻohana ʻia nā breakpoints i hoʻomaka ʻia ke heluhelu ʻia a hoʻololi ʻia ka hoʻomanaʻo). ʻO ka manaʻo o ka hoʻomohala ʻana o KCSAN ma ka pale ʻana i ka maikaʻi ʻole, ka scalability, a me ka maʻalahi o ka hoʻohana.
    • Hoʻohui ʻia ʻenehana honua ka hāʻawi ʻana i nā leka hoʻomaopopo mai ka kernel i ka wahi hoʻohana. Hoʻokumu ʻia ka mīkini ma luna o ka mea hoʻokele paipu maʻamau a hiki iā ʻoe ke hāʻawi maikaʻi i nā leka hoʻomaopopo mai ka kernel ma luna o nā kahawai i wehe ʻia ma kahi o ka mea hoʻohana. ʻO nā wahi e loaʻa ai ka leka hoʻomaopopo he paipu i wehe ʻia ma kahi ʻano kūikawā a ʻae i nā memo i loaʻa mai ka kernel e hōʻiliʻili ʻia i loko o kahi pahu pahu. Hana ʻia ka heluhelu ʻana e ka hana heluhelu maʻamau (). Hoʻoholo ka mea nona ke kahawai i nā kumu i loko o ka kernel e pono ke nānā ʻia a hiki ke wehewehe i kahi kānana e haʻalele i kekahi mau ʻano memo a me nā hanana. ʻO nā hanana, ʻo nā hana me nā kī wale nō ke kākoʻo ʻia i kēia manawa, e like me ka hoʻohui / wehe ʻana i nā kī a hoʻololi i ko lākou mau ʻano. Hoʻolālā ʻia kēia mau hanana e hoʻohana ʻia ma GNOME.
    • Hoʻomau ka hoʻomohala ʻana i ka hana 'pidfd' e kōkua i ka mālama ʻana i nā kūlana hoʻohana hou PID (pili ʻia ka pidfd me kahi kaʻina kikoʻī a ʻaʻole loli, ʻoiai hiki ke hoʻopili ʻia kahi PID me kahi kaʻina hana ʻē aʻe ma hope o ka pau ʻana o ke kaʻina hana e pili ana me kēlā PID). Hoʻohui ka mana hou i ke kākoʻo no ka hoʻohana ʻana i ka pidfd e hoʻopili i kahi kaʻina hana i nā namespaces (e ʻae ana i ka pidfd e kuhikuhi ʻia i ka wā e hoʻokō ai i ke kelepona ʻōnaehana setns). ʻO ka hoʻohana ʻana i ka pidfd hiki iā ʻoe ke hoʻomalu i ka hoʻopili ʻana o kahi kaʻina hana i nā ʻano inoa inoa me hoʻokahi kelepona, e hōʻemi nui i ka helu o nā kelepona ʻōnaehana pono a me ka hoʻokō ʻana i ka hoʻopili ʻana i ke ʻano atomic (inā hāʻule ka hoʻopili ʻana i kekahi o nā inoa inoa, ʻaʻole e pili nā mea ʻē aʻe) .
    • Hoʻohui ʻia kahi kelepona ʻōnaehana hou faccessat2 (), ʻokoʻa mai
      faccessat() he hoʻopaʻapaʻa hou me nā hae e pili ana i nā ʻōlelo aʻoaʻo POSIX (ua hoʻohālikelike ʻia kēia mau hae ma ka waihona C, a ʻo ka faccessat2 hou e ʻae iā lākou e hoʻokō ʻia i loko o ka kernel).

    • Ma Cgroup hoʻohui ʻia kahi hoʻonohonoho hoʻomanaʻo.swap.high hiki ke hoʻohana ʻia e hoʻolohi i nā hana e lawe nui ana i ka nui o ka swap.
    • I ke kikowaena I/O asynchronous io_uring kākoʻo hoʻohui ʻia no ke kelepona ʻōnaehana tee().
    • Hoʻohui ʻia ka mīkini "BPF mea hoʻololi, i hoʻolālā ʻia e hoʻopuka i nā ʻike o nā hale kernel i kahi mea hoʻohana.
    • Hāʻawi ʻia ka hiki ke hoʻohana i ke apo apo no ka hoʻololi ʻikepili ma waena o nā polokalamu BPF.
    • I loko o ka mīkini padata, i hoʻolālā ʻia e hoʻonohonoho i ka hoʻokō like ʻana o nā hana i loko o ka kernel, hoʻohui i ke kākoʻo no nā hana multi-threaded me ke kaupaona ʻana.
    • Ma ka mīkini pstore, hiki iā ʻoe ke mālama i ka ʻike debugging e pili ana i ke kumu o ka hāʻule ʻana i nā wahi hoʻomanaʻo i nalowale ʻole ma waena o nā reboots, hoʻohui ʻia hope no ka mālama ʻana i ka ʻike e ālai i nā mea hana.
    • Mai ka lālā kernel PREEMPT_RT neʻe ka hoʻokō ʻana i nā laka kūloko.
    • Hoʻohui ʻia API hoʻokaʻawale hou (AF_XDP), i manaʻo e hoʻomaʻamaʻa i ke kākau ʻana o nā mea hoʻokele pūnaewele me ke kākoʻo XDP (eXpress Data Path).
    • No ka hoʻolālā RISC-V, ua hoʻokō ʻia ke kākoʻo no ka hoʻopau ʻana i nā ʻāpana kernel me KGDB.
    • Ma mua o ka hoʻokuʻu ʻana i ka 4.8, ua hoʻonui ʻia nā koi no ka mana o ka GCC hiki ke hoʻohana ʻia e kūkulu i ka kernel. Ma kekahi o nā hoʻokuʻu hou e hoʻolālā ʻia e hoʻokiʻekiʻe i ka pahu i GCC 4.9.
  • Subsystem disk, I/O a me nā ʻōnaehana waihona
    • I loko o ka polokalamu kelepona hoʻohui ʻia dm-ebs hou (emulate block size) handler, hiki ke hoʻohana ʻia e hoʻohālike i ka nui logical block liʻiliʻi (no ka laʻana, e hoʻohālike i nā ʻāpana 512-byte ma nā disks āpana-nui).
    • Kākoʻo ka ʻōnaehana faila F2FS i ka hoʻoemi ʻana me ka LZO-RLE algorithm.
    • Ma ka dm-crypt hoʻohui ʻia kākoʻo no nā kī i hoʻopili ʻia.
    • Ua hoʻomaikaʻi ʻo Btrfs i ka lawelawe ʻana i nā hana heluhelu ma ke ʻano I/O pololei. Ke kau ana hoʻokē ʻia ke nānā ʻana i nā ʻāpana a me nā papa kuhikuhi i waiho ʻia me ka ʻole o ka makua.
    • Ua hoʻohui ʻia kahi ʻāpana "nodelete" i ka CIFS, e ʻae ana i nā loiloi ʻae maʻamau ma ke kikowaena, akā pāpā i ka mea kūʻai mai ka holoi ʻana i nā faila a i ʻole nā ​​​​papa kuhikuhi.
    • Ua hoʻomaikaʻi ʻo Ext4 i ka mālama hewa ENOSPC i ka hoʻohana ʻana i ka multithreading. Ua hoʻohui ʻo xattr i ke kākoʻo no ka gnu.* namespace i hoʻohana ʻia ma GNU Hurd.
    • No Ext4 a me XFS, hiki ke kākoʻo i nā hana DAX (ke komo pololei i ka ʻōnaehana faila, ke kāʻalo ʻana i ka cache ʻaoʻao me ka ʻole o ka hoʻohana ʻana i ka pae o ka mea poloka) e pili ana i nā faila a me nā papa kuhikuhi.
    • Ma ka ʻōnaehana kelepona statx() hoʻohui ʻia ka hae STATX_ATTR_DAX, ka mea i kuhikuhi ʻia, e kiʻi i ka ʻike me ka hoʻohana ʻana i ka mīkini DAX.
    • EXFAT hoʻohui ʻia kākoʻo no ka hōʻoia ʻana o ka wahi boot.
    • I ka FAT hoʻomaikaʻi ka hoʻouka ʻana o nā mea FS. Hōʻike ka hoʻāʻo ʻana i kahi drive USB 2TB lohi i ka hōʻemi ʻana i ka manawa hoʻokō hoʻāʻo mai 383 a 51 kekona.
  • Pūnaehana pūnaewele
    • I ke code no ka mālama ʻana i ka hana o nā alahaka pūnaewele hoʻohui ʻia kākoʻo protocol MRP (Media Redundancy Protocol), ka mea e hiki ai ke hoʻomanawanui i ka hewa ma ka hoʻololi ʻana i nā hoʻololi Ethernet he nui.
    • I ka ʻōnaehana kaʻa kaʻa (Tc) hoʻohui ʻia "puka" hana hou, kahi e hiki ai ke wehewehe i nā manawa manawa no ka hana ʻana a me ka hoʻolei ʻana i kekahi mau ʻeke.
    • Ua hoʻohui ʻia ke kākoʻo no ka hoʻāʻo ʻana i ke kaula pūnaewele pili a me ka ʻike ponoʻī o nā polokalamu pūnaewele i ka kernel a me ka pono ethtool.
    • Ua hoʻohui ʻia ke kākoʻo no ka MPLS (Multiprotocol Label Switching) algorithm i ka IPv6 stack no ka hoʻokele ʻana i nā ʻeke me ka hoʻohana ʻana i ka hoʻololi lepili multiprotocol (ua kākoʻo mua ʻia ʻo MPLS no IPv4).
    • Kākoʻo hoʻohui ʻia no ka hoʻouna ʻana i ka IKE (Internet Key Exchange) a me nā ʻeke IPSec ma luna o TCP (RFC 8229) e kāʻalo i ka hiki ke hoʻopaʻa ʻia ʻo UDP.
    • Hoʻohui ʻia rnbd pūnaewele poloka, kahi e hiki ai iā ʻoe ke hoʻonohonoho i ke ala mamao i kahi mea poloka me ka hoʻohana ʻana i ka transport RDMA (InfiniBand, RoCE, iWARP) a me ka protocol RTRS.
    • Ma ka waihona TCP hoʻohui ʻia kākoʻo no ka hoʻopili ʻana i ka laulā ma nā pane koho koho (SACK).
    • No IPv6 hoʻokō ʻia Kākoʻo TCP-LD (RFC 6069, Hoʻopilikia i ka pilina lōʻihi).
  • Kākoʻo
    • Aia ka mea hoʻokele i915 DRM no nā kāleka wikiō Intel i ke kākoʻo no nā chips Intel Tiger Lake (GEN12) ma ke ʻano maʻamau, no ia mea. hoʻokō ʻia ka hiki ke hoʻohana i ka ʻōnaehana SAGV (System Agent Geyserville) e hoʻololi i ke alapine a me ka uila ma muli o ka hoʻohana ʻana i ka mana a i ʻole nā ​​koi hana.
    • Ua hoʻohui ka mea hoʻokele amdgpu i ke kākoʻo no ka format FP16 pixel a me ka hiki ke hana me nā buffer i hoʻopili ʻia i ka hoʻomanaʻo wikiō (TMZ, Trusted Memory Zone).
    • Hoʻohui ʻia ke kākoʻo no nā mana mana no nā kaʻina hana AMD Zen a me Zen2, a me nā mea ʻike wela no AMD Ryzen 4000 Renoir. Hāʻawi ʻia ke kākoʻo no ka hoʻihoʻi ʻana i ka ʻike hoʻohana mana ma o ka interface no AMD Zen a me Zen2 RAPL (Ka palena mana maʻamau e holo ana).
    • Hoʻohui i ke kākoʻo no ka ʻano hoʻololi NVIDIA i ka mea hoʻokele Nouveau. No ka gv100, ua hoʻokō ʻia ka hiki ke hoʻohana i nā ʻano hana scan interlaced. Hoʻohui ʻia ka ʻike vGPU.
    • Hoʻohui i ke kākoʻo no Adreno A405, A640 a me A650 GPU i ka mea hoʻokele MSM (Qualcomm).
    • Hoʻohui ʻia i loko no ka mālama ʻana i nā kumuwaiwai DRM (Direct Rendering Manager).
    • Hoʻohui i kākoʻo no Xiaomi Redmi Note 7 a me Samsung Galaxy S2 smartphones, a me Elm/Hana Chromebook laptops.
    • Hoʻohui ʻia nā mea hoʻokele no nā panel LCD: ASUS TM5P5 NT35596, Starry KR070PE2T, Leadtek LTK050H3146W, Visionox rm69299, Boe tv105wum-nw0.
    • Hoʻohui i ke kākoʻo no nā papa ARM a me nā paepae Renesas "RZ/G1H", Realtek RTD1195, Realtek RTD1395/RTD1619, Rockchips RK3326, AMLogic S905D, S905X3, S922XH, Olimex A20-OLinuXino-LIME-eMMino-LIME-eMMino
      , Beacon i.MX8m-Mini, Qualcomm SDM660/SDM630, Xnano X5 TV Box, Stinger96, Beaglebone-AI.

    • Hoʻohui ʻia ke kākoʻo no ka ʻōnaehana MIPS Loongson-2K (hoʻopau ʻia ʻo Loongson64). No ka CPU Loongson 3, ua hoʻohui ʻia ke kākoʻo no ka virtualization me ka hoʻohana ʻana i ka hypervisor KVM.
    • Hoʻohui ʻia
      kākoʻo no ke kaʻina hana ʻo Rusia Baikal-T1 a me ka ʻōnaehana-on-chip e pili ana iā ia BE-T1000. Aia i loko o ka papa hana Baikal-T1 ʻelua P5600 MIPS 32 r5 superscalar cores e hana ana ma 1.2 GHz. Aia ka pahu pahu L2 cache (1 MB), DDR3-1600 ECC hoʻomanaʻo hoʻomanaʻo, 1 10Gb Ethernet awa, 2 1Gb Ethernet awa, PCIe Gen.3 x4 mea hoʻoponopono, 2 SATA 3.0 awa, USB 2.0, GPIO, UART, SPI, I2C. Hāʻawi ke kaʻina hana i ke kākoʻo ʻenehana no ka virtualization, nā ʻōlelo aʻoaʻo SIMD a me kahi mea hoʻopihapiha cryptographic accelerator e kākoʻo ana iā GOST 28147-89. Hoʻokumu ʻia ka chip me ka MIPS32 P5600 Warrior processor core unit i laikini ʻia mai Imagination Technologies.

Ma ka manawa like, ʻo ka Latin American Free Software Foundation hoʻokumu ʻia
koho manuahi ʻole kernel 5.8 - Linux-puka 5.8-gnu, hoʻomaʻemaʻe ʻia i nā mea firmware a me nā mea hoʻokele i loaʻa nā ʻāpana manuahi ʻole a i ʻole nā ​​​​ʻāpana code, ka palena o ia mea i kaupalena ʻia e ka mea hana. Hoʻopau ka hoʻokuʻu hou i ka hoʻouka ʻana i nā blob i nā mea hoʻokele no ka Atom ISP Video, MediaTek 7663 USB/7915 PCIe, Realtek 8723DE WiFi, Renesas PCI xHCI, HabanaLabs Gaudi, Enhanced Asynchronous Sample Rate Converter, Maxim Integrated MAX98390 Speaker Aimplifier, Microsemi Home ZL38060 Audio Processor ZL2. a me I86C EEPROM Kauwa. Hoʻololi ʻia ke code hoʻomaʻemaʻe blob ma Adreno GPU, HabanaLabs Goya, x6656 touchscreen, vtXNUMX a me nā mea hoʻokele a me nā subsystems btbcm.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka