Linux Kernel lage 6.2

Apre de mwa nan devlopman, Linus Torvalds prezante liberasyon kernel Linux 6.2. Pami chanjman ki pi remakab yo: yo pèmèt akseptasyon kòd anba lisans Copyleft-Next, aplikasyon RAID5/6 nan Btrfs amelyore, entegrasyon sipò pou lang Rust kontinye, sou tèt pwoteksyon kont atak Retbleed redwi, yo ajoute kapasite pou kontwole konsomasyon memwa pandan ekri, yo ajoute yon mekanis pou balanse TCP PLB (balanse pwoteksyon chaj), yo te ajoute yon mekanis pwoteksyon ibrid kòmand koule (FineIBT), BPF kounye a gen kapasite pou defini objè pwòp li yo ak estrikti done. , rv (Verifikasyon Runtime) sèvis piblik enkli, konsomasyon pouvwa nan aplikasyon an nan kadna RCU te redwi.

Nouvo vèsyon an gen ladan 16843 ranje soti nan 2178 devlopè, gwosè patch la se 62 MB (chanjman ki afekte 14108 dosye, 730195 liy kòd yo te ajoute, 409485 liy yo te efase). Apeprè 42% nan tout chanjman ki prezante nan 6.2 yo gen rapò ak chofè aparèy, apeprè 16% nan chanjman yo ki gen rapò ak ajou kòd espesifik nan achitekti pyès ki nan konpitè, 12% yo gen rapò ak pil rezo a, 4% yo gen rapò ak sistèm dosye, ak 3% yo gen rapò ak subsistèm nwayo entèn yo.

