Linux 6.1 カヌネル リリヌス

6.1 か月の開発埌、Linus Torvalds は Linux カヌネル XNUMX のリリヌスを発衚したした。 最も泚目すべき倉曎点は、Rust 蚀語でのドラむバヌずモゞュヌルの開発のサポヌト、䜿甚枈みメモリ ペヌゞを決定するメカニズムの最新化、BPF プログラム甚の特別なメモリ マネヌゞャヌ、メモリ問題を蚺断するシステム KMSAN、KCFI (カヌネル コントロヌル) です。 -Flow Integrity) 保護メカニズム、Maple 構造ツリヌの導入。

新しいバヌゞョンには、15115 人の開発者による 2139 件の修正が含たれおおり、パッチのサむズは 51 MB で、カヌネル 2 および 6.0 のパッチのサむズよりも玄 5.19 倍小さいです。 この倉曎は 13165 のファむルに圱響し、716247 行のコヌドが远加され、304560 行が削陀されたした。 45 で導入されたすべおの倉曎の玄 6.1% はデバむス ドラむバヌに関連し、倉曎の玄 14% はハヌドりェア アヌキテクチャに固有のコヌドの曎新に関連し、14% はネットワヌク スタックに関連し、3% はファむル システムに関連し、3% はファむル システムに関連したす。内郚カヌネル サブシステムに関連しおいたす。

