Hoʻokuʻu ʻo Linux kernel 5.18

Ma hope o ʻelua mahina o ka hoʻomohala ʻana, ua hōʻike ʻo Linus Torvalds i ka hoʻokuʻu ʻana o ka Linux kernel 5.18. Ma waena o nā loli kaulana loa: ua hana ʻia kahi hoʻomaʻemaʻe nui o nā hana kahiko, ua haʻi ʻia ka Reiserfs FS i ka wā kahiko, ua hoʻokō ʻia nā hanana hoʻohana mea hoʻohana, ua hoʻohui ʻia ke kākoʻo no ka hana ʻana no ka hoʻohana ʻana i ka Intel IBT, ua hoʻohana ʻia kahi mode buffer overflow detection. me ka hoʻohana ʻana i ka hana memcpy (), ua hoʻohui ʻia kahi mīkini no ka nānā ʻana i nā kelepona hana fprobe, Ua hoʻomaikaʻi ʻia ka hana o ka mea hoʻonohonoho hana ma AMD Zen CPUs, ua hoʻokomo ʻia kahi mea hoʻokele no ka hoʻokele Intel CPU functionality (SDS), ua hoʻohui ʻia kekahi mau pā. no ka hoʻoponopono hou ʻana i nā faila poʻomanaʻo, a ua ʻae ʻia ka hoʻohana ʻana i ka maʻamau C11.

Aia ka mana hou he 16206 hoʻoponopono mai 2127 mea hoʻomohala (ma ka hoʻokuʻu hope loa he 14203 hoʻoponopono mai 1995 mea hoʻomohala), ʻo ka nui o ka patch he 108 MB (nā loli i hoʻopili ʻia i nā faila 14235, 1340982 laina o ke code i hoʻohui ʻia, 593836 laina i holoi ʻia). Ma kahi o 44% o nā hoʻololi a pau i hoʻokomo ʻia ma 5.18 e pili ana i nā mea hoʻokele, 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 3% pili i nā subsystem kernel kūloko.

