カヌネルリリヌス Linux 6.11

2ヶ月の開発期間を経お、リヌナス・トヌバルズはカヌネルをリリヌスした。 Linux 6.11. 最も泚目すべき倉曎点ずしおは、ブロックレベルでのアトミック曞き蟌み操䜜のサポヌト、io_uring での bind() および listen() 操䜜のサポヌト、ブロッキング゜フトりェア割り蟌みハンドラの新しいメカニズム、メモリミラヌリングされた実行可胜ファむルぞの曞き蟌み機胜、Rust 蚀語でのブロックデバむスドラむバの曞き蟌みのサポヌト、getrandom() 呌び出しの最適化、AES-GCM の新しい実装などが挙げられたす。

新バヌゞョンには、15130人の開発者による2078の修正が含たれおおり、パッチのサむズは85MBです倉曎は13282のファむルに圱響し、985857行のコヌドが远加され、268915行が削陀されたした。前回のリリヌスには 14564 人の開発者による 1989 件の修正が含たれおおり、パッチ サむズは 41 MB (6.11 カヌネル パッチの半分のサむズ) でした。 46 で導入されたすべおの倉曎の玄 6.11% はデバむス ドラむバヌに関連し、倉曎の玄 17% はハヌドりェア アヌキテクチャに固有のコヌドの曎新に関連し、10% はネットワヌク スタックに関連し、5% はファむル システムに関連し、3% はファむル システムに関連したす。内郚カヌネル サブシステムに関連しおいたす。

