第12章 カーネル
RHEL 7.5 のカーネルバージョン
Red Hat Enterprise Linux 7.5 は、カーネルバージョン 3.10.0-862 で配布されます。(BZ#1801759)
メモリー保護キーは、新しい Intel プロセッサーでサポートされるようになりました
メモリー保護キーは、ページベースの保護を強化するメカニズムを提供しますが、アプリケーションが保護ドメインを変更した時にページテーブルを修正する必要はありません。プロセッサーがメモリー保護キーをサポートしているかどうかを確認するには、
/proc/cpuinfo
ファイル内の pku
フラグを確認します。プログラミングの実例を含む詳しい情報は、kernel-doc パッケージが提供する /usr/share/doc/kernel-doc-*/Documentation/x86/protection-keys.txt
ファイルを参照してください。(BZ#1272615)
Pondicherry 2 メモリーコントローラーに EDAC サポートが追加されました
Intel Atom C3000 シリーズプロセッサーを搭載したマシンで使用される Pondicherry 2 メモリーコントローラーに、エラーの検出と修正のサポートが追加されました。(BZ#1273769)
MBA
がサポートされるようになりました
メモリー帯域幅割り当て (MBA) は、Broadwell サーバーにある既存のキャッシュ QoS 強制 (CQE) 機能の拡張です。
MBA
は、アプリケーションのメモリー帯域幅の制御を提供する Intel Resource Director Technology (RDT) の機能です。今回の更新により、MBA
サポートが追加されました。(BZ#1379551)
スワップの最適化により、高速ブロックデバイスを二次メモリーとして使用できるようになります
以前は、回転ディスクのパフォーマンス、特に待ち時間の点で他のメモリー管理サブシステムよりも桁違いに悪かったため、スワップサブシステムのパフォーマンスは重要ではありませんでした。高速 SSD デバイスの出現により、スワップサブシステムのオーバーヘッドが顕著になってきました。この更新では、このオーバーヘッドを削減する一連のパフォーマンスの最適化が行われています。(BZ#1400689)
HID Wacom
がバージョン 4.12 にリベースされました
HID Wacom
カーネルモジュールパッケージはアップストリームバージョン 4.12 にアップグレードされ、以前のバージョンに比べて多くのバグ修正と拡張機能が提供されています。
hid_wacom
電源供給が更新され、以前から存在していた問題が修正されました。- Bluetooth ベースの Intuos 2 Pro ペンタブレットのサポートが追加されました。
- Intuos 2 Pro ペンタブレットと Bamboo Slate に影響するバグが修正されました。(BZ#1475409)
新しい livepatch
機能により、kpatch-patch パッケージのレイテンシーと成功率が向上します。
この更新により、
kpatch
カーネルライブパッチインフラストラクチャーがアップグレードされ、カーネルへのパッチ適用に新しいアップストリーム ライブパッチ
機能が使用されるようになりました。この機能により、kpatch-patch ホットフィックスパッケージのスケジューリング遅延と成功率が向上します。(BZ#1430637)
永続的なカーネルモジュールアップグレード (PKMU) のサポート
kmod パッケージは、カーネルモジュールの自動ロード、アンロード、および管理のためのさまざまなプログラムを提供します。以前は、kmod は /lib/modules/<kernel version> ディレクトリー内でのみモジュールを検索していました。したがって、ユーザーは追加のアクションを実行する必要がありました。たとえば、/usr/sbin/weak-modules スクリプトを実行してシンボリックリンクをインストールし、モジュールをロード可能にする必要がありました。今回の更新により、ファイルシステム内の任意の場所にあるモジュールを検索するように kmod が変更されました。その結果、ユーザーは新しいモジュールを別のディレクトリーにインストールし、そこでモジュールを探すように
kmod
ツールを設定できるようになり、モジュールは新しいカーネルで自動的に使用できるようになります。ユーザーは、カーネルに対して複数のディレクトリーを指定したり、カーネルごとに異なるディレクトリーを指定したりすることもできます。カーネルバージョンは正規表現で指定します。(BZ#1361857)
Linux カーネルが暗号化された SMB 3 接続をサポートするようになりました
この機能が導入される前は、カーネルはサーバーメッセージブロック (SMB) プロトコルを使用する場合の暗号化されていない接続のみをサポートしていました。この更新により、SMB 3.0 以降のプロトコルバージョンの暗号化サポートが追加されます。その結果、サーバーがこの機能を提供または要求している場合、ユーザーは暗号化を使用して SMB 共有をマウントできます。
暗号化された SMB プロトコルを使用して共有をマウントするには、3.0 以降に設定された vers マウントオプションとともに seal マウントオプションを mount コマンドに渡します。詳細と例は、https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/storage_administration_guide/mounting_an_smb_share#tab.frequently_used_mount_options の seal パラメーターの説明を参照してください。(BZ#1429710)
AMD Naples プラットフォームで SME
が有効化
この更新により、AMD Secure Memory Encryption (SME) が AMD Naples プラットフォームに基づくシステムによって提供されます。Advanced Encryption Standard (AES) エンジンには、ダイナミックランダムアクセスメモリー (DRAM) を暗号化および復号化する機能があります。AES エンジンによって提供される
SME
は、ハードウェアプローブ攻撃からマシンを保護することを目的としています。SME
をアクティブにするには、カーネルパラメーター mem_encrypt=on を使用してシステムを起動します。(BZ#1361287)
ie31200_edac ドライバーのサポート
この機能強化により、コンシューマーバージョンの Skylake および Kabi Lake CPU ファミリーに ie31200_edac ドライバーのサポートが追加されます。(BZ#1482253)
EDAC が GHES をサポートするようになりました
この機能拡張により、BIOS によって提供される汎用ハードウェアエラーソース (GHES) を使用するためのエラー検出および修正 (EDAC) のサポートが追加されます。GHES は、ハードウェア固有のドライバーではなく、メモリーの修正済みおよび未修正のエラーのソースとして使用されるようになりました。(BZ#1451916)
CUIR 拡張スコープ検出が完全にサポートされるようになりました。
Control Unit Initiated Reconfiguration (CUIR) のサポートにより、Direct Access Storage Device (DASD) デバイスドライバーは、並行サービスのためにオフラインの DASD へのパスを自動的に取得できるようになります。DASD への他のパスが使用可能な場合、DASD は動作し続けます。
CUIR は、パスが再び利用可能になったときに DASD デバイスドライバーに通知し、デバイスドライバーはパスをオンラインに戻そうとします。
論理パーティション (LPAR) モードで実行している Linux インスタンスのサポートに加えて、IBM z/VM システムでの Linux インスタンスのサポートが追加されました。(BZ#1494476)
kdump
により、ルートファイルシステムがマウントされていなくても vmcore
コレクションが可能になります
Red Hat Enterprise Linux 7.4 では、
kdump
でルートファイルシステムをマウントする必要がありましたが、これは vmcore
イメージファイルの収集に必ずしも必要というわけではありません。その結果、ダンプターゲットがルートファイルシステム上ではなく、たとえば USB やネットワーク上にあるときにルートデバイスをマウントできない場合、kdump
はvmcore
ファイルの収集に失敗しました。この機能強化により、ルートデバイスがダンプに必要ない場合はマウントされず、vmcore
ファイルを収集できるようになります。(BZ#1431974, BZ#1460652)
KASLR は完全にサポートされ、デフォルトで有効になります
以前はテクノロジープレビューとして利用可能であったカーネルアドレス空間レイアウトランダム化 (KASLR) は、AMD64 および Intel 64 アーキテクチャー上の Red Hat Enterprise Linux 7.5 で完全にサポートされています。KASLR は、カーネルテキスト KASLR と
mm
KASLR の 2 つの部分で設定されるカーネル機能です。この 2 つの部分は相互に作用し、Linux カーネルのセキュリティーを強化します。
カーネルテキストの物理アドレスと仮想アドレスの場所が、個別にランダム化されます。カーネルの物理アドレスは 64 TB の任意の場所に配置できますが、カーネルの仮想アドレスは、[0xffffffff80000000, 0xffffffffc0000000] の間の 1 GB 領域に制限されます。
3 つの
mm
セクション (ダイレクトマッピングセクション、vmalloc
セクション、および vmemmap
セクション) の開始アドレスは、特定の領域でランダム化されます。以前は、このセクションの開始アドレスが固定値になっていました。
したがって、悪意のコードが、カーネルアドレス領域にその記号が置かれていることを知る必要がある場合に、KASLR は悪意のコードにカーネルの実行を挿入またはリダイレクトしないようにすることができます。
KASLR コードが Linux カーネルでコンパイルされ、デフォルトで有効になりました。明示的に無効にするには、
nokaslr
カーネルオプションをカーネルコマンドラインに追加します。(BZ#1491226)
Intel® Omni-Path Architecture (OPA) ホストソフトウェア
Red Hat Enterprise Linux 7.5 は、Intel® Omni-Path Architecture (OPA) ホストソフトウェアに完全に対応しています。Intel OPA は、クラスター環境のコンピュートと I/O ノード間の高性能データ転送 (高帯域幅、高メッセージレート、低レイテンシー) のために、初期化とセットアップを行う Host Fabric Interface (HFI) ハードウェアを提供します。
Intel® Omni-Path Architecture のインストール方法は、https://www.intel.com/content/dam/support/us/en/documents/network-and-i-o/fabric-products/Intel_OP_Software_RHEL_7_5_RN_J98644.pdf を参照してください。(BZ#1543995)
noreplace-paravirt
がカーネルコマンドラインパラメーターから削除されました
noreplace-paravirt
カーネルコマンドラインパラメーターは、Spectre および Meltdown の脆弱性を軽減するパッチと互換性がなくなったため、削除されました。カーネルコマンドラインで noreplace-paravirt
を使用して AMD64 および Intel 64 システムを起動すると、オペレーティングシステムが繰り返し再起動されます。(BZ#1538911)
新しい EFI memmap
実装が SGI UV2+ システムで利用可能になりました
この更新より前は、kexec 再起動 (
memmap
) 実装全体にわたる Extensible Firmware Interface (EFI) の安定したランタイムサービスマッピングは、Silicon Graphics International (SGI) UV2 以降のシステムでは利用できませんでした。この更新により、EFI memmap
のサポートが追加されました。さらに、この更新により、kdump
カーネルでのセキュアブートの使用も可能になります。(BZ#1102454)
柔軟なファイルレイアウトを使用した pNFS 共有のマウントが完全にサポートされるようになりました。
pNFS クライアントでの柔軟なファイルレイアウトは、Red Hat Enterprise Linux 7.2 でテクノロジープレビューとして初めて導入されました。Red Hat Enterprise Linux 7.5 では、完全にサポートされるようになりました。
pNFSの柔軟なファイルレイアウトにより、ノンストップファイルモビリティーやクライアント側のミラーリングなどの高度な機能を利用できます。これにより、データベース、ビッグデータ、仮想化などの分野での利便性が向上します。pNFS フレキシブルファイルレイアウトの詳細は、https://datatracker.ietf.org/doc/draft-ietf-nfsv4-flex-files/ を参照してください。(BZ#1349668)