Sgaoileadh kernel Linux 6.1

Às deidh dà mhìos de leasachadh, thaisbean Linus Torvalds foillseachadh an Linux kernel 6.1. Am measg nan atharrachaidhean as sònraichte: taic airson leasachadh dhraibhearan agus mhodalan anns a’ chànan Rust, ùrachadh an uidheamachd airson a bhith a’ dearbhadh duilleagan cuimhne cleachdte, manaidsear cuimhne sònraichte airson prògraman BPF, siostam airson a bhith a’ lorg duilgheadasan cuimhne KMSAN, an KCFI (Kernelk Control). -Flow Integrity) inneal dìon, toirt a-steach craobh structar Maple.

Tha an dreach ùr a’ toirt a-steach rèiteachaidhean 15115 bho luchd-leasachaidh 2139, is e meud paiste 51 MB, a tha timcheall air 2 uair nas lugha na meud badan bho kernels 6.0 agus 5.19. Thug na h-atharrachaidhean buaidh air faidhlichean 13165, chaidh 716247 loidhnichean de chòd a chur ris, agus chaidh 304560 loidhne a dhubhadh às. Tha timcheall air 45% de na h-atharrachaidhean uile a chaidh a thoirt a-steach ann an 6.1 co-cheangailte ri draibhearan inneal, tha timcheall air 14% de na h-atharrachaidhean co-cheangailte ri ùrachadh còd a tha sònraichte do ailtireachd bathar-cruaidh, tha 14% co-cheangailte ris a’ chruach lìonra, tha 3% co-cheangailte ri siostaman faidhle, agus 3% co-cheangailte ri fo-shiostaman kernel a-staigh.