Prensipal inovasyon nan nwayo 6.2:

  • Sèvis memwa ak sistèm
    • Li pèmèt yo mete nan kòd nwayo a ak chanjman yo bay anba lisans Copyleft-Next 0.3.1. Lisans Copyleft-Next te kreye pa youn nan otè GPLv3 epi li konplètman konpatib ak lisans GPLv2, jan avoka SUSE ak Red Hat konfime. Konpare ak GPLv2, lisans Copyleft-Next a pi plis kontra ak pi fasil pou konprann (yo te retire pati entwodiksyon ak mansyone konpwomi demode), defini delè a ak pwosedi pou elimine vyolasyon, epi otomatikman retire kondisyon copyleft pou lojisyèl demode ki gen plis pase 15 ane fin vye granmoun.

      Copyleft-Next gen tou yon kloz sibvansyon teknoloji propriétaires, ki, kontrèman ak GPLv2, fè lisans sa a konpatib ak lisans Apache 2.0. Pou asire tout konpatibilite ak GPLv2, Copyleft-Next deklare klèman ke yon travay derive ka distribye anba lisans GPL anplis lisans orijinal Copyleft-Next.

    • Estrikti a gen ladan sèvis piblik "rv", ki bay yon koòdone pou entèraksyon soti nan espas itilizatè ak moun k ap okipe sous-sistèm RV (Verifikasyon Runtime), ki fèt pou tcheke operasyon kòrèk la sou sistèm trè serye ki garanti absans echèk. Verifikasyon fèt nan moman an lè yo atache moun kap okipe yo nan pwen trase ki tcheke pwogrè aktyèl la nan ekzekisyon an kont yon modèl referans predetèmine nan machin nan ki defini konpòtman an espere nan sistèm nan.
    • Aparèy zRAM la, ki pèmèt patisyon swap la estoke nan memwa nan yon fòm konprese (yon aparèy blòk kreye nan memwa ki swap fèt ak konpresyon), aplike kapasite nan repack paj lè l sèvi avèk yon algorithm altènatif pou reyalize yon nivo ki pi wo. nan konpresyon. Lide prensipal la se bay yon chwa ant plizyè algoritm (lzo, lzo-rle, lz4, lz4hc, zstd), ki ofri pwòp konpwomi yo ant vitès konpresyon / dekonpresyon ak nivo konpresyon, oswa pi bon nan sitiyasyon espesyal (pa egzanp, pou konpresyon gwo. paj memwa).
    • Te ajoute API "iommufd" pou jere sistèm jesyon memwa I/O - IOMMU (I/O Memory-Management Unit) soti nan espas itilizatè. Nouvo API a fè li posib pou jere tab paj memwa I/O lè l sèvi avèk deskriptè fichye yo.
    • BPF bay kapasite pou kreye kalite, defini pwòp objè ou yo, bati pwòp yerachi objè ou yo, ak fleksibilite kreye pwòp estrikti done ou, tankou lis lye. Pou pwogram BPF ki antre nan mòd dòmi (BPF_F_SLEEPABLE), sipò pou bpf_rcu_read_{,un}lock() kadna yo te ajoute. Aplike sipò pou ekonomize objè task_struct. Te ajoute kat tip BPF_MAP_TYPE_CGRP_STORAGE, bay depo lokal pou cgroups.
    • Pou mekanis bloke RCU (Read-copy-update), yon mekanis opsyonèl nan apèl "parese" aplike, nan ki plizyè apèl callback yo trete nan yon fwa lè l sèvi avèk yon revèy nan mòd pakèt. Aplikasyon optimize yo pwopoze a pèmèt nou diminye konsomasyon pouvwa sou aparèy Android ak ChromeOS pa 5-10% lè nou ranvwaye demann RCU pandan tan san fè anyen konsa oswa chaj ki ba sou sistèm nan.
    • Te ajoute sysctl split_lock_mitigate pou kontwole kijan sistèm nan reyaji lè li detekte kadna fann ki rive lè w ap jwenn aksè nan done ki pa aliye nan memwa akòz done yo travèse de liy kachèt CPU lè li ap egzekite yon enstriksyon atomik. Blokaj sa yo mennen nan yon gout enpòtan nan pèfòmans. Mete split_lock_mitigate a 0 sèlman bay yon avètisman ke gen yon pwoblèm, pandan y ap mete split_lock_mitigate a 1 lakòz tou pwosesis ki te lakòz fèmen a ralanti pou konsève pèfòmans pou rès sistèm nan.
    • Yo te pwopoze yon nouvo aplikasyon qspinlock pou achitekti PowerPC, ki montre pi wo pèfòmans ak rezoud kèk pwoblèm bloke ki parèt nan ka eksepsyonèl.
    • MSI (Message-Signaled Interrupts) kòd entèwonp manyen yo te retravay, elimine pwoblèm akimile achitekti ak ajoute sipò pou obligatwa moun kap okipe yo nan diferan aparèy.
    • Pou sistèm ki baze sou achitekti seri enstriksyon LoongArch yo itilize nan processeurs Loongson 3 5000 yo ak aplikasyon nouvo RISC ISA, menm jan ak MIPS ak RISC-V, sipò pou ftrace, pwoteksyon pile, dòmi ak mòd sibstiti yo aplike.
    • Yo bay kapasite pou bay non yo nan zòn memwa anonim pataje (anvan non yo te kapab sèlman asiyen nan memwa anonim prive ki te asiyen nan yon pwosesis espesifik).
    • Te ajoute yon nouvo paramèt liy lòd nwayo "trace_trigger", ki fèt pou aktive yon deklanche tras ki itilize pou mare kòmandman kondisyonèl yo rele lè yon chèk kontwòl deklanche (pa egzanp, trace_trigger="sched_switch.stacktrace si prev_state == 2").
    • Kondisyon yo pou vèsyon an nan pake binutils yo te ogmante. Bati nwayo a kounye a mande pou omwen binutils 2.25.
    • Lè w ap rele exec(), yo te ajoute kapasite pou mete yon pwosesis nan yon espas non tan, kote tan an diferan de tan sistèm lan.
    • Nou te kòmanse transfere lòt fonksyonalite nan branch Rust-for-Linux ki gen rapò ak itilizasyon lang Rust kòm yon dezyèm lang pou devlope chofè ak modil nwayo. Sipò Rust enfim pa default epi li pa lakòz yo enkli Rust kòm yon depandans konstriksyon nwayo obligatwa. Fonksyonalite debaz yo ofri nan dènye vèsyon an elaji pou sipòte kòd ki ba nivo, tankou kalite Vec ak makro pr_debug!(), pr_cont!() ak pr_alert!(), osi byen ke macro pwosedi "#[vtable". ]", ki senplifye travay ak tablo konsèy sou fonksyon. Anplis de sa ki wo nivo lyezon Rust sou subsistèm nwayo yo, ki pral pèmèt kreyasyon tout bon chofè yo nan Rust, espere nan pwochen degaje yo.
    • Kalite "char" yo itilize nan nwayo a kounye a deklare pa siyen pa default pou tout achitekti.
    • Mekanis alokasyon memwa dal - SLOB (slab allocator), ki te fèt pou sistèm ki gen yon ti kantite memwa, yo te deklare demode. Olye pou SLOB, nan kondisyon nòmal li rekòmande pou itilize SLUB oswa SLAB. Pou sistèm ki gen yon ti kantite memwa, li rekòmande pou itilize SLUB nan mòd SLUB_TINY.
  • Disk Subsystem, I/O ak File Systems
    • Amelyorasyon yo te fè nan Btrfs ki vize a repare pwoblèm nan "twou ekri" nan enplemantasyon RAID 5/6 (yon tantativ retabli yon ATAK si yon aksidan rive pandan ekri epi li enposib konprann ki blòk sou ki aparèy RAID yo te ekri kòrèkteman, ki ka mennen nan destriksyon blòk, ki koresponn ak blòk siskri). Anplis de sa, SSD kounye a otomatikman pèmèt operasyon asynchrone jete pa default lè sa posib, sa ki pèmèt pou amelyore pèfòmans akòz gwoupman efikas nan operasyon jete nan moun kap kriye ak pwosesis keu a pa yon processeur background. Amelyore pèfòmans nan operasyon yo voye ak lseek, osi byen ke FIEMAP ioctl la.
    • Kapasite yo pou jere difere ekriti (écriture, ekonomize background nan chanje done) pou aparèy blòk yo te elaji. Nan kèk sitiyasyon, tankou lè w ap itilize aparèy blòk rezo oswa kondui USB, ekri parese ka lakòz gwo konsomasyon RAM. Yo nan lòd yo kontwole konpòtman an nan ekri parese epi kenbe gwosè kachèt paj la nan sèten limit, nouvo paramèt strik_limit, min_bytes, max_bytes, min_ratio_fine ak max_ratio_fine yo te prezante nan sysfs (/sys/class/bdi/).
    • Sistèm fichye F2FS la aplike yon operasyon atomik ranplase ioctl, ki pèmèt ou ekri done nan yon fichye nan yon sèl operasyon atomik. F2FS ajoute tou yon kachèt ekstansyon blòk pou ede idantifye done aktivman itilize oswa done ki pa gen aksè pou yon tan long.
    • Nan ext4 FS sèlman koreksyon erè yo te note.
    • Sistèm fichye ntfs3 la ofri plizyè nouvo opsyon mòn: "nocase" pou kontwole ka sansib nan dosye ak non anyè; windows_name pou entèdi kreyasyon non fichye ki gen karaktè ki pa valab pou Windows; hide_dot_files pou kontwole plasman etikèt dosye kache a pou dosye ki kòmanse ak yon pwen.
    • Sistèm fichye Squashfs la aplike yon opsyon monte "fil =", ki pèmèt ou defini kantite fil pou paralelize operasyon dekonpresyon yo. Squashfs tou entwodwi kapasite pou kat idantifikasyon itilizatè nan sistèm dosye monte, yo itilize pou matche ak dosye yon itilizatè espesifik sou yon patisyon etranje monte ak yon lòt itilizatè sou sistèm aktyèl la.
    • Aplikasyon an nan lis kontwòl aksè POSIX (POSIX ACLs) te retravay. Nouvo aplikasyon an elimine pwoblèm achitekti, senplifye antretyen kodbaz, epi prezante kalite done ki pi an sekirite.
    • Sou-sistèm fscrypt la, ki itilize pou chifreman transparan nan dosye ak anyè, te ajoute sipò pou algorithm chifreman SM4 (Chinwa estanda GB/T 32907-2016).
    • Yo bay kapasite pou konstwi nwayo a san sipò NFSv2 (nan fiti yo planifye konplètman sispann sipòte NFSv2).
    • Òganizasyon pou tcheke dwa aksè nan aparèy NVMe te chanje. Bay kapasite pou li ak ekri sou yon aparèy NVMe si pwosesis ekriti a gen aksè a fichye dedye aparèy la (anvan pwosesis la te oblije gen pèmisyon CAP_SYS_ADMIN).
    • Retire chofè pake CD/DVD, ki te obsolète nan 2016.
  • Virtualization ak sekirite
    • Yon nouvo metòd pwoteksyon kont vilnerabilite Retbleed yo te aplike nan CPU Intel ak AMD, lè l sèvi avèk swiv pwofondè apèl, ki pa ralanti travay otan ke pwoteksyon ki te deja prezan kont Retbleed. Pou pèmèt nouvo mòd la, yo te pwopoze paramèt liy kòmand nwayo "retbleed = stuff".
    • Te ajoute yon ibrid FineIBT mekanis pwoteksyon koule enstriksyon, konbine itilizasyon pyès ki nan konpitè Intel IBT (Endirèk Branch Tracking) enstriksyon ak pwoteksyon lojisyèl kCFI (kernel Control Flow Entegrity) pou bloke vyolasyon lòd egzekisyon nòmal la (koule kontwòl) kòm yon rezilta nan itilizasyon an. nan exploit ki modifye endikasyon ki estoke nan memwa sou fonksyon. FineIBT pèmèt ekzekisyon pa so endirèk sèlman nan ka a nan yon so nan enstriksyon ENDBR la, ki mete nan kòmansman an anpil nan fonksyon an. Anplis de sa, pa analoji ak mekanis kCFI a, hash yo Lè sa a, tcheke pou garanti imuabilite nan endikasyon.
    • Te ajoute restriksyon pou bloke atak ki manipile jenerasyon eta "oops", apre sa travay pwoblèm yo fini epi eta a retabli san yo pa sispann sistèm nan. Avèk yon gwo kantite apèl nan eta a "oops", yon debòde kontwa referans rive (refcount), ki pèmèt eksplwatasyon nan frajilite ki te koze pa dereferences pointer NULL. Pou pwoteje kont atak sa yo, yo te ajoute yon limit nan nwayo a pou kantite maksimòm deklanche "oops", apre yo fin depase ki nwayo a pral kòmanse yon tranzisyon nan eta "panik" ki te swiv pa yon rdemare, ki pa pral pèmèt reyalize a. kantite iterasyon ki nesesè pou debòde refcount la. Pa default, limit la fikse sou 10 mil "oops", men si ou vle, li ka chanje atravè paramèt oops_limit la.
    • Te ajoute paramèt konfigirasyon LEGACY_TIOCSTI ak sysctl legacy_tiocsti pou enfim kapasite pou mete done nan tèminal la lè l sèvi avèk ioctl TIOCSTI a, depi fonksyonalite sa a ka itilize pou ranplase karaktè abitrè nan tanpon opinyon tèminal la ak simulation opinyon itilizatè a.
    • Yo pwopoze yon nouvo kalite estrikti entèn, encoded_page, kote ti moso ki pi ba yo nan konsèy la yo itilize pou estoke enfòmasyon adisyonèl yo itilize pou pwoteje kont dereferans aksidantèl nan konsèy la (si dereference se aktyèlman nesesè, ti moso adisyonèl sa yo dwe efase an premye) .
    • Sou platfòm ARM64 la, nan etap bòt la, li posib pou pèmèt oswa enfim aplikasyon lojisyèl mekanis Shadow Stack la, ki itilize pou pwoteje tèt ou kont ranplase adrès retounen nan yon fonksyon nan ka ta gen yon tanpon debòde sou pil la ( sans nan pwoteksyon an se pou konsève pou adrès la retounen nan yon pil separe "lonbraj" apre yo fin transfere kontwòl nan fonksyon an ak rekipere adrès la bay anvan yo sòti fonksyon an). Sipò pou aplikasyon pyès ki nan konpitè ak lojisyèl nan Shadow Stack nan yon sèl asanble nwayo pèmèt ou sèvi ak yon sèl nwayo sou diferan sistèm ARM, kèlkeswa sipò yo pou enstriksyon pou otantifikasyon konsèy. Se enklizyon nan yon aplikasyon lojisyèl te pote soti nan sibstitisyon an nan enstriksyon ki nesesè yo nan kòd la pandan loading.
    • Te ajoute sipò pou itilize mekanis notifikasyon asynchrone sòti sou processeurs Intel, ki pèmèt detekte atak yon sèl etap sou kòd egzekite nan anklav SGX.
    • Yo pwopoze yon seri operasyon ki pèmèt hypervisor la sipòte demann ki soti nan sistèm envite Intel TDX (Trusted Domain Extensions).
    • Anviwònman konstriksyon nwayo RANDOM_TRUST_BOOTLOADER ak RANDOM_TRUST_CPU yo te retire, an favè opsyon liy kòmand ki koresponn random.trust_bootloader ak random.trust_cpu.
    • Mekanis Landlock la, ki pèmèt ou limite entèraksyon yon gwoup pwosesis ak anviwònman ekstèn lan, te ajoute sipò pou drapo LANDLOCK_ACCESS_FS_TRUNCATE, ki fè li posib pou kontwole ekzekisyon operasyon tronpe fichye yo.
  • Sou-sistèm rezo
    • Pou IPv6, sipò pou PLB (Protective Load Balancing) te ajoute, yon mekanis balans chaj ant lyen rezo ki vize a diminye pwen surcharge sou switch sant done yo. Lè w chanje Etikèt Flow IPv6 la, PLB la chanje owaza chemen pake pou balanse chaj sou pò switch yo. Pou diminye rekòmande pake a, operasyon sa a fèt apre peryòd san fè anyen konsa chak fwa sa posib. Itilizasyon PLB nan sant done Google yo te redwi dezekilib chaj sou pò switch pa yon mwayèn de 60%, redwi pèt pake pa 33%, ak redwi latansi a pa 20%.
    • Te ajoute chofè pou aparèy MediaTek ki sipòte Wi-Fi 7 (802.11be).
    • Te ajoute sipò pou lyen 800-gigabit.
    • Te ajoute kapasite nan chanje non interfaces rezo sou vole, san yo pa sispann travay.
    • Yo te ajoute yon mansyone sou adrès IP kote pake a te rive nan mesaj yo sou SYN inondasyon.
    • Pou UDP, yo te aplike kapasite pou itilize tab hash separe pou espas non rezo diferan.
    • Pou pon rezo yo, sipò pou metòd otantifikasyon MAB (MAC Authentication Bypass) te aplike.
    • Pou pwotokòl CAN (CAN_RAW), sipò pou mòd priz SO_MARK yo te aplike pou tache filtè trafik ki baze sou fwmark.
    • ipset aplike yon nouvo paramèt bitmask ki pèmèt ou mete yon mask ki baze sou bit abitrè nan adrès IP la (pa egzanp, "ipset create set1 hash:ip bitmask 255.128.255.0").
    • Te ajoute sipò pou trete headers entèn andedan pake tinèl nan nf_tables.
  • Ekipman
    • Sou-sistèm "accel" te ajoute ak aplikasyon an nan yon fondasyon pou akseleratè enfòmatik, ki ka apwovizyone swa nan fòm ASIC endividyèl oswa nan fòm blòk IP andedan SoC ak GPU. Akseleratè sa yo sitou vize akselere solisyon pwoblèm aprantisaj machin yo.
    • Chofè amdgpu a gen ladan sipò pou konpozan GC, PSP, SMU ak NBIO IP. Pou sistèm ARM64, sipò pou DCN (Display Core Next) aplike. Aplikasyon an nan pwodiksyon ekran pwoteje yo te deplase soti nan lè l sèvi avèk DCN10 nan DCN21 epi kounye a ka itilize lè konekte ekran miltip.
    • Chofè i915 (Intel) te estabilize sipò pou kat videyo disrè Intel Arc (DG2/Alchemist).
    • Chofè Nouveau a sipòte GPU NVIDIA GA102 (RTX 30) ki baze sou achitekti Ampere. Pou kat nva3 (GT215), yo te ajoute kapasite pou kontwole ekleraj la.
    • Te ajoute sipò pou adaptè san fil ki baze sou Realtek 8852BE, Realtek 8821CU, 8822BU, 8822CU, 8723DU (USB) ak chips MediaTek MT7996, Broadcom BCM4377/4378/4387 koòdone Bluetooth, osi byen ke Motorcomm, NVIDIA Tegra8521 GE ytXNUMX.
    • Te ajoute sipò ASoC (ALSA System on Chip) pou chips son entegre HP Stream 8, Advantech MICA-071, Dell SKU 0C11, Intel ALC5682I-VD, Xiaomi Redmi Book Pro 14 2022, i.MX93, Armada 38x, RK3588. Te ajoute sipò pou koòdone odyo Focusrite Saffire Pro 40. Te ajoute kodèk odyo Realtek RT1318.
    • Te ajoute sipò pou smartphones ak tablèt Sony (Xperia 10 IV, 5 IV, X ak X kontra enfòmèl ant, OnePlus One, 3, 3T ak Nord N100, Xiaomi Poco F1 ak Mi6, Huawei Watch, Google Pixel 3a, Samsung Galaxy Tab 4 10.1.
    • Te ajoute sipò pou ARM SoC ak Apple T6000 (M1 Pro), T6001 (M1 Max), T6002 (M1 Ultra), Qualcomm MSM8996 Pro (Snapdragon 821), SM6115 (Snapdragon 662), SM4250 (Snapdragon 460), SM6375 (Snapdragon 695), 670napdragon planch , SDM670 (Snapdragon 8976), MSM652 (Snapdragon 8956), MSM650 (Snapdragon 3326), RK351 Odroid-Go/rg310, Zyxel NSA8S, InnoComm i.MXXNUMXMM, Odroid Go.

An menm tan an, Fondasyon Lojisyèl Gratis nan Amerik Latin nan te fòme yon vèsyon nan nwayo a konplètman gratis 6.2 - Linux-libre 6.2-gnu, efase nan eleman nan firmwèr ak chofè ki gen eleman propriétaires oswa seksyon nan kòd, sijè ki abòde lan ki limite pa manifakti a. Nouvo lage a netwaye nouvo tach nan nouvo chofè a. Blob loading enfim nan mt7622, ​​​​mt7996 wifi ak bcm4377 chofè bluetooth. Netwaye non blob nan dosye dts pou achitekti Aarch64 la. Mete ajou kòd netwayaj blob nan divès chofè ak subsistèm. Sispann netwaye chofè s5k4ecgx a, menm jan li te retire nan nwayo a.

Sous: opennet.ru

Add nouvo kòmantè