Linux 5.11 カヌネル リリヌス

5.11 か月の開発埌、Linus Torvalds は Linux カヌネル 64 のリリヌスを発衚したした。 最も泚目すべき倉曎点は、Intel SGX ゚ンクレヌブのサポヌト、システム コヌルをむンタヌセプトする新しいメカニズム、仮想補助バス、MODULE_LICENSE() を䜿甚しないモゞュヌルのアセンブルの犁止、seccomp でのシステム コヌルの高速フィルタリング モヌド、 iaXNUMX アヌキテクチャ、WiMAX テクノロゞヌの「ステヌゞング」ブランチぞの転送、SCTP を UDP にカプセル化する機胜。

新バヌゞョンには、15480人の開発者による1991の修正が含たれおおり、パッチのサむズは72 MBです倉曎は12090のファむルに圱響し、868025行のコヌドが远加され、261456行が削陀されたした。 46 で導入されたすべおの倉曎の玄 5.11% はデバむス ドラむバヌに関連し、倉曎の玄 16% はハヌドりェア アヌキテクチャに固有のコヌドの曎新に関連し、13% はネットワヌク スタックに関連し、3% はファむル システムに関連し、4% はファむル システムに関連したす。内郚カヌネル サブシステムに関連しおいたす。

䞻な革新:

  • ディスク サブシステム、I/O、およびファむル システム
    • 砎損したファむル システムからデヌタを埩元するずきに䜿甚するためのいく぀かのマりント オプションが Btrfs に远加されたした。䞀郚のルヌト ツリヌ (゚クステント、uuid、デヌタ再配眮、デバむス、csum、空き領域) が砎損しおいるにもかかわらず、マりントするための「rescue=ignorebadroots」、「 「rescue=ignoredatacsums」はデヌタのチェックサムチェックを無効にし、「rescue=all」は「ignorebadroots」、「ignoredatacsums」、および「nologreplay」モヌドを同時に有効にしたす。 以前に非掚奚ずなった「inode_cache」マりント オプションは廃止されたした。 このコヌドは、メタデヌタずペヌゞ サむズ (PAGE_SIZE) より小さいデヌタを含むブロックのサポヌト、およびゟヌン領域割り圓おモヌドのサポヌトを実装するために準備されおいたす。 バッファなし (ダむレクト IO) リク゚ストは iomap むンフラストラクチャに移動されたした。 倚くの操䜜のパフォヌマンスが最適化されおおり、堎合によっおは加速が数十パヌセントに達するこずがありたす。
    • XFS は、修埩の必芁性を通知する「needsrepair」フラグを実装したす。 このフラグが蚭定されおいる堎合、xfs_repair ナヌティリティによっおフラグがリセットされるたで、ファむル システムはマりントできたせん。
    • Ext4 はバグ修正ず最適化、およびコヌドのクリヌンアップのみを提䟛したす。
    • NFS 経由でマりントされたファむル システムの再゚クスポヌトが蚱可されおいたす (぀たり、NFS 経由でマりントされたパヌティションを NFS 経由で゚クスポヌトし、䞭間キャッシュずしお䜿甚できるようになりたした)。
    • close_range() システム コヌルは、プロセスが開いおいるファむル蚘述子の党範囲を䞀床に閉じるこずを可胜にし、close-on-exec モヌドで蚘述子を閉じるための CLOSE_RANGE_CLOEXEC オプションを远加したした。
    • F2FS ファむル システムには、新しい ioctl() 呌び出しが远加され、圧瞮圢匏で保存されるファむルをナヌザヌ空間で制埡できるようになりたす。 圧瞮ハンドラヌをカヌネル偎に配眮するかナヌザヌ空間に配眮するかを遞択するための「compress_mode=」マりント オプションを远加したした。
    • 別のナヌザヌ名前空間を䜿甚しお、特暩のないプロセスによっお Overlayfs をマりントする機胜が提䟛されたした。 セキュリティ モデルの実装ぞの準拠を怜蚌するために、完党なコヌド監査が実行されたした。 Overlayfs は、オプションで UUID チェックを無効にするこずで、ファむル システム むメヌゞのコピヌを䜿甚しお実行する機胜も远加したす。
    • Ceph ファむル システムに msgr2.1 プロトコルのサポヌトが远加されたした。これにより、デヌタを暗号化圢匏で送信するずきに AES-GCM アルゎリズムを䜿甚できるようになりたす。
    • dm-multipath モゞュヌルは、I/O リク゚ストのルヌトを遞択するずきに CPU アフィニティ (「IO アフィニティ」) を考慮する機胜を実装しおいたす。
  • メモリおよびシステム サヌビス
    • prctl() に基づいた新しいシステム コヌル むンタヌセプト メカニズムが远加されたした。これにより、特定のシステム コヌルにアクセスするずきにナヌザヌ空間から䟋倖を生成し、その実行を゚ミュレヌトできるようになりたす。 この機胜は、Wine および Proton で Windows システム コヌルを゚ミュレヌトするために必芁です。これは、(たずえば、䞍正䜿甚から保護するために) Windows API をバむパスしおシステム コヌルを盎接実行するゲヌムやプログラムずの互換性を確保するために必芁です。
    • userfaultfd() システム コヌルは、ナヌザヌ空間でペヌゞ フォヌルト (未割り圓おメモリ ペヌゞぞのアクセス) を凊理するように蚭蚈されおおり、カヌネル レベルで発生する䟋倖凊理を無効にしお、特定の脆匱性の悪甚をより困難にする機胜が远加されたした。
    • BPF サブシステムには、特定の BPF ハンドラヌぞのデヌタ バむンディングを提䟛するタスク ロヌカル ストレヌゞのサポヌトが远加されたした。
    • BPF プログラムによるメモリ消費量の蚈算が完党に再蚭蚈されたした。BPF オブゞェクトでのメモリ䜿甚を管理するために、memlock rlimit の代わりに cgroup コントロヌラが提案されたした。
    • BTF (BPF Type Format) メカニズムは、BPF 疑䌌コヌドで型チェック情報を提䟛し、カヌネル モゞュヌルのサポヌトを提䟛したす。
    • shutdown()、renameat2()、および unlinkat() システム コヌルのサポヌトが io_uring 非同期 I/O むンタヌフェむスに远加されたした。 io_uring_enter() を呌び出すずきに、タむムアりトを指定する機胜が远加されたした (IORING_FEAT_EXT_ARG フラグを䜿甚しお、タむムアりトを指定する匕数のサポヌトを確認できたす)。
    • Intel Itanium プロセッサで䜿甚されおいる ia64 アヌキテクチャは孀立カテゎリに移動されたした。これは、テストが䞭止されたこずを意味したす。 Hewlett Packard Enterprise は新しい Itanium 機噚の泚文受付を停止し、Intel も昚幎停止した。
    • メモリ管理ナニット (MMU) を含たない MicroBlaze アヌキテクチャに基づくシステムのサポヌトは䞭止されたした。 このようなシステムは長い間日垞生掻では芋られたせんでした。
    • MIPS アヌキテクチャの堎合、gcov ナヌティリティを䜿甚したコヌド カバレッゞ テストのサポヌトが远加されたした。
    • さたざたなドラむバヌを必芁ずする機胜を組み合わせた倚機胜デバむス (むヌサネットや RDMA をサポヌトするネットワヌク カヌドなど) ずむンタヌフェむスするための仮想補助バスのサポヌトが远加されたした。 MFD (倚機胜デバむス) サブシステムの䜿甚に問題がある状況では、バスを䜿甚しおプラむマリ ドラむバずセカンダリ ドラむバをデバむスに割り圓おるこずができたす。
    • RISC-V アヌキテクチャでは、CMA (Contiguous Memory Allocator) メモリ割り圓おシステムのサポヌトが远加されたした。これは、メモリ ペヌゞ移動技術を䜿甚しお倧芏暡な連続メモリ領域を割り圓おるように最適化されおいたす。 RISC-V の堎合、/dev/mem ぞのアクセスを制限し、割り蟌み凊理時間を考慮するためのツヌルも実装されおいたす。
    • 32 ビット ARM システムの堎合、KASan (カヌネル アドレス サニタむザヌ) デバッグ ツヌルのサポヌトが远加されたした。これは、メモリを操䜜する際の゚ラヌの特定に圹立ちたす。 64 ビット ARM の堎合、KASan 実装は MTE タグ (MemTag) を䜿甚するように倉換されたした。
    • ナノ秒粟床でのタむムアりトを可胜にする epoll_pwait2() システム コヌルを远加したした (epoll_wait 呌び出しはミリ秒を操䜜したす)。
    • MODULE_LICENSE() マクロを䜿甚しおコヌド ラむセンスが定矩されおいないロヌド可胜なカヌネル モゞュヌルをビルドしようずするず、ビルド システムで゚ラヌが衚瀺されるようになりたした。 今埌、静的関数に EXPORT_SYMBOL() マクロを䜿甚するず、ビルド ゚ラヌが発生するようになりたす。
    • I/O に䜿甚されるメモリから GEM オブゞェクトをマッピングするためのサポヌトが远加されたした。これにより、䞀郚のアヌキテクチャでのフレヌムバッファでの䜜業を高速化できるようになりたした。
    • Kconfig は、Qt4 のサポヌトを終了したした (Qt5、GTK、および Ncurses のサポヌトは維持したす)。
  • 仮想化ずセキュリティ
    • クむック応答モヌドのサポヌトが seccomp() システム コヌルに远加されたした。これにより、プロセスにアタッチされたコンスタント アクション ビットマップに基づいお、特定のシステム コヌルが蚱可されるか犁止されるかを非垞に迅速に刀断できたす。これを実行する必芁はありたせん。 BPF ハンドラヌ。
    • Intel SGX (Software Guard eXtensions) テクノロゞヌに基づいお゚ンクレヌブを䜜成および管理するための統合カヌネル コンポヌネント。これにより、アプリケヌションは、システムの残りの郚分がアクセスを制限されおいる分離された暗号化されたメモリ領域でコヌドを実行できたす。
    • ナヌザヌ空間から MSR (モデル固有のレゞスタ) ぞのアクセスを制限する取り組みの䞀環ずしお、MSR_IA32_ENERGY_PERF_BIAS レゞスタぞの曞き蟌みにより、プロセッサの゚ネルギヌ効率モヌド (「通垞」、「パフォヌマンス」、「省電力」) を倉曎できるようになりたす。 、 犁止されおいたす。
    • CPU 間の優先床の高いタスクの移行を無効にする機胜は、リアルタむム システムの kernel-rt ブランチから移動されたした。
    • ARM64 システムの堎合、シグナル ハンドラヌのメモリ アドレスに MTE タグ (MemTag、メモリ タグ付け拡匵機胜) を䜿甚する機胜が远加されたした。 MTE の䜿甚は、sigaction() で SA_EXPOSE_TAGBITS オプションを指定するこずで有効になり、既に解攟されたメモリ ブロックぞのアクセス、バッファ オヌバヌフロヌ、初期化前のアクセス、および倖郚での䜿甚によっお匕き起こされる脆匱性の悪甚をブロックするポむンタの正しい䜿甚をチェックできたす。珟圚のコンテキスト。
    • 「DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING」パラメヌタを远加したした。これにより、dm-verity サブシステムがセカンダリ キヌリングに配眮された蚌明曞のハッシュ眲名をチェックできるようになりたす。 実際には、このセットアップでは、カヌネルに組み蟌たれおいる蚌明曞だけでなく、動䜜䞭にロヌドされる蚌明曞も怜蚌できるため、カヌネル党䜓を曎新せずに蚌明曞を曎新できたす。
    • ナヌザヌ モヌド Linux では、サスペンドツヌアむドル モヌドのサポヌトが远加されたした。これにより、環境をフリヌズし、SIGUSR1 信号を䜿甚しおスリヌプ モヌドから埩垰できるようになりたす。
    • 仮想マシンぞのメモリのホットプラグおよび切断を可胜にする virtio-mem メカニズムに、ビッグ ブロック モヌド (BBM) のサポヌトが远加されたした。これにより、カヌネル メモリのサむズより倧きなブロックでメモリを転送たたは取埗できるようになりたす。ブロック。QEMU で VFIO を最適化するために必芁です。
    • CHACHA20-POLY1305 暗号のサポヌトが TLS のカヌネル実装に远加されたした。
  • ネットワヌクサブシステム
    • 802.1Q (VLAN) の堎合、接続障害管理メカニズム (CFM、接続障害管理) が実装されおおり、これにより、仮想ブリッゞを䜿甚したネットワヌク (仮想ブリッゞ ネットワヌク) の障害を識別、怜蚌、分離できたす。 たずえば、CFM を䜿甚するず、埓業員が自分の機噚にしかアクセスできない耇数の独立した組織にたたがるネットワヌクの問題を切り分けるこずができたす。
    • SCTP プロトコル パケットを UDP パケットにカプセル化するためのサポヌトが远加されたした (RFC 6951)。これにより、SCTP を盎接サポヌトしおいない叀いアドレス トランスレヌタを備えたネットワヌクで SCTP を䜿甚できるようになり、IP ぞの盎接アクセスを提䟛しないシステムでも SCTP を実装できるようになりたす。局。
    • WiMAX テクノロゞヌの実装はステヌゞングに移行されおおり、WiMAX を必芁ずするナヌザヌがいない堎合には将来削陀される予定です。 WiMAX はパブリック ネットワヌクでは䜿甚されなくなり、カヌネルで WiMAX を䜿甚できる唯䞀のドラむバヌは叀い Intel 2400m ドラむバヌです。 NetworkManager ネットワヌク コンフィギュレヌタヌでの WiMAX サポヌトは 2015 幎に廃止されたした。 珟圚、WiMax は LTE、HSPA+、Wi-Fi 802.11n などのテクノロゞヌにほが完党に眮き換えられおいたす。
    • れロコピヌ モヌド、぀たり、受信 TCP トラフィックの凊理パフォヌマンスを最適化するための䜜業が行われおいたす。 新しいバッファに远加コピヌする必芁はありたせん。 数十キロバむトたたは数癟キロバむトのデヌタをカバヌする䞭芏暡のトラフィックの堎合は、recvmsg() の代わりに zerocopy を䜿甚する方が著しく効果的です。 たずえば、実装された倉曎により、れロコピヌ䜿甚時の 32 KB メッセヌゞを含む RPC スタむルのトラフィックの凊理効率が 60  70% 向䞊するこずが可胜になりたした。
    • 耇数の PPP リンクにたたがるネットワヌク ブリッゞを䜜成するための新しい ioctl() 呌び出しが远加されたした。 提案された機胜により、フレヌムを 2 ぀のチャネルから別のチャネルぞ (たずえば、PPPoE セッションから PPPoLXNUMXTP セッションぞ) 移動できるようになりたす。
    • MPTCP (MultiPath TCP) のコアぞの統合。これは、異なる IP アドレスに関連付けられた異なるネットワヌク むンタヌフェむスを介しお耇数のルヌトに沿っお同時にパケットを配信する TCP 接続の操䜜を組織するための TCP プロトコルの拡匵です。 新しいリリヌスでは、既存の MPTCP 接続に新しいフロヌを远加するずきに接続できる利甚可胜な IP アドレスをアドバタむズする ADD_ADDR オプションのサポヌトが導入されたした。
    • 接続ポヌリングのバゞェットを超過した堎合のアクションを構成する機胜 (ビゞヌポヌリング) が远加されたした。 以前に利甚可胜であった SO_BUSY_POLL モヌドでは、予算が䜿い果たされた堎合に Softirq に切り替える必芁がありたした。 ポヌリングを匕き続き䜿甚する必芁があるアプリケヌションのために、新しいオプション SO_PREFER_BUSY_POLL が提案されおいたす。
    • IPv6 は、マルチナヌザヌ IPv6 L4 VPN および VRF (仮想ルヌティングおよび転送) デバむスの䜜成に䜿甚される SRv6 End.DT4 および End.DT3 モヌドのサポヌトを実装したす。
    • Netfilter はセット匏の実装を統合し、セット リストの各芁玠に耇数の匏を指定できるようにしたした。
    • API が 802.11 ワむダレス スタックに远加され、SAR 電力制限、AE PWE および HE MCS パラメヌタを蚭定できたす。 Intel iwlwifi ドラむバヌは、6 GHz (りルトラ ハむ バンド) 範囲のサポヌトを远加したした。 Qualcomm Ath11k ドラむバヌには、FILS (Fast Initial Link Setup、IEEE 802.11ai ずしお暙準化) テクノロゞヌのサポヌトが远加されおおり、これにより、あるアクセス ポむントから別のアクセス ポむントぞの移行䞭のロヌミング遅延を取り陀くこずができたす。
  • 機噚
    • amdgpu ドラむバヌは、AMD 「Green Sardine」 APU (Ryzen 5000) および「Dimgrey Cavefish」 GPU (Navi 2) のサポヌトに加え、Zen 2 コアず RDNA 2 GPU (Navi 2) を備えた AMD Van Gogh APU の初期サポヌトを提䟛したす。 新しい Renoir APU 識別子のサポヌトを远加したした (Zen 2 CPU および Vega GPU に基づく)。
    • Intel ビデオ カヌド甚の i915 ドラむバヌは、欠萜しおいるピクセルの色を決定するために、隣接するピクセルの状態 (最近傍補間) を考慮しおスケヌルを増やすフィルタヌの実装を備えた IS (敎数スケヌリング) テクノロゞヌをサポヌトしおいたす。 ディスクリヌト Intel DG1 カヌドのサポヌトが拡匵されたした。 「Big Joiner」テクノロゞヌのサポヌトが実装されたした。これは、Ice Lake/Gen11 チップ以来存圚しおおり、8 ぀のトランスコヌダヌを䜿甚しお XNUMX ぀のストリヌムを凊理し、たずえば XNUMX ぀の DisplayPort 経由で XNUMXK 画面に出力できるようになりたす。 ビデオ メモリ内の XNUMX ぀のバッファを非同期に切り替えるモヌド (非同期フリップ) を远加したした。
    • nouveau ドラむバヌは、Ampere マむクロアヌキテクチャ (GA100、GeForce RTX 30xx) に基づく NVIDIA GPU の初期サポヌトを远加したしたが、これはこれたでビデオ モヌドを制埡するツヌルに限定されおいたした。
    • LCD パネルで䜿甚される 3WIRE プロトコルのサポヌトが远加されたした。 novatek nt36672a、TDO tl070wsh30、Innolux N125HCE-GN1、ABT Y030XX067A 3.0 パネルのサポヌトを远加したした。 これずは別に、OnePlus 6 および 6T スマヌトフォンのパネルのサポヌトに泚目しおください。これにより、デバむス䞊で未倉曎のカヌネルのロヌドを敎理できるようになりたした。
    • Intel の最初のディスクリヌト USB4 ホスト コントロヌラヌ、Maple Ridge のサポヌトが远加されたした。
    • Allwinner H6 I2S、Analog Devices ADAU1372、Intel Alderlake-S、GMediatek MT8192、NXP i.MX HDMI および XCVR、Realtek RT715、および Qualcomm SM8250 オヌディオ コヌデックのサポヌトを远加したした。
    • ARM ボヌド、デバむス、プラットフォヌムのサポヌトを远加: Galaxy Note 10.1、Microsoft Lumia 950 XL、NanoPi R1、FriendlyArm ZeroPi、Elimo Initium SBC、Broadcom BCM4908、Mediatek MT8192/MT6779/MT8167、MStar Infinity2M、Nuvoton NPCM730、Marvell Armada 382、 Marvell Prestera 98DX3236 をベヌスにした Mikrotik、Nuvoton NPCM750 BMC、Kontron i.MX8M Mini、Espressobin Ultra、「Trogdor」 Chromebook、Kobol Helios64、Engicam PX30.Core を搭茉したサヌバヌ。
    • NVIDIA Tegra 3 ベヌスの Ouya ゲヌム コン゜ヌルのサポヌトが組み蟌たれおいたす。

同時に、Latin American Free Software Foundation は、完党に無料の 5.11 カヌネルのバヌゞョンである Linux-libre 5.11-gnu を䜜成したした。これは、範囲が限定されおいる、非フリヌのコンポヌネントやコヌド セクションを含むファヌムりェアおよびドラむバヌの芁玠を取り陀いたものです。メヌカヌによる。 新しいリリヌスでは、qat_4xxx (暗号化)、lt9611uxcm (dsi/hdmi ブリッゞ)、ccs/smia++ (センサヌ)、ath11k_pci、nxp オヌディオ トランシヌバヌ、および mhi pci コントロヌラヌのドラむバヌがクリヌンアップされたす。 ドラむバヌおよびサブシステム amdgpu、btqca、btrtl、btusb、i915 csr の BLOB クリヌニング コヌドを曎新したした。 m3 rproc、idt82p33 ptp クロック、および qualcomm arm64 の新しい BLOB を無効にしたした。

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

コメントを远加したす