Prìomh innleachdan ann an kernel 6.1:

  • Seirbheisean cuimhne is siostam
    • Chuir sinn ris a’ chomas a bhith a’ cleachdadh Rust mar dhàrna cànan airson draibhearan agus modalan kernel a leasachadh. Is e am prìomh adhbhar airson taic a thoirt do Rust a dhèanamh nas fhasa draibhearan inneal sàbhailte agus àrd-inbhe a sgrìobhadh le bhith a 'lùghdachadh an coltas gun tèid mearachdan a dhèanamh nuair a bhios iad ag obair le cuimhne. Tha taic meirge air a chiorramachadh gu bunaiteach agus chan eil sin a’ ciallachadh gu bheil Rust air a ghabhail a-steach mar eisimeileachd togail kernel riatanach. Tha an kernel gu ruige seo air gabhail ri dreach as ìsle de na pìosan, a chaidh a lughdachadh bho 40 gu 13 mìle loidhne de chòd agus a bheir seachad dìreach an ìre as ìsle a tha riatanach, gu leòr airson modal kernel sìmplidh a thogail sgrìobhte ann an cànan Rust. Anns an àm ri teachd, thathas an dùil an comas-gnìomh a th ’ann a mheudachadh mean air mhean, a’ gluasad atharrachaidhean eile bhon mheur Rust-for-Linux. Aig an aon àm, tha pròiseactan gan leasachadh gus am bun-structar a thathar a’ moladh a chleachdadh gus draibhearan a leasachadh airson draibhearan NVMe, protocol lìonra 9p agus an Apple M1 GPU ann an cànan Rust.
    • Airson siostaman stèidhichte air ailtireachd AArch64, RISC-V agus LoongArch le EFI, chaidh an comas ìomhaighean kernel teann a luchdachadh gu dìreach. Làimhseachadh a bharrachd airson a bhith a’ luchdachadh, a’ ruith agus a’ luchdachadh ìomhaighean kernel, ris an canar gu dìreach bho EFI zboot. Chaidh luchd-làimhseachaidh airson protocolaidhean a chuir a-steach agus a dhubhadh às bho stòr-dàta protocol EFI a chuir ris cuideachd. Roimhe sin, chaidh an dì-phapadh a dhèanamh le bootloader air leth, ach a-nis faodar seo a dhèanamh le inneal-làimhseachaidh san kernel fhèin - tha an ìomhaigh kernel air a chruthachadh mar thagradh EFI.
    • Tha an sgrìobhadh a 'toirt a-steach pàirt de na pìosan le bhith a' cur an gnìomh modal rianachd cuimhne ioma-ìre, a leigeas leat bancaichean cuimhne a sgaradh le feartan coileanaidh eadar-dhealaichte. Mar eisimpleir, dh’ fhaodadh na duilleagan as motha a chleachdar a bhith air an stòradh sa chuimhne as luaithe, fhad ‘s a dh’ fhaodadh na duilleagan as trice a chleachdar a bhith air an stòradh ann an cuimhne caran slaodach. Tha Kernel 6.1 a’ toirt a-steach inneal airson dearbhadh far a bheil duilleagan air an cleachdadh gu mòr suidhichte ann an cuimhne slaodach gus an tèid an àrdachadh gu cuimhne luath, agus cuideachd a’ toirt a-steach bun-bheachd coitcheann de ìrean cuimhne agus an coileanadh càirdeach.
    • Tha e a’ toirt a-steach inneal MGLRU (LRU Ioma-ghinealach), a tha a’ dol an àite an t-seann bhuileachadh LRU (Air a chleachdadh as lugha) stèidhichte air dà ciudha le structar ioma-ìre a cho-dhùineas nas fheàrr dè na duilleagan cuimhne a thathas a’ cleachdadh agus a dh’ fhaodar a phutadh a-mach gu an sgaradh suaip.
    • Taic a bharrachd airson structar dàta “craobh maple” a mhol innleadairean Oracle, a tha air a shuidheachadh mar àite nas èifeachdaiche airson structar “craobh dearg-dubh”. Tha craobh maple na chaochladh de chraobh-B a tha a’ toirt taic do chlàr-amais raon agus a tha air a dhealbhadh gus feum èifeachdach a dhèanamh de thasglann luchd-giullachd an latha an-diugh. Chaidh cuid de na fo-shiostaman riaghlaidh cuimhne a ghluasad gu craobh maple mar-thà, a thug buaidh mhath air an coileanadh. Anns an àm ri teachd, faodar craobh maple a chleachdadh gus glasadh raon a chuir an gnìomh.
    • Chaidh an comas air prògraman BPF “millteach” a chruthachadh a chaidh an dealbhadh gu sònraichte gus dùnadh èiginn a thòiseachadh tron ​​​​ghairm crash_kexec() a chuir ri fo-shiostam BPF. Dh’ fhaodadh gum bi feum air a leithid de phrògraman BPF airson adhbharan deasbaid gus tòiseachadh air dumpadh tubaist a chruthachadh aig àm sònraichte. Gus faighinn gu gnìomhachd millteach nuair a bhios tu a’ luchdachadh prògram BPF, feumaidh tu am bratach BPF_F_DESTRUCTIVE a shònrachadh, sysctl kernel.destructive_bpf_enabled a chuir an gnìomh, agus còraichean CAP_SYS_BOOT a bhith agad.
    • Airson prògraman BPF, tha e comasach eileamaidean cgroup àireamhachadh, a bharrachd air goireasan àireamhachadh (faidhlichean, vma, pròiseasan, msaa) de shnàthainn no gnìomh sònraichte. Chaidh seòrsa mapa ùr a chuir an gnìomh gus bufairean fàinne luchd-cleachdaidh a chruthachadh.
    • Chuir sinn ris gairm sònraichte airson riarachadh cuimhne ann am prògraman BPF (riaradair cuimhne), a bheir seachad riarachadh cuimhne nas sàbhailte ann an co-theacs BPF na an kmalloc() àbhaisteach.
    • Chaidh a’ chiad phàirt de na h-atharrachaidhean a thoirt a-steach, a’ toirt comas air draibhearan a chruthachadh airson innealan cuir a-steach le eadar-aghaidh HID (Inneal Eadar-aghaidh Daonna), air a chuir an gnìomh ann an cruth phrògraman BPF.
    • Tha an kernel air a’ chòd a thoirt air falbh gu tur gus taic a thoirt don fhòrmat faidhle so-ghnìomhaichte a.out, nach deach a mholadh ann an sgaoileadh 5.1 agus a chaidh a chiorramachadh airson prìomh ailtirean bho dhreachan 5.18 agus 5.19. Tha an cruth a.out air a bhith air a mholadh o chionn fhada air siostaman Linux, agus chan eil gineadh de fhaidhlichean a.out a’ faighinn taic bho innealan ùr-nodha ann an rèiteachaidhean Linux bunaiteach. Faodar an luchdan airson faidhlichean a.out a chuir an gnìomh gu tur ann an àite luchd-cleachdaidh.
    • Airson siostaman stèidhichte air ailtireachd seata stiùiridh LoongArch a chaidh a chleachdadh ann am pròiseasairean Loongson 3 5000 agus a ’buileachadh an RISC ISA ùr, coltach ri MIPS agus RISC-V, tha taic airson tachartasan tomhais coileanaidh (tachartasan perf), cruinneachadh kexec, kdump agus BPF JIT air a bhuileachadh. .
    • Tha an eadar-aghaidh io_uring asyncronach I/O a’ tabhann modh ùr, IORING_SETUP_DEFER_TASKRUN, a leigeas le obair co-cheangailte ri bufair fàinne a chuir dheth airson ùine gus an tèid iarrtas tagraidh a dhèanamh, a ghabhas cleachdadh airson obair baidse agus cùisean latency a sheachnadh mar thoradh air preemption. àm ceàrr.
    • Tha comas aig pròiseasan ann an àite luchd-cleachdaidh tionndadh de raon de dhuilleagan cuimhne àbhaisteach a thòiseachadh gu seata de dhuilleagan cuimhne mòra (Duilleagan Mòra Transparent).
    • Cur an gnìomh an inneal / dev/userfaultfd a bharrachd, a leigeas le faighinn gu gnìomhachd gairm siostam userfaultfd () a’ cleachdadh chòraichean-slighe san FS. Leigidh gnìomh userfaultfd leat innealan-làimhseachaidh a chruthachadh airson faighinn gu duilleagan cuimhne neo-riaraichte (sgàinidhean duilleag) ann an àite luchd-cleachdaidh.
    • Chaidh na riatanasan airson an dreach den GNU Make utility àrdachadh - tha feum air tionndadh 3.82 co-dhiù gus an kernel a thogail.
  • Fo-shiostam diosc, I/O agus siostaman faidhle
    • Chaidh optimachadh coileanaidh cudromach a dhèanamh air siostam faidhle Btrfs; am measg rudan eile, tha coileanadh gairm FIEMAP ioctl air àrdachadh le òrdughan meudachd. Taic a bharrachd airson sgrìobhadh bufair asyncronach airson tagraidhean a’ cleachdadh io_uring. Taic a bharrachd airson faidhlichean air an dìon le fs-verity don ghnìomhachd “send”.
    • Tha an siostam faidhle ext4 air optimizations coileanaidh a chuir ris co-cheangailte ri cumail suas irisean agus obrachadh leughadh a-mhàin.
    • Tha siostam faidhle EROFS (Siostam faidhle le leughadh a-mhàin nas fheàrr), air a dhealbhadh airson a chleachdadh air pàirtean a tha ruigsinneach ann am modh leughaidh a-mhàin, a’ buileachadh comas dàta dùblaichte a cho-roinn ann an diofar shiostaman faidhle.
    • Chaidh gairm siostam statx () a chuir ris gus fiosrachadh a thaisbeanadh a thaobh an urrainnear I / O dìreach a chuir air faidhle.
    • Chaidh taic airson faidhlichean sealach a chruthachadh leis a’ bhratach O_TMPFILE a chur ris an fho-shiostam FUSE (Filesystems in User Space).
  • Mas-fhìor agus tèarainteachd
    • Chaidh buileachadh inneal dìon CFI (Slànachadh Sruth Smachd) a chuir na àite, a’ cur sgrùdaidhean ris ro gach gairm neo-dhìreach air gnìomh gus cuid de sheòrsan giùlan neo-mhìnichte a lorg a dh’ fhaodadh leantainn gu briseadh an òrdugh cur gu bàs àbhaisteach (sruth smachd) mar a mar thoradh air cleachdadh cleasan a dh’ atharraicheas comharran gu gnìomhan a tha air an stòradh sa chuimhne . Chaidh roghainn a chuir an àite buileachadh àbhaisteach CFI bhon phròiseact LLVM cuideachd stèidhichte air cleachdadh Clang, ach air atharrachadh gu sònraichte gus fo-shiostaman ìre ìosal agus kernels siostam obrachaidh a dhìon. Ann an LLVM, thèid buileachadh ùr a thabhann anns an fhoillseachadh Clang 16 agus bidh e air a chomasachadh leis an roghainn “-fsanitize = kcfi”. Is e am prìomh eadar-dhealachadh leis a’ bhuileachadh ùr nach eil e ceangailte ri optimizations ùine ceangail (LTO) agus nach eil e a’ ciallachadh gun tèid ceanglaichean sa chlàr leum a chuir an àite comharran gnìomh.
    • Airson modalan LSM (Linux Security Module), tha e comasach innealan-làimhseachaidh a chruthachadh a chuireas stad air gnìomhachd gus àiteachan ainmean a chruthachadh.
    • Tha innealan air an toirt seachad airson dearbhadh ainmean didseatach PKCS #7 ann am prògraman BPF.
    • Tha an comas fosgladh ann am modh neo-bacadh (O_NONBLOCK), a chaidh a thoirt air falbh gun fhiosta ann an kernel 5.6, air a thilleadh gu / dev/random.
    • Air siostaman le ailtireachd x86, chaidh rabhadh a chuir ris gun fhios nach tèid duilleagan cuimhne a mhapadh le fo-shiostaman kernel a leigeas le coileanadh agus sgrìobhadh aig an aon àm. Anns an àm ri teachd, thathas a’ beachdachadh air a’ chomas a bhith ann casg a chuir air a leithid de mhapadh cuimhne.
    • Chaidh inneal deasbaid KMSAN (Kernel Memory Sanitizer) a chuir ris gus cleachdadh cuimhne neo-aithnichte anns an kernel a lorg, a bharrachd air aoidion cuimhne neo-aithnichte eadar àite luchd-cleachdaidh agus innealan.
    • Chaidh leasachaidhean a dhèanamh air gineadair àireamh meallta-air thuaiream CRNG crypto-secure a thathar a’ cleachdadh anns a’ ghairm getrandom. Chaidh na h-atharrachaidhean ullachadh le Jason A. Donenfeld, ùghdar VPN WireGuard, agus tha iad ag amas air tèarainteachd a bhith a’ toirt a-mach às-tharraing meallta meallta.
  • Fo-shiostam lìonra
    • Tha an stac TCP a’ toirt comas (ciorramach gu bunaiteach) clàran hash socaid a chleachdadh air leth airson gach ainm-àite, a leasaicheas coileanadh air siostaman le àireamh mhòr de dh’ ainmean.
    • Còd air a thoirt air falbh gus taic a thoirt don phròtacal DECnet dìleab. Tha stoban API àite cleachdaiche air am fàgail nan àite gus leigeil le tagraidhean a chleachdas DECnet a bhith air an cur ri chèile, ach cha bhith e comasach dha na tagraidhean sin ceangal ris an lìonra.
    • Tha protocol netlink air a chlàradh.
  • Uidheam
    • Tha an draibhear amdgpu air taic a chuir ris airson DSC (Display Stream Compression) a chuir air adhart airson teannachadh dàta gun chall nuair a bhios iad ag iomlaid fiosrachadh le scrionaichean a bheir taic do rùintean fìor àrd. Tha obair a’ leantainn air adhart a’ toirt taic do àrd-ùrlaran AMD RDNA3 (RX 7000) agus CDNA (Instinct). Taic a bharrachd airson co-phàirtean DCN 3.2, SMU 13.x, NBIO 7.7, GC 11.x, PSP 13.x, SDMA 6.x agus GMC 11.x IP. Tha an draibhear amdkfd (airson GPUs AMD air leth leithid Polaris) a’ toirt taic do GFX 11.0.3.
    • Tha an draibhear i915 (Intel) a’ toirt a-steach taic airson Meteor Lake GPU. Bidh Meteor Lake agus GPUs nas ùire a ’toirt taic do eadar-aghaidh DP 2.0 (DisplayPort). aithnichearan a bharrachd airson cairtean bhidio stèidhichte air microarchitecture Alder Lake S.
    • Taic a bharrachd airson fo-shiostaman claisneachd air an cur an gnìomh ann am pròiseasairean Apple Silicon, Intel SkyLake agus Intel KabyLake. Tha an draibhear claisneachd CS35L41 HDA a’ toirt taic do mhodh cadail. Chuir sinn taic ASoC (ALSA System on Chip) ris airson sgoltagan claisneachd aonaichte Apple Silicon, AMD Rembrant DSPs, AMD Pink Sardine ACP 6.2, Everest ES8326, Intel Sky Lake agus Kaby Lake, Mediatek MT8186, NXP i.MX8ULP DSPs, Qualcomm SC8280XP, SM8250, SM8450 agus Texas Instruments SRC4392
    • Taic a bharrachd airson pannalan LCD Samsung LTL101AL01, B120XAN01.0, R140NWF5 RH, Densitron DMT028VGHMCMI-1A TFT, AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120ACA-EA1, AUO B116UAN01.6, Innolux N116ACA-EA21, AUO B116. , INX N2BCA- EA116, INX N1BCN-EA0800, Teicneòlas Ioma-Inno MI9FT-XNUMX.
    • Taic a bharrachd airson luchd-riaghlaidh AHCI SATA a chaidh a chleachdadh anns an Baikal-T1 SoC.
    • Taic a bharrachd airson chips Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, Ceangal Amalaichte), Realtek RTL8852C, RTW8852AE agus RTL8761BUV (Edimax BT-8500).
    • Tha an draibhear ath11k airson modalan gun uèir Qualcomm air taic a chuir ri sganadh speurail anns an raon 160 MHz, air NAPI ioma-snàithlean a chuir an gnìomh, agus taic nas fheàrr airson sgoltagan Wi-Fi Qualcomm WCN6750.
    • Dràibhearan a bharrachd airson meur-chlàr PinePhone, touchpads InterTouch (ThinkPad P1 G3), Rianadair Adaptive X-Box, Rianadair Itealaich PhoenixRC, Rianadair Càr VRC-2, Rianadair DualSense Edge, Pannal Obrachaidh IBM, smachdan XBOX One Elite, tablaidean XP-PEN Deco Pro S agus Intuos Pro Small (PTH-460).
    • Dràibhear air a chur ris airson luathadairean criptografach Aspeed HACE (Hash and Crypto Engine).
    • Taic a bharrachd airson luchd-riaghlaidh aonaichte Thunderbolt / USB4 Intel Meteor Lake.
    • Taic a bharrachd airson fònaichean sgairteil Sony Xperia 1 IV, Samsung Galaxy E5, E7 agus Grand Max, Pine64 Pinephone Pro.
    • Taic a bharrachd airson ARM SoC agus bùird: AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 agus RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062/IPQ8065, BL i.MX8MM OSM-S, MT8195 (Acer Tomato), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p. Dràibhearan ùraichte airson SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom agus NXP.

Aig an aon àm, chruthaich Bunait Bathar-bog an-asgaidh Ameireagaidh Laidinn dreach den kernel gu tur an-asgaidh 6.1 - Linux-libre 6.1-gnu, air fhuadach de eileamaidean de firmware agus draibhearan anns a bheil co-phàirtean neo-asgaidh no earrannan de chòd, agus tha an raon aige. cuingealaichte leis an neach-dèanamh. Bidh an sgaoileadh ùr a’ glanadh an draibhear rtw8852b ùr agus faidhlichean DTS airson diofar Qualcomm agus MediaTek SoCs le pròiseasairean stèidhichte air ailtireachd AArch64. Còd glanadh blob ùraichte ann an draibhearan agus fo-shiostaman amdgpu, i915, brcmfmac, r8188eu, rtw8852c, Intel ACPI. Glanadh seann dhràibhearan tm6000 cairtean Tbh, cpia2 v4l, sp8870, av7110 air a cheartachadh.

Source: fosgailtenet.ru

Cuir beachd ann