ʻO nā hana hou ma ka kernel 5.18:

  • Subsystem disk, I/O a me nā ʻōnaehana waihona
    • Ua hoʻohui ka ʻōnaehana faila Btrfs i ke kākoʻo no ka hoʻouna ʻana i ka ʻikepili i hoʻopaʻa ʻia i ka wā e hana ai i nā hana hoʻouna a loaʻa. Ma mua, i ka hoʻohana ʻana i ka hoʻouna/loaʻa, ua hoʻopau ka ʻaoʻao hoʻouna i ka ʻikepili i mālama ʻia ma ke ʻano paʻi, a ua hoʻopaʻa hou ka ʻaoʻao e loaʻa iā ia ma mua o ke kākau ʻana. Ma ka 5.18 kernel, ua hāʻawi ʻia nā noi hoʻohana-space e hoʻohana ana i nā kelepona hoʻouna / loaʻa i ka hiki ke hoʻouna i ka ʻikepili i hoʻopaʻa ʻia me ka ʻole repackaging. Hoʻokō ʻia ka hana ma muli o nā hana ioctl hou BTRFS_IOC_ENCODED_READ a me BTRFS_IOC_ENCODED_WRITE, e ʻae iā ʻoe e heluhelu pololei a kākau i ka ʻike i nā extents.

      Eia kekahi, hoʻomaikaʻi ʻo Btrfs i ka hana fsync. Hoʻohui i ka hiki ke hoʻokaʻawale a hana i ka reflink (cloning file metadata ma ka hana ʻana i kahi loulou i ka ʻikepili i loaʻa ʻole me ka kope maoli ʻana) no ka waiho ʻana a pau, ʻaʻole i kaupalena ʻia i nā wahi mauna.

    • Ma ke ʻano Direct I/O, hiki ke komo i nā faila i hoʻopili ʻia i ka wā e hoʻohana ai ka fscrypt i ka encryption inline, kahi e hana ʻia ai nā hana hoʻopunipuni a me ka decryption e ka mea hoʻokele drive ma mua o ka kernel. Me ka hoʻopunipuni kernel maʻamau, ʻaʻole hiki ke komo i nā faila i hoʻopili ʻia me ka hoʻohana ʻana iā Direct I/O, no ka mea, hiki ke kiʻi ʻia nā faila ma ke kaʻe ʻana i ka mīkini hoʻopaʻa i ka kernel.
    • Loaʻa i ka server NFS ke kākoʻo no ka protocol NFSv3 ma ke ʻano paʻamau, ʻaʻole ia e koi i ka hoʻokaʻawale ʻana a loaʻa i ka wā e hoʻohana ʻia ai ka NFS maʻamau. Manaʻo ʻia ʻo NFSv3 ka mana nui a kākoʻo mau ʻia o NFS, a hiki ke hoʻopau ʻia ke kākoʻo no NFSv2 i ka wā e hiki mai ana. Ua hoʻomaikaʻi maikaʻi ʻia ka maikaʻi o ka heluhelu ʻana i nā maʻiʻo o ka papa kuhikuhi.
    • Ua hoʻopau ʻia ka ʻōnaehana faila ReiserFS a manaʻo ʻia e wehe ʻia i 2025. ʻO ka hoʻopau ʻana iā ReiserFS e hōʻemi i ka hoʻoikaika ʻana e mālama i nā hoʻololi ʻana i ka ʻōnaehana waihona e pili ana i ke kākoʻo no ka API hou no ke kau ʻana, iomap, a me nā tomes.
    • No ka ʻōnaehana faila F2FS, ua hoʻokō ʻia ka hiki ke palapala i nā ID mea hoʻohana o nā ʻōnaehana faila i kau ʻia, i hoʻohana ʻia e hoʻohālikelike i nā faila o kahi mea hoʻohana kikoʻī ma kahi ʻāpana haole i kau ʻia me kekahi mea hoʻohana ma ka ʻōnaehana o kēia manawa.
    • Ua hana hou ʻia ke code no ka helu ʻana i nā ʻikepili i nā mea hoʻohana ʻo Device-mapper, kahi i hoʻomaikaʻi nui ai i ka pololei o ka helu ʻana i nā mea lawelawe e like me dm-crypt.
    • Kākoʻo nā polokalamu NVMe i nā 64-bit checksums no ka nānā pono.
    • No ka ʻōnaehana faila exfat, ua hoʻoholo ʻia kahi koho mauna hou "keep_last_dots", kahi e hoʻopau ai i ka holoi ʻana i nā kiko ma ka hope o ka inoa faila (ma Windows, ua wehe ʻia nā kiko ma ka hope o ka inoa faila ma ka paʻamau).
    • Hoʻomaikaʻi ʻo EXT4 i ka hana o ka mode fast_commit a hoʻonui i ka scalability. ʻO ke koho mauna "mb_optimize_scan", e hiki ai ke hoʻonui i ka hana i nā kūlana o ka ʻāpana ʻōnaehana faila nui, ua hoʻololi ʻia no ka hana ʻana me nā faila me nā mea ākea.
    • Ua hoʻopau ʻia ke kākoʻo no ke kākau ʻana i nā kahawai i loko o ka subsystem e kākoʻo ana i nā polokalamu poloka. Ua manaʻo ʻia kēia hiʻohiʻona no SSDs, akā ʻaʻole i pālahalaha ʻia a ʻaʻohe mea hoʻohana i kēia manawa e kākoʻo i kēia ʻano a ʻaʻole paha e ʻike ʻia lākou i ka wā e hiki mai ana.
  • Nā lawelawe hoʻomanaʻo a me nā ʻōnaehana
    • Ua hoʻomaka ka hoʻohui ʻana o kahi hoʻonohonoho patches, e ʻae ana e hōʻemi nui i ka manawa o ke kūkulu hou ʻana i ka kernel ma ka hoʻoponopono hou ʻana i ka hierarchy o nā faila poʻomanaʻo a me ka hōʻemi ʻana i ka nui o nā hilinaʻi keʻa. Hoʻokomo ʻia ʻo Kernel 5.18 i nā pākuʻi e hoʻomaikaʻi i ke ʻano o nā faila poʻomanaʻo hoʻonohonoho hana (kernel/sched). Ke hoʻohālikelike ʻia me ka hoʻokuʻu mua ʻana, ua hoʻemi ʻia ka hoʻohana manawa CPU i ka wā e hui ai i ka kernel/sched/code e 61%, a ua hoʻemi ʻia ka manawa maoli e 3.9% (mai 2.95 a i 2.84 sec).
    • Ua ʻae ʻia ke code Kernel e hoʻohana i ka maʻamau C11, i paʻi ʻia ma 2011. Ma mua, ʻo ke code i hoʻohui ʻia i ka kernel pono e hoʻokō me ka kikoʻī ANSI C (C89), i hoʻokumu ʻia i ka makahiki 1989. Ma ka 5.18 kernel build scripts, ua hoʻololi ʻia ke koho '—std=gnu89' me '—std=gnu11 -Wno-shift-negative-value'. Ua noʻonoʻo ʻia ka hiki ke hoʻohana i ka maʻamau C17, akā i kēia hihia e pono e hoʻonui i ka mana haʻahaʻa i kākoʻo ʻia o GCC, ʻoiai ke komo ʻana o ke kākoʻo C11 e kūpono i nā koi o kēia manawa no ka mana GCC (5.1).
    • Hoʻomaikaʻi ʻia ka hana hoʻonohonoho hana ma nā kaʻina AMD me Zen microarchitecture, e hāʻawi ana i ka Last Level Cache (LLC) no kēlā me kēia node me nā ala hoʻomanaʻo kūloko. Hoʻopau ka mana hou i ke kaulike ʻole o LLC ma waena o nā nodes NUMA, kahi i hoʻonui nui ʻia i ka hana no kekahi mau ʻano hana.
    • Ua hoʻonui ʻia nā mea hana no ka huli ʻana i nā noi ma kahi o nā mea hoʻohana. Hoʻohui ka mana kernel hou i ka hiki i nā kaʻina hana hoʻohana ke hana i nā hanana mea hoʻohana a kākau i ka ʻikepili i ka trace buffer, hiki ke ʻike ʻia ma o nā pono hana maʻamau kernel tracing e like me ftrace a me perf. Hoʻokaʻawale ʻia nā hanana ʻike kikoʻī o ka mea hoʻohana mai nā hanana trace kernel. Hiki ke ʻike ʻia ke kūlana hanana ma o ka faila /sys/kernel/debug/tracing/user_events_status, a me ka hoʻopaʻa inoa hanana a me ka hoʻopaʻa ʻikepili ma o ka faila /sys/kernel/debug/tracing/user_events_data.
    • Hoʻohui ʻia kahi mīkini no ka nānā ʻana (probe) kelepona hana - fprobe. Hoʻokumu ʻia ka fprobe API ma ka ftrace, akā ua kaupalena ʻia e ka hiki ke hoʻopili i nā mea hoʻohana kelepona e hana i nā helu komo a me nā wahi puka. ʻAʻole like me kprobes a me kretprobes, hiki i ka mīkini hou ke hoʻohana i hoʻokahi mea lima no nā hana he nui i ka manawa hoʻokahi.
    • Ua hoʻopau ʻia ke kākoʻo no nā kaʻina hana ARM kahiko (ARMv4 a me ARMv5) i lako ʻole me kahi ʻāpana hoʻomanaʻo hoʻomanaʻo (MMU). Mālama ʻia ke kākoʻo no nā ʻōnaehana ARMv7-M me ka ʻole o MMU.
    • Ua hoʻopau ʻia ke kākoʻo no ka RISC-like NDS32 i hoʻohana ʻia ma nā kaʻina hana Andes Technologies. Ua wehe ʻia ke code ma muli o ka nele o ka mālama ʻana a me ka nele o ke koi no ke kākoʻo NDS32 i ka kernel Linux nui (ʻo nā mea hoʻohana i koe e hoʻohana i nā hana kernel kūikawā mai nā mea hana lako).
    • ʻO ka mea maʻamau, ke kūkulu ʻana i ka kernel me ke kākoʻo no ka format file executable a.out ua pio no ka alpha a me m68k architectures, e hoʻomau nei e hoʻohana i kēia ʻano. Malia paha e hoʻopau loa ʻia ke kākoʻo no ka format a.out hoʻoilina mai ka kernel koke. Ua kūkākūkā ʻia nā hoʻolālā e wehe i ka format a.out mai 2019.
    • Hāʻawi ka hale hoʻolālā PA-RISC i ke kākoʻo liʻiliʻi no ka vDSO (virtual dynamic shared objects), e hāʻawi ana i kahi palena palena o nā kelepona ʻōnaehana i loaʻa ma kahi o ka mea hoʻohana me ka ʻole o ka hoʻololi ʻana i ka pōʻaiapili. ʻO ke kākoʻo vDSO i hiki ai ke hoʻokō i ka hiki ke holo me kahi waihona hoʻokō ʻole.
    • Kākoʻo hoʻohui ʻia no ka ʻenehana Intel HFI (Hardware Feedback Interface), e hiki ai i ka mīkini ke hoʻouna i ka ʻike i ka kernel e pili ana i ka hana o kēia manawa a me ka ikaika o kēlā me kēia CPU.
    • Hoʻohui ʻia kahi mea hoʻokele no ka ʻōnaehana Intel SDSi (Software-Defined Silicon), e hiki ai iā ʻoe ke hoʻomalu i ka hoʻopili ʻana o nā hiʻohiʻona hou i loko o ke kaʻina hana (no ka laʻana, nā kuhikuhi kūikawā a me ka hoʻomanaʻo cache hou). ʻO ka manaʻo e hiki ke hāʻawi ʻia nā chips ma ke kumu kūʻai haʻahaʻa me nā hana kiʻekiʻe i laka ʻia, a laila hiki ke "kūʻai ʻia" a hoʻohana ʻia nā mana hou me ka ʻole o ka hoʻololi ʻana o ka mīkini.
    • Ua hoʻohui ʻia ka mea hoʻokele amd_hsmp e kākoʻo i ka interface AMD HSMP (Host System Management Port), e hāʻawi ana i ke komo ʻana i nā hana hoʻokele kaʻina hana ma o kahi pūʻulu o nā papa inoa kūikawā i ʻike ʻia i loko o nā kaʻina kikowaena AMD EPYC e hoʻomaka ana me ka hanauna Fam19h. No ka laʻana, ma o HSMP hiki iā ʻoe ke kiʻi i ka ʻikepili e pili ana i ka hoʻohana ʻana i ka mana a me ka mahana, hoʻonohonoho i nā palena alapine, hoʻāla i nā ʻano hana hoʻonui hana like ʻole, a mālama i nā ʻāpana hoʻomanaʻo.
    • Hoʻohana ka io_uring asynchronous I/O i ke koho IORING_SETUP_SUBMIT_ALL e hoʻopaʻa inoa i kahi pūʻulu o nā faila wehewehe i loko o kahi apo apo, a me ka IORING_OP_MSG_RING hana e hoʻouna i kahi hōʻailona mai kekahi apo apo i kekahi apo apo.
    • ʻO ka DAMOS (Data Access Monitoring-based Operation Schemes), e hiki ai ke hoʻokuʻu ʻia ka hoʻomanaʻo me ka noʻonoʻo ʻana i ke alapine o ke komo ʻana i ka hoʻomanaʻo, ua hoʻonui i nā mana no ka nānā ʻana i nā hana hoʻomanaʻo mai ka wahi mea hoʻohana.
    • Ua hoʻohui ʻia ke kolu o nā ʻāpana me ka hoʻokō ʻana i ka manaʻo o nā folios ʻaoʻao, e like me nā ʻaoʻao hui, akā ua hoʻomaikaʻi i ka semantics a me kahi hui ʻoi aku o ka hana. ʻO ka hoʻohana ʻana i nā tomes hiki iā ʻoe ke wikiwiki i ka hoʻokele hoʻomanaʻo i kekahi mau ʻōnaehana kernel. Ma nā ʻāpana i manaʻo ʻia, ua unuhi ʻia nā hana hoʻokele hoʻomanaʻo kūloko i loko o nā folios, me nā ʻano like ʻole o ka hana get_user_pages(). Hāʻawi ʻia i ke kākoʻo no ka hoʻokumu ʻana i nā puke nui i ka helu heluhelu mua.
    • Kākoʻo ka ʻōnaehana hui i nā USERCFLAGS a me USERLDFLAGS i nā ʻano hoʻololi kaiapuni, me ia e hiki ai iā ʻoe ke hāʻawi i nā hae hou i ka mea hoʻopili a me ka loulou.
    • Ma ka subsystem eBPF, ʻo ka mīkini BTF (BPF Type Format), e hāʻawi ana i ka ʻike nānā ʻano ma ka pseudocode BPF, e hāʻawi i ka hiki ke hoʻohui i nā annotation i nā ʻano like ʻole e pili ana i nā wahi hoʻomanaʻo i ka wahi hoʻohana. Kōkua nā annotations i ka ʻōnaehana hōʻoia code BPF e ʻoi aku ka maikaʻi o ka ʻike a hōʻoia i ke komo ʻana i ka hoʻomanaʻo.
    • Ua manaʻo ʻia kahi mea hoʻokaʻawale hoʻomanaʻo hou no ka mālama ʻana i nā polokalamu BPF i hoʻouka ʻia, e hiki ai i ka hoʻohana pono ʻana i ka hoʻomanaʻo i nā kūlana i hoʻouka ʻia ai ka nui o nā polokalamu BPF.
    • Ua hoʻohui ʻia ka hae MADV_DONTNEED_LOCKED i ka madvise() system call, e hāʻawi ana i nā mea paahana no ka hoʻoponopono ʻana i ka hoʻomanaʻo hoʻomanaʻo kaʻina, e hoʻokō i ka hae MADV_DONTNEED e kū nei, kahi e hiki ai ke hoʻomaopopo mua ʻia ka kernel e pili ana i ka hoʻokuʻu ʻia ʻana o kahi poloka hoʻomanaʻo, ʻo ia hoʻi. ʻaʻole pono kēia poloka a hiki ke hoʻohana ʻia e ka kernel. ʻAʻole like me MADV_DONTNEED, ʻae ʻia ka hoʻohana ʻana i ka hae MADV_DONTNEED_LOCKED no nā ʻaoʻao hoʻomanaʻo i hoʻopaʻa ʻia i RAM, kahi i kapa ʻia ʻo madvise, e kipaku ʻia me ka ʻole o ka hoʻololi ʻana i ko lākou kūlana pinned a, i ka wā o ke komo ʻana i ka poloka a me ka hanauna o kahi "ʻaoʻao. hoʻihoʻi ʻia me ka paʻa i mālama ʻia. Eia hou, ua hoʻohui ʻia kahi hoʻololi e ʻae i ka hae MADV_DONTNEED e hoʻohana me nā ʻaoʻao hoʻomanaʻo nui ma HugeTLB.
  • Virtualization a me ka palekana
    • No ka hale hoʻolālā x86, ua hoʻohui ʻia ke kākoʻo no ka Intel IBT (Indirect Branch Tracking) i ka ʻōnaehana pale kahe kauoha, ka mea e pale ai i ka hoʻohana ʻana i nā ʻenehana hana hoʻohana me ka hoʻohana ʻana i nā ʻenehana hoʻonohonoho hoʻihoʻi (ROP, Return-Oriented Programming), kahi e hoʻohana ai ka hana. ua hoʻokumu ʻia ma ke ʻano o kahi kaulahao o nā kelepona i loaʻa i ka hoʻomanaʻo ʻana i nā ʻāpana o nā ʻōlelo aʻoaʻo mīkini e hoʻopau ana me kahi ʻōlelo hoʻihoʻi mana (ma ke ʻano he kānāwai, ʻo ia ka hopena o nā hana). ʻO ke kumu o ke ʻano palekana i hoʻokō ʻia, ʻo ia ka pale ʻana i nā hoʻololi ʻole i ke kino o kahi hana ma o ka hoʻohui ʻana i kahi ʻōlelo aʻo ENDBR kūikawā i ka hoʻomaka ʻana o ka hana a ʻae i ka hoʻokō ʻana i kahi hoʻololi kūwaho wale nō i ka hihia o ka hoʻololi ʻana i kēia ʻōlelo aʻo. pono e hāʻule mau ke kelepona ma o JMP a me CALL ma ke aʻo ENDBR, i kau ʻia ma nā hana hoʻomaka).
    • Hoʻohana ʻia ka nānā pono ʻana i nā palena pale ma nā hana memcpy (), memmove () a me memset (), i hana ʻia i ka manawa hōʻuluʻulu ke hoʻohana ʻia ke ʻano CONFIG_FORTIFY_SOURCE. Hoʻololi ka hoʻololi hou i ka nānā ʻana i nā mea o nā hale i ʻike ʻia ka nui ma mua o nā palena. Hoʻomaopopo ʻia ʻo ka hiʻohiʻona i hoʻokō ʻia e ʻae i ka pale ʻana i nā memcpy () pili i ka kernel buffer overflows i ʻike ʻia i loko o nā makahiki ʻekolu i hala.
    • Hoʻohui i ka ʻāpana ʻelua o ke code no ka hoʻokō hou ʻana o ka RDRAND pseudo-random number generator, nona ke kuleana no ka hana ʻana o nā mea / dev / random a me / dev / urandom. He mea kaulana ka hoʻokō hou no ka hoʻohui ʻana i ka hana o / dev / random a me / dev / urandom, me ka hoʻohui ʻana i ka pale i ke ʻano o nā kope i ke kahawai o nā helu helu i ka wā e hoʻomaka ai i nā mīkini virtual, a me ka hoʻololi ʻana i ka hoʻohana ʻana i ka hana hash BLAKE2s ma kahi o SHA1 no ka. nā hana hoʻohuihui entropy. Ua hoʻomaikaʻi ka hoʻololi i ka palekana o ka pseudo-random number generator ma o ka hoʻopau ʻana i ka pilikia SHA1 algorithm a me ka hoʻopau ʻana i ka overwriting o ka vector initialization RNG. No ka mea ʻoi aku ka maikaʻi o ka algorithm BLAKE2s ma mua o SHA1 i ka hana, ua loaʻa ka hopena maikaʻi i ka hana.
    • No ka hoʻolālā ARM64, ua hoʻohui ʻia ke kākoʻo no kahi algorithm hōʻoia pointer hou - "QARMA3", ʻoi aku ka wikiwiki ma mua o ka algorithm QARMA me ka mālama ʻana i ka pae kūpono o ka palekana. Hāʻawi ka ʻenehana iā ʻoe e hoʻohana i nā ʻōlelo aʻoaʻo ARM64 kūikawā e hōʻoia i nā helu hoʻihoʻi me ka hoʻohana ʻana i nā pūlima kikohoʻe i mālama ʻia i loko o nā ʻāpana i hoʻohana ʻole ʻia o ka pointer ponoʻī.
    • No ka hale hoʻolālā ARM64, ua hoʻokō ʻia ke kākoʻo no ka hui ʻana me ka hoʻokomo ʻana i ka GCC 12 o kahi ʻano pale e kūʻē i ke kākau ʻana i ka helu hoʻihoʻi mai kahi hana i ka wā o ka hoʻoheheʻe ʻana i ka pahu. ʻ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.
    • Hoʻohui ʻia i kahi kī kī hou - "mīkini", i loaʻa nā kī o ka ʻōnaehana (MOK, Machine Owner Keys), i kākoʻo ʻia i ka bootloader shim. Hiki ke hoʻohana ʻia kēia mau kī e hoʻopaʻa inoa i nā ʻāpana kernel i hoʻouka ʻia ma kahi pae post-boot (e laʻana, nā modula kernel).
    • Wehe ʻia ke kākoʻo no nā kī pilikino asymmetric no nā TPM, i hāʻawi ʻia ma kahi mana hoʻoilina o TPM, ua ʻike i nā pilikia palekana, a ʻaʻole i hoʻohana nui ʻia i ka hana.
    • Hoʻohui i ka pale o ka ʻikepili me ke ʻano size_t mai ka nui o ka integer. Aia i loko o ke code nā mea hoʻohana size_mul(), size_add() a me size_sub(), e ʻae iā ʻoe e hoʻonui palekana, hoʻohui a unuhi i nā nui me ke ʻano size_t.
    • I ke kūkulu ʻana i ka kernel, ua hoʻohana ʻia nā hae "-Warray-bounds" a me "-Wzero-length-bounds", e hōʻike ana i nā ʻōlelo aʻo i ka wā e hele ai ka index ma waho o ka palena o ka array a i ka wā e hoʻohana ʻia ai nā arrays zero-lōʻihi.
    • Ua hoʻohui ka mea virtio-crypto i ke kākoʻo no ka hoʻopili ʻana me ka hoʻohana ʻana i ka algorithm RSA.
  • Pūnaehana pūnaewele
    • I ka hoʻokō ʻana i nā alahaka pūnaewele, ua hoʻohui ʻia ke kākoʻo no ke ʻano hoʻopaʻa port (locked mode), kahi e hiki ai i ka mea hoʻohana ke hoʻouna i nā kaʻa ma o ke awa wale nō mai kahi helu MAC i ʻae ʻia. Ua hoʻohui pū ʻia ka hiki ke hoʻohana i kekahi mau hale e loiloi i ke kūlana o ka protocol STP (Spanning Tree Protocol). Ma mua, hiki ke paʻi pololei ʻia nā VLAN i STP (1:1), me kēlā me kēia VLAN e hoʻokele kūʻokoʻa. Hoʻohui ka mana hou i ka palena mst_enable, ke hoʻohana ʻia, mālama ʻia ka mokuʻāina o VLAN e ka MST (Multiple Spanning Trees) module a hiki i ka hoʻopaʻa ʻana o nā VLAN ke kūlike me ka model M:N.
    • Hoʻomau ka hana i ka hoʻohui ʻana i nā mea hana i loko o ka waihona pūnaewele e nānā i nā kumu o ka waiho ʻana i nā ʻeke (nā kumu kumu). Hoʻouna ʻia ke kumu kumu i ka wā e hoʻokuʻu ʻia ai ka hoʻomanaʻo e pili ana i ka packet a hiki i nā kūlana e like me ka hoʻolei ʻana i ka packet ma muli o nā hewa header, rp_filter spoofing detection, invalid checksum, out of memory, IPSec XFRM rules triggered, invalid sequence number TCP, etc.
    • Hiki ke hoʻololi i nā ʻeke pūnaewele mai nā polokalamu BPF i hoʻokuʻu ʻia mai kahi mea hoʻohana ma ke ʻano BPF_PROG_RUN, kahi e hoʻokō ʻia ai nā polokalamu BPF i ka kernel, akā e hoʻihoʻi i ka hopena i kahi mea hoʻohana. Hoʻouna ʻia nā ʻeke me ka hoʻohana ʻana i ka subsystem XDP (eXpress Data Path). Kākoʻo ʻia ke ʻano hana packet ola, kahi e hiki ai i ka mea hana XDP ke hoʻihoʻi hou i nā ʻeke pūnaewele ma ka lele ʻana i ka waihona pūnaewele a i ʻole nā ​​​​mea hana ʻē aʻe. Hiki nō hoʻi ke hana i nā mea hoʻoheheʻe polokalamu o nā kaʻa waho a i ʻole e hoʻololi i nā kiʻi pūnaewele i loko o ka waihona pūnaewele.
    • No nā polokalamu BPF i hoʻopili ʻia i nā hui pūnaewele, ua noi ʻia nā hana kōkua e hoʻonohonoho pono i ka waiwai hoʻihoʻi o nā kelepona ʻōnaehana, e hiki ai ke haʻi i ka ʻike piha piha e pili ana i nā kumu no ke kāohi ʻana i kahi kelepona ʻōnaehana.
    • Ua hoʻohui ka subsystem XDP (eXpress Data Path) i ke kākoʻo no nā ʻeke ʻāpana i waiho ʻia i loko o nā buffers he nui, e hiki ai iā ʻoe ke hana i nā kiʻi Jumbo ma XDP a hoʻohana i ka TSO/GRO (TCP Segmentation Offload/Generic Receive Offload) no XDP_REDIRECT.
    • Ua hoʻonui nui ʻia ke kaʻina hana o ka holoi ʻana i nā inoa inoa pūnaewele, kahi i koi ʻia ma kekahi mau ʻōnaehana nui me ka nui o ke kaʻa.
  • Kākoʻo
    • ʻO ka mea hoʻokele amdgpu ma ka paʻamau e komo pū me FreeSync adaptive synchronization technology, e hiki ai iā ʻoe ke hoʻoponopono i ka wikiwiki o ka ʻike ma ka pale, e hōʻoiaʻiʻo ana i nā kiʻi ʻoluʻolu a me ka waimaka ʻole i ka wā e pāʻani ana i nā pāʻani a me ka nānā ʻana i nā wikiō. Ua hoʻolaha ʻia ke kākoʻo ʻo Aldebaran GPU e paʻa.
    • Hoʻohui ka mea hoʻokele i915 i ke kākoʻo no nā chips Intel Alderlake N a me nā kāleka kiʻi discrete Intel DG2-G12 (Arc Alchemist).
    • Hāʻawi ka mea hoʻokele hou i ke kākoʻo no nā bitrates kiʻekiʻe no nā pilina DP/eDP a me ke kākoʻo no nā lttprs (Link-Training Tunable PHY Repeaters) nā mea hoʻonui kelepona.
    • Ma ka drm (Direct Rendering Manager) subsystem i nā mea hoʻokele armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen a me vc4 kākoʻo parameter. ua hoʻohui ʻia ka nomodeset, kahi e hiki ai iā ʻoe ke hoʻopau i ka hoʻololi ʻana i nā ʻano wikiō ma ka pae kernel a me ka hoʻohana ʻana i nā hāmeʻa hoʻoikaika wikiwiki, waiho wale i nā hana e pili ana i ka framebuffer system.
    • Hoʻohui kākoʻo no ARM SoС Qualcomm Snapdragon 625/632 (hoʻohana ʻia ma LG Nexus 5X a me Fairphone FP3 smartphones), Samsung Exynos 850, Samsung Exynos 7885 (hoʻohana ʻia ma Samsung Galaxy A8), Airoha (Mediatek / EcoNet) EN7523, Mediatek mt6582 (Prestigio PMT5008 PMT). papa 3G), Microchip Lan966, Renesas RZ/G2LC, RZ/V2L, Tesla FSD, TI K3/AM62 a me i.MXRTxxxx.
    • Hoʻohui i ke kākoʻo no nā polokalamu ARM a me nā papa mai Broadcom (Raspberry Pi Zero 2 W), Qualcomm (Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip (Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emSBS, Samsung Galaxy Tab S , Prestigio PMT5008 3G papaʻaina), Allwinner (A20-Marsboard), Amlogic (Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 a me OSMC Vero 4K+), Aspeed (Quanta S6QVEHM, AS8BU), ROMlED3Q, AS200BU / Armada (Ctera C1 V2 a me V8 NAS), Mstar (DongShanPiOne, Miyoo Mini), NXP i.MX (Protonic PRT8MM, emCON-MX7903M Mini, Toradex Verdin, Gateworks GWXNUMX).
    • Kākoʻo hou ʻia no nā ʻōnaehana kani a me nā codec AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280, Renesas RZ/V2TASL585 Instruments. Hoʻohui ʻia ka hoʻokō mua ʻana o ka mea hoʻokele kani no ka chip Intel AVS DSP. Hoʻonui i ke kākoʻo hoʻokele no Intel ADL a me Tegra234, a hana i nā loli e hoʻomaikaʻi i ke kākoʻo leo ma Dell, HP, Lenovo, ASUS, Samsung a me Clevo.

    Ma ka manawa like, ua hoʻokumu ka Latin American Free Software Foundation i kahi mana o ka kernel manuahi 5.18 - Linux-libre 5.18-gnu, i hoʻomaʻemaʻe ʻia i nā mea o ka firmware a me nā mea hoʻokele i loaʻa nā ʻāpana manuahi ʻole a i ʻole nā ​​​​ʻāpana code, ka palena o ka palena. e ka mea hana. Hoʻomaʻemaʻe ka hoʻokuʻu hou i nā mea hoʻokele no nā panela MIPI DBI, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U (USB) a me Realtek 8852a/8852c, Intel AVS a me Texas Instruments TAS5805M mau kani kani. Ua hoʻomaʻemaʻe ʻia nā faila DTS no nā Qualcomm SoC like ʻole me nā kaʻina hana e pili ana i ka hoʻolālā AArch64. Hoʻololi hou ʻia ka code hoʻomaʻemaʻe blob i nā mea hoʻokele a me nā subsystem o AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART.

Source: opennet.ru

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