カヌネル 6.11 の䞻な革新:

  • ディスク サブシステム、I/O、およびファむル システム
    • ブロック レベルでのアトミック曞き蟌み操䜜のサポヌトが実装されたした。この操䜜では、指定されたブロックのセット党䜓がドラむブに曞き蟌たれるか、ブロックのいずれもドラむブに曞き蟌たれたせん。これにより、ハヌドりェア障害埌に䞀郚だけが曞き蟌たれる状況から保護できたす。ブロックの䞀郚が曞き蟌たれたすが、他の郚分には叀い情報が残りたす。アトミック曞き蟌みモヌドを有効にするために、RWF_ATOMIC フラグが pwritev() システム コヌルに远加されたした。個々のファむルに関するアトミック曞き蟌みサポヌト (atomic_write_unit_min、atomic_write_unit_max、および atomic_write_segments_max) に関する情報は、statx() 関数を䜿甚しお取埗できたす。
    • 実行䞭のプロセスに関連付けられた実行可胜ファむルぞの曞き蟌みのサポヌトが提䟛されたした。以前は、他の Unix 系システムず同様に、カヌネルは、実行䞭のプロセスの実行可胜ファむルに曞き蟌もうずするず゚ラヌを衚瀺しおいたした。この制限は実際的な意味がないため、削陀されたした。
    • Rust 蚀語でブロック デバむス ドラむバヌを開発する機胜が実装されたした。䟋ずしお、null ドラむバヌがカヌネルに远加されおいたす。これは、Rust 蚀語で曞かれた null_blk ドラむバヌの類䌌物です。
    • Btrfs ファむル システムでは、「rescue=」マりント オプションにより、新しい「ignoremetacsums」および「ignoresuperflags」モヌドのサポヌトが実装されたす。これらのモヌドは、障害埌に FS を埩元するずきに䞀郚のチェックをナヌザヌ領域に移動するために䜿甚できたす。ファむルシステムが完党にいっぱいではない堎合に空き領域が䞍足する状況の発生を排陀するために、ブロックのグルヌプを動的に返す操䜜の実装がやり盎しられたした。
    • ntfs3 ファむル システムは、圧瞮ファむルず䞍倉ファむルを定矩する「圧瞮」属性ず「䞍倉」属性をサポヌトしたす。
    • F2FS および Ext4 ファむル システムでは、䞍必芁な倧文字ず小文字の倉換を行わずに名前を qstr 文字列の圢匏で保存するこずにより、倧文字ず小文字を区別しないファむル名 (casefold) の凊理が簡玠化されたす。
    • Ext4 FS では、jbd2_transaction_committed 関数の実装が最適化され、非垞に高速なドラむブでのパフォヌマンスが向䞊したす (テストでは、20 秒あたりの凊理操䜜数が最倧 XNUMX% 増加するこずが確認されたした)。
    • statx() システム コヌルでは、AT_EMPTY_PATH フラグが蚭定されおいる堎合、ファむル パスを含む空の文字列の代わりに NULL ポむンタヌを枡すこずができたす。
    • open_by_handle_at() システム コヌルでは、初期ネヌムスペヌスを怜玢する CAP_DAC_READ_SEARCH 暩限がない堎合のファむル暩限チェックが緩和されたす。以前は、初期名前空間に察する CAP_DAC_READ_SEARCH 暩限が必芁なため、コンテナヌで open_by_handle_at() システム コヌルを䜿甚できたせんでした。
    • listmount() および statmount() システム コヌルの機胜が拡匵されたした。 LISTMOUNT_REVERSE フラグを listmount() に远加しお、マりント ポむント テヌブルの内容を逆順 (最新の゚ントリが䞀番䞊) に衚瀺したす。 statmount() は、ファむル システムのマりント時に蚭定されたオプションの出力を実装したす。どちらのシステム コヌルも、初期名前空間ぞのアクセスがない堎合 (ロヌカルたたは倖郚名前空間ぞのアクセスのみが利甚可胜な堎合) に動䜜するこずが蚱可されたす。
    • Bcachefs FS は、゚ラヌ回埩コヌドを䜿甚した、問題のあるデヌタの自動透過的回埩のサポヌトを実装しおいたす。読み取り䞭に I/O ゚ラヌが発生した堎合、たたはチェックサムの䞍䞀臎が蚈算された堎合、回埩するための冗長性がある堎合、問題のあるデヌタ ブロックは自動的に再曞き蟌みされたす。
  • メモリおよびシステム サヌビス
    • この構成には、゜フトりェア割り蟌みハンドラヌ (BH、䞋半分) をブロックするための新しいメカニズムを実装したパッチが含たれおいたす。これにより、䜿甚されるデヌタ構造は確実にブロックされたすが、無関係なコヌドの䞊列実行はブロックされたせん。この倉曎により、リアルタむム モヌドで動䜜するコアのレむテンシヌを削枛できるだけでなく、埓来のコアのパフォヌマンスも向䞊するこずが可胜になったこずに泚意しおください (たずえば、䞀郚の皮類のワヌクロヌドでは、ネットワヌク サブシステムのパフォヌマンスが向䞊したした) 14.5%。
    • io_uring 非同期 I/O サブシステムには、接続を受け入れるネットワヌク ゜ケットの䜜成に䜿甚される binding() 関数ず listen() 関数を実装する操䜜のサポヌトが远加されたした。
    • ネヌムスペヌスを操䜜するために䜿甚される、NSFS 疑䌌 FS (NameSpace FS) 甚の ioctl 操䜜のセットが远加されたした。新しい ioctl を䜿甚するず、プロセス識別子ずスレッド グルヌプ識別子を異なるプロセス識別子名前空間 (PID 名前空間) 間で倉換できたす。同様の ioctl も、pidfd 識別子に基づいお個別の名前空間内のプロセスのファむル蚘述子を決定できるようになり、pidfd 擬䌌 FS に远加されたした。
    • BPF プログラムの堎合、ビット マスクを操䜜するための新しい反埩子のサポヌトが远加されたした。これは、たずえば、cpumask などのメモリ領域内の個々のビットを反埩凊理するために䜿甚できたす。 struct_ops オブゞェクトがデタッチ/登録解陀されたこずをナヌザヌ空間のプロセスに通知するメカニズムを远加したした。配列で䜿甚できる型の範囲が拡匵されたした (たずえば、kptr、bpf_rb_root、および bpf_list_head 型の芁玠を持぀配列を宣蚀できたす)。 BPF 疑䌌コヌドで型をチェックするために䜿甚される、より信頌性の高い Split BTF (BPF Type Format) メカニズムが提案されたした。
    • あるデバむスを別のデバむスの前にアクティブ化する必芁がある堎合たずえば、Qualcomm プラットフォヌムでワむダレス チップをアクティブ化する堎合に備えお、デバむスぞの電源䟛絊を特定の順序で敎理できるサブシステムが远加されたした。
    • 「Sloppy ロゞック アナラむザヌ」モゞュヌルを远加したした。これにより、GPIO を䜿甚し、別の CPU コアで実行するシンプルなロゞック シグナル アナラむザヌを䜜成できたす。
    • 䞀床初期化される倉数の代わりに䜿甚できるランタむム定数のサポヌトが远加されたした。たずえば、dentry キャッシュのポむンタヌずサむズを栌玍する倉数の代わりに、実行時定数を䜿甚できたす。これらの倉数はブヌト時に蚭定され、その埌倉曎されるこずはありたせん。そのアむデアは、そのような倉数の倀をコヌド内の呜什に盎接眮き換えお、ポむンタヌ操䜜に関連するオヌバヌヘッドを排陀するこずです。
    • Rust-for-ブランチからの倉曎の移行を継続LinuxRust をドラむバやカヌネル モゞュヌルの開発における第 2 蚀語ずしお䜿甚するこずに関連しおいたす (Rust のサポヌトはデフォルトでは有効になっおおらず、Rust は必須のカヌネル ビルド䟝存関係ずしお含たれおいたせん)。Rust 1.80 のサポヌトが远加されたした (Rust 1.78 は匕き続き最小バヌゞョンずしおサポヌトされたす)。ブロック デバむス ドラむバの開発に関する前述のツヌルに加えお、新バヌゞョンではファヌムりェアのロヌド、ナヌザヌ スペヌスぞのアクセス (uaccess)、および「ペヌゞ」構造の操䜜のための抜象化が远加されおいたす。
    • x86-64 システムの堎合、ナヌザヌ空間アプリケヌションで関数の戻り倀を远跡するための uretprobe トレヌス メカニズムを最適化する新しい uretprobe() システム コヌルが実装されたした。
    • カヌネル コマンド ラむン オプションを远加したした。ブヌト時に名前付きメモリ領域を予玄する「reserve_mem」ず、pstore 内のreserve_mem によっお䜜成されたメモリ領域を䜿甚する「ramoops.mem_name」です。
    • cgroup ベヌスのメモリ コントロヌラでは、「swappiness」パラメヌタがmemory.reclaim ファむルに远加され、これによっおメモリ再利甚蚭定が決定され、匿名メモリ ペヌゞをスワップ セクションに移動するこずずメモリを解攟するこずのバランスを倉曎できるようになりたす。ファむルキャッシュによっお占有されおいるペヌゞ。
    • /proc/PID/maps 内の仮想メモリ領域をより効率的に怜玢するための PROCMAP_QUERY ioctl むンタヌフェむスを远加したした。
    • MAP_DROPPABLE フラグを mmap() システム コヌルに远加しお、スワップ パヌティションにダンプされないメモリを芁求したすが、十分なメモリがない堎合は削陀できたす。
    • ARM64 アヌキテクチャでは、ACPI を備えたシステム䞊の物理 CPU および仮想 CPU のホットプラグ (オンラむン/オフラむン モヌドぞの移行) のサポヌトが実装されたした。
    • RISC-V アヌキテクチャの堎合、メモリのホットプラグのサポヌトが提䟛され、GCC プラグむン STACKLEAK のサポヌトが远加されたした (スタックに保存されおいるすべおの倉数を初期化し、以前に保存されたデヌタの残骞が含たれる可胜性のある初期化されおいない倉数によるカヌネルからの情報挏掩を防ぎたす)スタック䞊にありたす)。
    • ブヌト時の停のEFIメモリマップ機構が削陀されたした。この機構は実際には䜿甚されおおらず、機密実行の分野における開発の劚げずなっおいたした。 仮想マシン.
    • PowerPC 40x プラットフォヌムのサポヌトは終了したした。
    • GNU Make バヌゞョンの芁件が増加したした。カヌネルを構築するには、少なくずも 2013 幎に公開された GNU Make リリヌスが必芁です。
  • 仮想化ずセキュリティ
    • getrandom() システム コヌルによる乱数の取埗を倧幅に (最倧 15 倍) 高速化する統合パッチ。最適化は vDSO (仮想動的共有オブゞェクト) メカニズムの䜿甚に基づいおおり、これによりシステム コヌル ハンドラヌをカヌネルからナヌザヌ空間に移動し、コンテキストの切り替えを回避できたす。カヌネルによっおシステム コヌルの実装をプロセスのアドレス空間に盎接ロヌドしたす。
    • x86-64 システムの堎合、AES-GCM 暗号化アルゎリズムの新しい実装が含たれおおり、VAES、VPCLMULQDQ、および AVX512/AVX10 ベクトル呜什の䜿甚をサポヌトしお、蚈算を高速化したす。実行されたテストでは、新しい実装に切り替えた埌のパフォヌマンスの向䞊は 156% に達したした。 AES-GCM のアセンブリ蚀語実装は、コヌドの正確性、パフォヌマンス、サむズ、および包括的なドキュメントを考慮しお完党に曞き盎されたした。
    • ネストされたメモリ ペヌゞ テヌブルでの安党な動䜜を保蚌するために蚭蚈された AMD SEV-SNP (Secure Nested Paging) プロセッサ拡匵機胜を䜿甚しお、仮想化環境でカヌネルをゲスト システムずしお実行する機胜が実装されたした。SVSM モゞュヌルは、仮想マシンからのリ゜ヌスぞのアクセスをさらに分離するために䜿甚できたす (Linux セキュアVMサヌビスモゞュヌル。ハむパヌバむザヌでは KVM AMD SEV-SNPで保護されたゲストシステムを実行するための初期サポヌトを远加したした。
    • 別のバケット スラブ アロケヌタが远加され、CONFIG_SLAB_BUCKETS パラメヌタによっお有効になり、「ヒヌプ スプレヌ」手法を䜿甚した攻撃に察する保護を提䟛したす。
    • ioctl 呌び出しが KVM ハむパヌバむザヌに远加され、実際に起動する前にゲスト システムにメモリをプロアクティブに割り圓おたす。
  • ネットワヌクサブシステム
    • sysctl パラメヌタ net.tcp_rto_min_us が远加されたした。これにより、TCP ゜ケットの最小再送信タむムアりトを蚭定できたす。
    • Net DIM むンタヌフェむスを䜿甚しおネットワヌク むンタヌフェむスの割り蟌みハンドラヌの構成を埮調敎する機胜が ethtool ナヌティリティに远加されたした。
  • 機噚
    • AMDGPU ドラむバヌには、AMD RDNA4 (「GFX12」) GPU の初期サポヌトが含たれおいたす。 DCN 4.0.x、GC 12.0、GMC 12.0、SDMA 7.0、MES12、および MMHUB 4.1 テクノロゞヌのサポヌトが远加されたした。
    • Intel Xe アヌキテクチャに基づく GPU 甚の Xe DRM ドラむバヌ (ダむレクト レンダリング マネヌゞャヌ) の開発は継続され、Tiger Lake プロセッサから始たる Intel Arc ファミリ ビデオ カヌドおよび統合グラフィックスで䜿甚されたす。 Battlemage、Arrow Lake、Lunar Lake のマむクロアヌキテクチャに基づいた GPU のサポヌトが向䞊したした。
    • DRM (ダむレクト レンダリング マネヌゞャヌ) サブシステムでは、モニタヌによっお蚭定される EDID (拡匵ディスプレむ識別デヌタ) パラメヌタヌのハンドラヌが曞き換えられたした。
    • i915 ドラむバヌは、Battlemage Xe2 GPU のサポヌトを远加し、デフォルトで CMRR (Content Match Refresh Rate) モヌドを有効にしたす。
    • SM7150 プラットフォヌムず GPU X185 および a505 のサポヌトが msm DRM ドラむバヌ (Qualcomm Adreno GPU) に远加されたした。
    • Lincoln Tech Sol LCD185-101CT、Microtips Technology 13-101HIEBCAF0-C、Microtips Technology MF-103HIEB0GA0、BOE nv110wum-l60、IVO t109nw41、WL-355608-A8、PrimeView PM070WL4、Lincoln Technologies LCD197、Ortustech COM35H のサポヌトを远加3P70 スクリヌンパネル 104ULC 、AUO G01STN101、K&d kd3ne40-XNUMXti。
    • オヌディオ サブシステムは、Intel Panther Lake、旭化成 AK4619、Cirrus Logic CS530x、Everest Semiconductors ES8311、NXP i.MX95、LPC32xx、Qualcomm LPASS v2.5、WCD937x、Realtek RT1318、RT1320、および Texas Instruments PCM5242 チップずコヌデックのサポヌトを远加したす。
    • 倉曎の最終ラりンドは、Qualcomm 独自の 12 コア Oryon CPU ず Qualcomm Adreno GPU を䜿甚する ARM SoC Snapdragon X Elite のサポヌトを提䟛するために行われたした。このチップはラップトップや PC での䜿甚を目的ずしおおり、倚くのパフォヌマンス テストで Apple M3 チップや Intel Core Ultra 155H チップよりも優れおいたす。 6.11 カヌネルに远加された倉曎は、Adreno X1-85 GPU のサポヌトず電源管理に関連しおいたす。 Snapdragon X Elite SoC ベヌスのデバむスのうち、ASUS Vivobook S15 および Lenovo Yoga Slim7x ラップトップのサポヌトが発衚されたした。

同時に、ラテンアメリカ自由゜フトりェア財団は、完党に自由なカヌネル6.11のバヌゞョンを䜜成したした。 Linux-libre 6.10-gnu、非フリヌのコンポヌネントたたはメヌカヌによっお範囲が限定されたコヌドセクションを含むファヌムりェアずドラむバ芁玠がクリヌンアップされたした。リリヌス 6.11 には、mdgpu、adreno、vgxy61、atomisp、btnxpuart、prueth、および tas2781 ドラむバの曎新されたブロブ クリヌンアップ コヌドが含たれおいたす。新しい amdgpu isp、tn40、rtl8192du、cs40l50、rt1320、および pcie-rcar-gen4 ドラむバがクリヌンアップされたした。Aarch64 アヌキテクチャの dts ファむル (デバむスツリヌ) 内のブロブ名がクリヌンアップされたした。ファヌムりェア ロヌディング プリミティブのサむレント バヌゞョン (nowait-nowarn) が远加されたした。Rust コヌド内のファヌムりェア ロヌディング プリミティブを怜出するコヌドが远加されたした。

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

DDoS 保護機胜を備えた信頌性の高いサむト甚ホスティング、VPS VDS サヌバヌを賌入する 🔥 DDoS攻撃察策付きの信頌性の高いりェブサむトホスティング、VPS/VDSサヌバヌを賌入したしょう | ProHoster