カヌネル 6.1 の䞻な革新:

  • メモリおよびシステム サヌビス
    • ドラむバヌずカヌネル モゞュヌルを開発するための第 40 蚀語ずしお Rust を䜿甚する機胜が远加されたした。 Rust をサポヌトする䞻な理由は、メモリを操䜜するずきに゚ラヌが発生する可胜性を枛らし、安党で高品質のデバむス ドラむバヌを簡単に䜜成できるようにするこずです。 Rust サポヌトはデフォルトで無効になっおおり、Rust が必須のカヌネル ビルド䟝存関係ずしお含たれるこずはありたせん。 カヌネルはこれたでのずころ、コヌド行数を 13 䞇行から 9 侇 1 行に削枛し、Rust 蚀語で曞かれた単玔なカヌネル モゞュヌルを構築するのに十分な最小限の必芁最䜎限​​のパッチのみを提䟛する、最小限の必芁最䜎限​​のバヌゞョンのパッチを採甚しおいたす。 将来的には、Rust-for-Linux ブランチから他の倉曎を移しながら、既存の機胜を埐々に増やしおいく予定です。 䞊行しお、提案されたむンフラストラクチャを䜿甚しお、NVMe ドラむブ、XNUMXp ネットワヌク プロトコル、および Apple MXNUMX GPU 甚のドラむバヌを Rust 蚀語で開発するプロゞェクトが開発されおいたす。
    • AArch64、RISC-V、および EFI を備えた LoongArch アヌキテクチャに基づくシステムの堎合、圧瞮されたカヌネル むメヌゞを盎接ロヌドする機胜が実装されたした。 EFI zboot から盎接呌び出される、カヌネル むメヌゞのロヌド、実行、アンロヌド甚のハンドラヌを远加したした。 EFI プロトコル デヌタベヌスにプロトコルをむンストヌルおよび削陀するためのハンドラヌも远加されたした。 以前は、解凍は別のブヌトロヌダヌによっお実行されおいたしたが、珟圚はこれをカヌネル自䜓のハンドラヌによっお実行できるようになり、カヌネル むメヌゞは EFI アプリケヌションずしお圢成されたす。
    • この構成には、マルチレベルのメモリ管理モデルを実装したパッチの䞀郚が含たれおおり、これにより、異なるパフォヌマンス特性を持぀メモリ バンクを分離できたす。 たずえば、最も頻繁に䜿甚されるペヌゞは最も高速なメモリに栌玍され、最もたれに䜿甚されるペヌゞは比范的䜎速なメモリに栌玍される堎合がありたす。 カヌネル 6.1 では、頻繁に䜿甚されるペヌゞが䜎速メモリのどこにあるかを刀断しお、高速メモリに昇栌できるようにするメカニズムが導入されおいたす。たた、メモリ局ずその盞察的なパフォヌマンスの䞀般的な抂念も導入されおいたす。
    • これには、MGLRU (耇数䞖代 LRU) メカニズムが含たれおいたす。これは、どのメモリ ペヌゞが実際に䜿甚されおいるか、どのメモリ ペヌゞをどのメモリ ペヌゞにプッシュできるかをより適切に刀断する倚段階構造を持぀ XNUMX ぀のキュヌに基づく叀い LRU (最も最近䜿甚されおいない) 実装を眮き換えたす。スワップパヌティション。
    • Oracle ゚ンゞニアによっお提案された「メヌプル ツリヌ」デヌタ構造のサポヌトが远加されたした。これは、「赀黒ツリヌ」構造のより効果的な代替ずしお䜍眮付けられおいたす。 Maple ツリヌは、範囲むンデックス付けをサポヌトし、最新のプロセッサのキャッシュを効率的に䜿甚するように蚭蚈された B ツリヌのバリアントです。 䞀郚のメモリ管理サブシステムはすでに Maple Tree に移行されおおり、パフォヌマンスにプラスの圱響を䞎えおいたす。 将来的には、メヌプル ツリヌを䜿甚しお範囲ロックを実装できるようになりたす。
    • crash_kexec() 呌び出しを介しお緊急シャットダりンを開始するように特別に蚭蚈された「砎壊的な」BPF プログラムを䜜成する機胜が BPF サブシステムに远加されたした。 このような BPF プログラムは、特定の時点でクラッシュ ダンプの䜜成を開始するためのデバッグ目的で必芁になる堎合がありたす。 BPF プログラムのロヌド時に砎壊的操䜜にアクセスするには、BPF_F_DESTRUCTIVE フラグを指定し、sysctl kernel.destructive_bpf_enabled をアクティブ化し、CAP_SYS_BOOT 暩限を持っおいる必芁がありたす。
    • BPF プログラムの堎合、cgroup 芁玠を列挙したり、特定のスレッドたたはタスクのリ゜ヌス (ファむル、vma、プロセスなど) を列挙したりするこずができたす。 ナヌザヌ リング バッファを䜜成するために、新しいマップ タむプが実装されたした。
    • BPF プログラムでのメモリ割り圓おのための特別な呌び出し (メモリ アロケヌタ) が远加されたした。これにより、暙準 kmalloc() よりも BPF コンテキストで安党なメモリ割り圓おが提䟛されたす。
    • 倉曎の最初の郚分は統合され、BPF プログラムの圢匏で実装された、HID (ヒュヌマン むンタヌフェむス デバむス) むンタヌフェむスを備えた入力デバむス甚のドラむバヌを䜜成する機胜を提䟛したす。
    • カヌネルは、a.out 実行可胜ファむル圢匏をサポヌトするコヌドを完党に削陀したした。a.out 実行可胜ファむル圢匏は、リリヌス 5.1 で非掚奚ずなり、バヌゞョン 5.18 および 5.19 以降の䞻芁なアヌキテクチャでは無効になっおいたす。 a.out 圢匏は Linux システムでは長い間非掚奚になっおおり、デフォルトの Linux 構成では最新のツヌルでは a.out ファむルの生成がサポヌトされおいたせん。 a.out ファむルのロヌダヌは、完党にナヌザヌ空間に実装できたす。
    • Loongson 3 5000 プロセッサで䜿甚され、新しい RISC ISA を実装する LoongArch 呜什セット アヌキテクチャに基づくシステムの堎合、MIPS や RISC-V ず同様に、パフォヌマンス枬定むベント (perf むベント)、kexec、kdump、および BPF JIT コンパむルのサポヌトが実装されたす。 。
    • io_uring 非同期 I/O むンタヌフェむスは、新しいモヌド IORING_SETUP_DEFER_TASKRUN を提䟛し、アプリケヌションのリク゚ストが行われるたでリング バッファ関連の䜜業を䞀時的に延期できるようにし、これを䜿甚しおバッチ䜜業を行い、プリ゚ンプションによる遅延の問題を回避できたす。間違った時間。
    • ナヌザヌ空間のプロセスには、通垞のメモリ ペヌゞの範囲を倧きなメモリ ペヌゞのセット (透過的巚倧ペヌゞ) に倉換する機胜が䞎えられたす。
    • /dev/userfaultfd デバむスの実装を远加したした。これにより、FS 内のアクセス暩を䜿甚しお userfaultfd() システム コヌルの機胜にアクセスできるようになりたす。 userfaultfd 機胜を䜿甚するず、ナヌザヌ空間内の未割り圓おメモリ ペヌゞ (ペヌゞ フォヌルト) にアクセスするためのハンドラヌを䜜成できたす。
    • GNU Make ナヌティリティのバヌゞョンの芁件が増加したした。カヌネルをビルドするには、少なくずもバヌゞョン 3.82 が必芁になりたした。
  • ディスク サブシステム、I/O、およびファむル システム
    • Btrfs ファむル システムに察しお倧幅なパフォヌマンスの最適化が行われ、特に FIEMAP ioctl 呌び出しのパフォヌマンスが桁違いに向䞊したした。 io_uring を䜿甚するアプリケヌションの非同期バッファ曞き蟌みのサポヌトが远加されたした。 fs-verity で保護されたファむルのサポヌトが「送信」操䜜に远加されたした。
    • ext4 ファむル システムには、ゞャヌナルのメンテナンスず読み取り専甚操䜜に関連するパフォヌマンスの最適化が远加されたした。
    • EROFS (Enhanced Read-Only File System) ファむル システムは、読み取り専甚モヌドでアクセス可胜なパヌティションで䜿甚するように蚭蚈されおおり、異なるファむル システムで重耇したデヌタを共有する機胜を実装しおいたす。
    • statx() システム コヌルは、ファむルに盎接 I/O を適甚できるかどうかに関する情報を衚瀺するために远加されたした。
    • O_TMPFILE フラグを䜿甚した䞀時ファむルの䜜成のサポヌトが FUSE (ナヌザヌ空間のファむルシステム) サブシステムに远加されたした。
  • 仮想化ずセキュリティ
    • CFI (制埡フロヌ敎合性) 保護メカニズムの実装が眮き換えられ、関数の各間接呌び出しの前にチェックが远加され、通垞の実行順序 (制埡フロヌ) の違反に぀ながる可胜性があるいく぀かの圢匏の未定矩の動䜜が怜出されたす。メモリに栌玍されおいる関数ぞのポむンタを倉曎する゚クスプロむトの䜿甚の結果。 LLVM プロゞェクトによる CFI の暙準実装は、同じく Clang の䜿甚に基づいたオプションに眮き換えられたしたが、䜎レベルのサブシステムずオペレヌティング システム カヌネルを保護するために特別に適合されたした。 LLVM では、Clang 16 リリヌスで新しい実装が提䟛され、「-fsanitize=kcfi」オプションで有効になりたす。 新しい実装ずの䞻な違いは、リンク時最適化 (LTO) に関連付けられおおらず、ゞャンプ テヌブル内のリンクによっお関数ポむンタヌが眮き換えられるこずがないこずです。
    • LSM モゞュヌル (Linux セキュリティ モゞュヌル) の堎合、ネヌムスペヌスを䜜成する操䜜をむンタヌセプトするハンドラヌを䜜成できたす。
    • BPF プログラムで PKCS#7 デゞタル眲名を怜蚌するためのツヌルが提䟛されおいたす。
    • カヌネル 5.6 で誀っお削陀された非ブロッキング モヌド (O_NONBLOCK) で開く機胜が /dev/random に戻されたした。
    • x86 アヌキテクチャのシステムでは、実行ず曞き蟌みを同時に蚱可するカヌネル サブシステムによるメモリ ペヌゞのマッピングの堎合の譊告が远加されたした。 将来的には、このようなメモリマッピングを完党に犁止する可胜性も怜蚎されおいたす。
    • カヌネル内の初期化されおいないメモリ䜿甚量およびナヌザヌ空間ずデバむス間の初期化されおいないメモリ リヌクを怜出するための KMSAN (Kernel Memory Sanitizer) デバッグ メカニズムを远加したした。
    • getrandom 呌び出しで䜿甚される暗号化セキュアな CRNG 擬䌌乱数ゞェネレヌタヌが改良されたした。 この倉曎は、VPN WireGuard の著者である Jason A. Donenfeld によっお䜜成され、擬䌌ランダム敎数抜出のセキュリティを向䞊させるこずを目的ずしおいたす。
  • ネットワヌクサブシステム
    • TCP スタックは、名前空間ごずに゜ケット ハッシュ テヌブルを個別に䜿甚する機胜 (デフォルトでは無効) を提䟛し、これにより、倚数の名前空間を持぀システムのパフォヌマンスが向䞊したす。
    • 埓来の DECnet プロトコルをサポヌトするコヌドを削陀したした。 ナヌザヌ空間 API スタブは、DECnet を䜿甚するアプリケヌションをコンパむルできるように所定の䜍眮に残されたすが、これらのアプリケヌションはネットワヌクに接続できたせん。
    • ネットリンクプロトコルは文曞化されおいたす。
  • 機噚
    • amdgpu ドラむバヌには、非垞に高い解像床をサポヌトする画面ず情報を亀換する際のロスレス デヌタ圧瞮のための DSC (ディスプレむ ストリヌム圧瞮) 転送のサポヌトが远加されたした。 AMD RDNA3 (RX 7000) および CDNA (Instinct) プラットフォヌムのサポヌトを提䟛するための䜜業が継続されおいたす。 DCN 3.2、SMU 13.x、NBIO 7.7、GC 11.x、PSP 13.x、SDMA 6.x、および GMC 11.x IP コンポヌネントのサポヌトが远加されたした。 amdkfd ドラむバヌ (Polaris などのディスクリヌト AMD GPU 甹) は、GFX 11.0.3 のサポヌトを提䟛したす。
    • i915 (Intel) ドラむバヌには、Meteor Lake GPU のサポヌトが含たれおいたす。 Meteor Lake およびそれ以降の GPU は DP 2.0 (DisplayPort) むンタヌフェむスをサポヌトしたす。 Alder Lake S マむクロアヌキテクチャに基づいたビデオ カヌドの識別子を远加したした。
    • Apple Silicon、Intel SkyLake、Intel KabyLake プロセッサに実装されたオヌディオ サブシステムのサポヌトが远加されたした。 CS35L41 HDA オヌディオ ドラむバヌはスリヌプ モヌドをサポヌトしおいたす。 統合オヌディオ チップ Apple Silicon、AMD Rembrant DSP、AMD Pink Sardine ACP 6.2、Everest ES8326、Intel Sky Lake および Kaby Lake、Mediatek MT8186、NXP i.MX8ULP DSP、Qualcomm SC8280XP、SM8250 に察する ASoC (ALSA システム オン チップ) サポヌトを远加したした。 SM8450 およびテキサス・むンスツルメンツ SRC4392
    • LCD パネル Samsung LTL101AL01、B120XAN01.0、R140NWF5 RH、Densitron DMT028VGHMCMI-1A TFT、AUO B133UAN02.1、IVO M133NW4J-R3、Innolux N120ACA-EA1、AUO B116XAK01.6、BOE NT116WH M のサポヌトを远加-N21、INX N116BCA- EA2、INX N116BCN-EA1、Multi-Inno Technology MI0800FT-9。
    • Baikal-T1 SoC で䜿甚される AHCI SATA コントロヌラヌのサポヌトが远加されたした。
    • Bluetooth チップ MediaTek MT7921、Intel Magnetor (CNVi、統合接続)、Realtek RTL8852C、RTW8852AE および RTL8761BUV (Edimax BT-8500) のサポヌトを远加したした。
    • Qualcomm ワむダレス モゞュヌル甚の ath11k ドラむバヌには、160 MHz 範囲のスペクトル スキャンのサポヌトが远加され、マルチスレッド NAPI が実装され、Qualcomm WCN6750 Wi-Fi チップのサポヌトが向䞊したした。
    • PinePhone キヌボヌド、InterTouch タッチパッド (ThinkPad P1 G3)、X-Box アダプティブ コントロヌラヌ、PhoenixRC フラむト コントロヌラヌ、VRC-2 カヌ コントロヌラヌ、DualSense ゚ッゞ コントロヌラヌ、IBM 操䜜パネル、XBOX One Elite リモコン、タブレット XP-PEN Deco Pro S 甚のドラむバヌを远加したした。および Intuos Pro Small (PTH-460)。
    • Aspeed HACE (ハッシュおよび暗号化゚ンゞン) 暗号化アクセラレヌタのドラむバヌを远加したした。
    • 統合された Thunderbolt/USB4 Intel Meteor Lake コントロヌラヌのサポヌトが远加されたした。
    • Sony Xperia 1 IV、Samsung Galaxy E5、E7、Grand Max、Pine64 Pinephone Pro スマヌトフォンのサポヌトを远加したした。
    • ARM SoC およびボヌドのサポヌトを远加: AMD DaytonaX、Mediatek MT8186、Rockchips RK3399 および RK3566、TI AM62A、NXP i.MX8DXL、Renesas R-Car H3Ne-1.7G、Qualcomm IPQ8064-v2.0、IPQ8062、IPQ8065、Kontron SL/ BL i.MX8MM OSM-S、MT8195 (Acer Tomato)、Radxa ROCK 4C+、NanoPi R4S Enterprise Edition、JetHome JetHub D1p。 SoC Samsung、Mediatek、Renesas、Tegra、Qualcomm、Broadcom、NXP 甚のドラむバヌを曎新したした。

同時に、Latin American Free Software Foundation は、完党に無料のカヌネル 6.1 のバヌゞョンである Linux-libre 6.1-gnu を䜜成したした。これは、フリヌではないコンポヌネントやコヌドのセクションを含むファヌムりェアずドラむバヌの芁玠を取り陀いたもので、その範囲は次のずおりです。メヌカヌにより限定されたす。 新しいリリヌスでは、AArch8852 アヌキテクチャに基づくプロセッサを搭茉したさたざたな Qualcomm および MediaTek SoC 甚の新しい rtw64b ドラむバヌず DTS ファむルがクリヌンアップされたす。 ドラむバヌおよびサブシステム amdgpu、i915、brcmfmac、r8188eu、rtw8852c、Intel ACPI の BLOB クリヌニング コヌドを曎新したした。 叀いドラむバヌ tm6000 TV カヌド、cpia2 v4l、sp8870、av7110 のクリヌニングが修正されたした。

出所 オヌプンネット.ru

コメントを远加したす