第6章 外部カーネルパラメーターの重要な変更
本章では、システム管理者向けに、Red Hat Enterprise Linux 8.2 で配布されるカーネルの重要な変更点の概要を説明します。これらの変更には、追加もしくは更新された proc
エントリー、sysctl
および sysfs
のデフォルト値、ブートパラメーター、カーネル設定オプション、または重要な動作の変更などが含まれます。
6.1. 新しいカーネルパラメーター
- cpuidle.governor = [CPU_IDLE]
-
使用する
cpuidle
ガバナーの名前 - deferred_probe_timeout = [KNL]
これは、プローブへの依存関係で遅延しているプローブが待機をやめるまでのタイムアウトを秒単位で設定するデバッグパラメーターです。
オプトインされている特定の依存関係 (サブシステムまたはドライバー) のみは無視されます。タイムアウト 0 の場合は、
initcalls
の最後にタイムアウトします。また、このパラメーターは、再試行後も遅延しているプローブ一覧にデバイスをダンプします。- kvm.nx_huge_pages = [KVM]
このパラメーターは、
X86_BUG_ITLB_MULTIHIT
バグのソフトウェアによる回避策を制御します。オプションは次のとおりです。
-
force
- 常に回避策をデプロイします。 -
off
- 回避策をデプロイしません。 -
auto
(デフォルト) -X86_BUG_ITLB_MULTIHIT
の存在をベースに回避策をデプロイします。
-
ソフトウェアによる回避策がホストに対して有効化されている場合、ゲストはネスト化されたゲストに対して回避策を有効化する必要はありません。
- kvm.nx_huge_pages_recovery_ratio = [KVM]
- このパラメーターは、Huge Page に定期的にザッピングされる 4KiB ページの数を制御します。0 の値ではリカバリーが無効になります。値が 0 以外の N の場合、カーネルベースの仮想マシン (KVM) は、毎分 4KiB ページの N 分の 1 をザッピングします。デフォルト値は 60 です。
- page_alloc.shuffle = [KNL]
ページアロケーターが空きリストをランダム化するかどうかを制御するブール値フラグ。
ランダム化は、カーネルがダイレクトマップ方式のメモリーサイドキャッシュのあるプラットフォームで実行中であることを検知すると、自動的に有効にされます。このパラメーターを使用して、この動作をオーバーライドすることや、無効にすることができます。
フラグの状態は、
/sys/module/page_alloc/parameters/shuffle
ファイルのsysfs
pseudo ファイルシステムから読み込むことができます。- panic_print =
パニックが発生したときにシステム情報を出力するビットマスク。
ユーザーは、以下のビットを組み合わせて選択できます。
- ビット 0 - すべてのタスク情報の出力
- ビット 1 - システムメモリー情報の出力
- ビット 2 - タイマー情報の出力
-
ビット 3 -
CONFIG_LOCKDEP
カーネル設定がオンの場合にロック情報を出力 -
ビット 4 -
ftrace
バッファーの出力 -
ビット 5 - バッファーのすべての
printk
メッセージを出力
- rcutree.sysrq_rcu = [KNL]
-
新しい猶予期間がまだ開始していない原因を特定することを目的に、
sysrq
キーを強制的に使用して Tree RCU のrcu_node
ツリーをダンプします。 - rcutorture.fwd_progress = [KNL]
- この観念をサポートするリードコピーアップデート (RCU) のタイプについて、RCU の猶予期間の進捗テストを有効にします。
- rcutorture.fwd_progress_div = [KNL]
- 進捗テストの緊密なループを実行する、CPU のストール警告期間の分数を指定します。
- rcutorture.fwd_progress_holdoff = [KNL]
- 連続する進捗テスト間で待機する秒数
- rcutorture.fwd_progress_need_resched = [KNL]
-
cond_resched()
呼び出しを、進捗テストの緊密なループ中に、need_resched()
の確認に入れます。 - tsx = [X86]
このパラメーターは、Transactional Synchronization Extensions (TSX) 制御に対応する Intel プロセッサーで TSX 機能を制御します。
オプションは次のとおりです。
-
on
- システムで TSX を有効にします。すべての既知のセキュリティー脆弱性に対する軽減策はありますが、TSX は以前の予測関連の CVE を複数助長しました。その結果、有効にしたままにすると、これに関連する未知のセキュリティーリスクが存在する可能性があります。 -
off
- システムで TSX を無効にします。このオプションは、Microarchitectural Data Sampling (MDS) に対する脆弱性がない新しい CPU でのみ実行可能です。つまり、そういった CPU にはMSR_IA32_ARCH_CAPABILITIES.MDS_NO=1
があり、マイクロコード更新を介して新しいIA32_TSX_CTRL
モデル固有レジスタ― (MSR) を取得します。この新しい MSR により、TSX 機能の信頼できる非アクティブ化が実現します。 -
auto
- システムで、X86_BUG_TAA
が存在する場合に TSX を無効にし、それ以外の場合に TSX を有効にします。
-
このパラメーターを指定しない場合は、tsx=off
と同じです。
詳細は、アップストリームの カーネルドキュメントを参照してください。
- tsx_async_abort = [X86,INTEL]
このパラメーターは、TSX Async Abort (TAA) 脆弱性の軽減策を制御します。
Micro-architectural Data Sampling (MDS) と同様に、Transactional Synchronization Extensions (TSX) に対応した特定の CPU は、CPU 内部バッファーに対する不正使用に関して脆弱です。この不正使用では、特定の条件下で情報を開示ガジェットに転送することが可能です。
脆弱なプロセッサーでは、攻撃者が直接アクセス権を持たないデータにアクセスするために、キャッシュ側のチャネル攻撃で、予測的に転送されるデータを利用できます。
オプションは次のとおりです。
-
full
- TSX が有効な場合に、脆弱性のある CPU で TAA 軽減策を有効にします。 -
full,nosmt
- 脆弱性のある CPU で TAA 軽減策を有効にし、同時マルチスレッディング (SMT) を無効にします。TSX が無効になっていると、CPU がクロススレッド TAA 攻撃に対して脆弱ではないため、SMT は無効になりません。 off
- TAA 軽減策を無条件で無効にします。MDS の影響を受けるマシンでは、MDS 軽減策をアクティブにすることで
tsx_async_abort=off
パラメーターが阻害される可能性があります。これは両方の脆弱性が同じメカニズムで軽減されるためです。したがって、この軽減策を無効にするには、mds=off
パラメーターも指定する必要があります。このオプションを指定しない場合、
tsx_async_abort=full
と同じになります。MDS の影響を受ける CPU と MDS 軽減策をデプロイする CPU では、TAA 軽減策は必要なく、その他の軽減策も提供されません。
-
詳細は、アップストリームの カーネルドキュメントを参照してください。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。