第10章 カーネル


/dev/disk/by-path/ が NPIV パスを許可するようになりました

以前は、2 つ以上の仮想ホストバスアダプター(HBA)が 1 つの物理 HBA に作成された場合、デバイスへのリンクは、パスごとに 1 つのリンクではなく、/dev/disk/by-path/ ディレクトリーにのみ作成されていました。その結果、ファイバーチャネル N_Port ID Virtualization (NPIV)を使用して仮想 HBA で virsh プールを作成しても、正しく機能しませんでした。今回の更新により、/dev/disk/by-path/ のシンボリックリンクが正しく作成され、一意になりました。物理ファイバーチャネル N_Port を介して接続された論理ユニット番号(LUN)用に udev によって作成された /dev/disk/by-path/ のシンボリックリンクは同じままです。(BZ#1032218)

意図しないカーネルの警告メッセージを削除

Red Hat Enterprise Linux 6.8 の最近の変更により、fallocate 操作の使用などにより、ファイルサイズが増加した特定の状況で意図しない警告メッセージが表示されました。
WARNING: at mm/truncate.c:614 pagecache_isize_extended+0x10d/0x120()
このバグは修正され、ファイルサイズを増やす操作によってこの警告メッセージが表示またはログに記録されなくなりました。(BZ#1205014)

librdmacm が、RDMA ハードウェアが存在しない場合に警告とエラーを出力しなくなりました

以前は、RDMA ハードウェアが存在しないシステムに librdmacm がインストールされていた場合、場合によっては、不要な警告およびエラーメッセージを標準エラーストリーム(stderr)に出力することがありました。この更新により、librdmacm はそのようなケースでは警告とエラーメッセージを stderr に出力しなくなりました。(BZ#1231766)

mlx5 ドライバーのカーネル起動の問題を修正しました。

致命的な PCIe エラーのないシステムで mlx5 ドライバーが有効になっていると、カーネルが起動に失敗し、PCIe エラー処理を有効にした直後に mlx5 プローブルーチンでクラッシュしていました。このバグの原因となったパッチは削除され、このドライバーが有効になっているとカーネルが正常に起動するようになりました。(BZ#1324599)

スナップショット読み取り専用ステータスを変更するとカーネルクラッシュが発生することはなくなりました

以前は、ターゲットの再読み込み時に dm-snapshot ターゲットに例外ストアが不適切に使用されていました。その結果、lvchange -p r コマンドまたは lvchange -p rw コマンドを使用してスナップショットボリュームの読み取り専用ステータスを変更し、元のボリュームに I/O があった場合、カーネルは BUG () マクロでクラッシュしました。今回の更新により、例外ストアオーバー中に元の論理ボリュームが一時停止され、ハンドオーバー中に進行中の I/O がなくなりました。その結果、スナップショットの読み取り専用ステータスを変更しても、前述のカーネルクラッシュが発生することはなくなりました。(BZ#1177389)

qla2xxx がバージョン 8.07.00.26.06.8-k に更新されました。

qla2xxx ドライバーがバージョン 8.07.00.26.06.8-k に更新されました。この更新で、8.07.00.26 を経由したバックポートイニシエーターのアップストリームの修正およびマイナーな機能強化が反映されました。(BZ#1252111)

devpts_kill_sb () のメモリーリークが修正されました。

devpts 擬似ファイルシステムは、使用中に IDR リソースを割り当てます。ただし、この更新の前は、devpts がアンマウントされても解放されませんでした。その結果、IDR システムによるリソースの使用がリークされ、コンテナーの起動と停止が頻繁に発生し、特に多数のコンテナーが使用されるという問題が発生する可能性がありました。この更新により、アンマウント時にこれらのリソースを解放するアップストリームパッチが適用され、devpts ファイルシステムで使用される IDR リソースがアンマウント時にリークされなくなりました。(BZ#1283557)

sysctl パラメーターの設定が正常に実行されるようになりました。

sysctl -w vm.compact_memory=1 コマンドを実行して sysctl パラメーターを設定しているときに、システムは以前は次のエラーメッセージを返していました。
error: "Success" setting key "vm.compact_memory"
提供されるパッチではこのバグが修正され、前述のコマンドが正常に実行されるようになりました。(BZ#1278842)

netconsole がカーネルクラッシュを引き起こしなくなりました。

以前はカーネルクラッシュを引き起こす可能性がありましたが、netconsole または netpoll で同時にメッセージを送信するときに、ixgbe または vmxnet3 アダプターをリセットしていました。今回の更新では、コアアダプターリセットパスと netpoll 送信パスの間に相互除外が追加され、このような状況でのカーネルクラッシュが防止されます。(BZ#1252212)

カーネルがクラッシュしないようにするために VFS に追加されたループチェック

NFS クライアントは、以前は、一部の NFS サーバーディレクトリー構造のディレクトリーループを検出できませんでした。これに失敗すると、ファイルシステムのマウントを解除しようとしても、NFS inode が参照されたままになり、カーネルがクラッシュする可能性がありました。今回の更新により、VFS にループチェックが追加され、この問題が効果的に防止されるようになりました。(BZ#1254020)

USB サウンドカードからのオーディオの再生が期待どおりに機能します

URB_ISO_ASAP セマンティクスが正しくないため、USB サウンドカードを使用してオーディオファイルを再生すると、以前は一部のハードウェア設定で失敗する可能性がありました。今回の更新でバグが修正され、USB サウンドカードからのオーディオを再生することが期待どおりに機能するようになりました。(BZ#1255071)

HID ドライバーのページフォールトと後続のカーネル oops が修正されました。

以前は、Human Interface Device (HID)ドライバーが、調整されたバッファーでレポートを実行すると、レポートの最後が読み取られたときに、ページフォールト割り込みとカーネル oops が発生する可能性がありました。今回の更新では、レポートの末尾に追加のバイトを追加してこのバグが修正されたため、レポートの読み取りがページ境界を越えることはありません。その結果、ページフォールトと後続のカーネル oops は発生しなくなります。(BZ#1256568)

フリーズファイルシステムを同期するときのデッドロックを修正しました。

s_umount ロックの順序が壊れているため、リンクされていないファイルが閉じられ、同期(または sync fs)ユーティリティーが同時に実行されたときに競合状態が発生していました。その結果、同期 とファイルシステムのフリーズを試みるプロセスで、フリーズしたファイルシステムでデッドロックが発生していました。この更新により、フリーズファイルシステムで同期(または sync fs)がスキップされ、前述の状況ではデッドロックが発生しなくなります。(BZ#1241791)

起動の失敗を防ぐために dracut の依存関係が更新されました。

暗号化暗号を使用する前に、起動時に Deterministic Random Bit Generator (DRBG)モジュールを読み込む必要があります。ただし、古いバージョンの dracut では、ディスク暗号化に暗号化を使用することができる initramfs イメージに DRBG が含まれていませんでした。その結果、ディスク暗号化が root ファイルシステムで使用されていた場合、ブートプロセスは失敗していました。今回の更新で、DRBG モジュールが dracut の依存関係リストに追加され、モジュールが initramfs に存在するようになり、暗号化されたルートファイルシステムを持つシステムが正常に起動できるようになりました。(BZ#1241338)

パケットが正しくカウントされるようになりました

リグレッションにより、パケットカウンターは、通常処理された完了(パケット)の数のみを検出しましたが、誤ったものは検出できませんでした。したがって、これらのパケットは確認されないため、ファームウェアは割り込み要求(IRQ)を返します。このバグを修正するためのパッチが提供され、すべてのパケットが期待どおりにカウントされるようになりました。(BZ#1241287)

ディレクトリーの削除時のデッドロックを修正しました。

負の子 dentry への参照によりそのディレクトリーへの参照が保持されている間にディレクトリーを削除する場合、dentry ディレクトリーは以前は強制終了されませんでした。さらに、負の子 dentry が強制終了されると、リンクが解除され、未使用の dentry がキャッシュに存在していました。これにより、問題のファイルシステムがフリーズしている間に dentry エビクションを強制することでデッドロックが生じる可能性があります。今回の更新で、未使用の dentry がすべてハッシュ化されず、ディレクトリーの削除直後にエビクトされ、デッドロックが回避され、前述のシナリオでシステムがハングしなくなりました。(BZ#1241030)

ヒュージページ領域 マッピングによってデータが破損しなくなる

hugetlb 内では、リージョンデータ構造は、メモリーマップセマフォと単一の hugetlb インスタンスミューテックスの組み合わせによって保護されました。ただし、以前のリリースで、ページフォールトのスケーラビリティーがカーネルにバックポートされ、単一のミューテックステーブルが導入され、ロックの組み合わせが不十分になり、破損や未定義の動作を引き起こす可能性のある競合ウィンドウにつながる可能性があります。たとえば、ソフトウェアマッピングや、同じ領域への同時スレッドを持つ hugetlb 領域を再マッピングした場合に、ページ障害を引き起こした可能性があります。今回の更新では、適切なシリアライゼーションのリージョン追跡機能に必要な スピンロック を導入することで、問題を修正しています。(BZ#1260755)

マルチパス要求キューが原因で停止が生じなくなりました

以前は、マルチパス要求キューを実行すると、パスが I/O 負荷時に定期的に失敗した場合にリグレッションが発生していました。このリグレッションは、I/O が 300 秒を超えた I/O が停止すると見つかりました。この更新により、マルチパス要求キューの実行を減らすように意図された変更が元に戻され、I/O がタイムリーに完了します。(BZ#1240767)

inode が意図したとおりに解放されるようになりました

以前は、dcache に存在しない dentry ('cold dcache ')でファイルハンドル(fhandle)を開き、unlink ()関数および close ()関数を使用すると、close () システム コール 時に inode が解放されませんでした。その結果、iput () final が無期限に遅延しました。このバグを修正するためのパッチが提供され、inode が期待どおりに解放されるようになりました。(BZ#1236736)

vmxnet3 ドライバーが vmxnet3 アダプターのバージョン 2 と互換性があるようになりました。

バグにより、vmxnet3 ドライバーは、vmxnet3 アダプターバージョン 2 で使用している場合にメモリーリークやスリーミング割り込みなどの誤った動作を示していました。vmxnet3 ドライバーの動作を修正するために、いくつかのアップストリームパッチが適用されています。この更新では、rx パスのメモリーリークが修正され、PCI シャットダウンのハンドラーを実装し、vmxnet3 がアダプターバージョン 2 と互換性があります。(BZ#1236564)

IP フラグメントは時間内に破棄されます

デフラグエンジンによって使用されるメモリーは、CPU ごとに考慮されます。ただし、CPU が多数あるシステムでは、CPU ごとのキャッシュがリアルタイムから影響を受ける可能性があるため、デフラグエンジンが早すぎて古いフラグメントを破棄する可能性があります。今回の更新で、この不一致を最小限に抑える修正が追加され、正しいタイミングで古い IP フラグメントが破棄されるようになりました。(BZ#1235465)

GFS2 が正しい値を参照するようになる

以前は、GFS2 ファイルシステムには、初期化されていない変数を参照することを引き起こすまれなタイミングウィンドウがありました。その結果、カーネルパニックが発生していました。このタイミング期間中に正しい値を参照するようにコードが変更され、カーネルにパニックがなくなりました。(BZ#1267995)

IPC SysV セマフォを使用するソフトウェアがカーネルで正しく動作する

プロセスまたはスレッドの終了時に、Linux カーネルが以前に実行された SysV セマフォ操作を元に戻すと( SEM_UNDO フラグとともに semop を使用して行った)、別のプロセスまたはスレッドが操作が発生した場所と同じセmaphore を削除できる競合状態が発生し、カーネル内で解放されているメモリーを使用し、予期しない動作が可能になる可能性がありました。このバグは、IPC SysV セマフォを使用するソフトウェア( IBM DB2 など)で認識される可能性があります。このソフトウェアは、競合状態の発生後に、プロセスまたはユーティリティーの一部が IPC セマフォ操作またはシステムコールで誤って停止する可能性があります。このバグを修正するためのパッチが提供され、前述のシナリオでカーネルが期待どおりに動作するようになりました。(BZ#1233300)

perf buildid-cacheの競合状態を修正しました。

今回の更新以前は、同じファイルのコピーを試みる複数のインスタンスが原因で、perf buildid-cache の競合状態がトリガーされ、システムライブラリーおよびその他のファイルを切り捨てる可能性がありました。今回の更新により、buildid ディレクトリーにコピーする際に一意の一時ファイルが使用され、前述の競合状態が発生しないようにします。(BZ#1229673)

カーネルクラッシュを防ぐためにキャッシュシリアル化が追加されました

キャッシュオブジェクトが強制終了された後にキャッシュ操作が送信される可能性がある競合状態により、cachefilesd サービスを実行しているシステムでカーネルがクラッシュすることがありました。提供されたパッチにより、コードでオブジェクトが使用できなくなることで競合状態が防止されます。その結果、このシナリオでは、オブジェクトの後続の操作がすべて拒否され、カーネルがクラッシュしなくなりました。(BZ#1096893)

edac モジュールのリロードまたは削除が期待どおりに機能するようになりました

以前は、i7core_ edac モジュールを使用してシステムで edac モジュールのリロードまたは削除により、多数の警告メッセージが返され、その後のカーネルがクラッシュする可能性がありました。基礎となるソースコードにパッチが適用され、edac モジュールでの操作時にカーネルがクラッシュしなくなりました。(BZ#1227845)

ボンディングインターフェイスにカスタム MAC アドレスを再度指定できます。

ボンディングされたインターフェイスを持つシステムでは、ユーザーはボンディング用に独自のカスタム MAC アドレスを指定できませんでした。このバグを修正するためのパッチが提供され、前述の状況ではカスタム MAC アドレスを再度指定できます。(BZ#1225359)

st ドライバーおよび sg ドライバーが正しく動作するようになりました。

FCP_RSP_INFO フィールドの不適切な長さにより、フィールドの一部をコピーし、st ドライバーおよび sg ドライバーが正しく機能しませんでした。今回の更新で、FCP プロトコルに関連するコードが更新され、st および sg が期待どおりに機能するようになりました。(BZ#1223105)

スレーブインターフェイスが自動的に無差検出モードになる

非アクティブな間にボンディングインターフェイスがプロミスキャスモードに切り替わった場合、ボンド VLAN インターフェイスが再びアクティブになった後でも、スレーブインターフェイスは自動的に無差モードになりませんでした。今回の更新により、フラグの変更は常にインターフェイスに伝播され、スレーブインターフェイスが想定どおりに無差モードになるようになりました。(BZ#1222823)

force_hrtimer_reprogram パラメーターがカーネルに追加

以前は、タイマーの有効期限の問題により、hrtimerksoftirqd デーモンが実行中のプロセスによってブロックされていた場合は、スケジューラーティックが長すぎて停止していました。今回の更新で、force_hrtimer_reprogram カーネルパラメーターが追加されました。カーネルコマンドラインで force_hrtimer_reprogram=1 を使用すると、期限切れのすべてのタイマーの再プログラムが強制され、このバグの発生を防ぐことができます。(BZ#1285142)

IPR メモリーバッファーのインデックス更新

64 ビット IBM Power Systems (ppc64)の ipr ドライバーのバグにより、後方互換性メモリーバッファーのインデックスが作成され、Hardware Test Exerciser (HTX)テストスイートの実行時にカーネルがクラッシュする可能性がありました。今回の更新で、ipr メモリーバッファーインデックスは modulo ではなくビットマスク操作を使用し、ビットが低くマスクされ、後方互換性が回避されなくなりました。(BZ#1209543)

kernel に追加された cgroup_threadgroup_rwsem 変数

以前は、attach_task_by_pid () 関数は、終了スレッドと競合し、すでに解放されている group_rwsem メンバーの signal_struct リストのロックまたはロック解除を試みる場合がありました。これにより、カーネルクラッシュが発生する可能性があります。この更新により、cgroup_threadgroup_rwsem 変数が追加されました。これにより、このバグが修正され、このシナリオでカーネルクラッシュが発生しないようにします。(BZ#1198732)

失効したキーリングにキーを追加しても、メモリーリークが生じなくなりました

以前は、request_key () 関数を使用してキーを取り消されたキーリングに追加しようとすると、カーネルエラーパスでリソースリークが発生していました。割り当てられ、失敗したキーはカーネルメモリーのままになり、ガベージコレクターが削除されることができませんでした。今回の更新により、この状況では、失敗したキーの参照数が 0 に正しく到達するようになり、ガベージコレクターはそれらを削除できるようになり、失敗したキーが無期限にメモリーに留まることがなくなりました。(BZ#1188442)

fork ()が繰り返し発生するカーネルパニックが発生しなくなる

以前は、フォークのパターンが異常なと、関与するプロセスの数が少なくなった場合でも、 anon_vma_chain および anon_vma スラブ メモリーが無限に増大する可能性がありました。これにより、カーネルパニックが発生していました。提供されたパッチは、新しいインスタンスをフォークするのではなく、既存の anon_vma を再利用するヒューリスティックを追加し、anon_vma->degree カウンターを追加します。これにより、anon_vma メンバーの数が仮想メモリー領域の数の 2 倍にならないようにします。その結果、この状況ではカーネルパニックが発生しなくなりました。(BZ#1151823)

固定されたジョブスケジューリングにより CPU 負荷が分散されるようになりました

早期にデクリメントされた calc_load_task により、計算された負荷平均はマシンの CPU の数までオフでした。その結果、ジョブスケジューリングが適切に機能せず、システムパフォーマンスが低下することがありました。この更新により、CPU のデルタが NO_HZ アイドルに分離され、保留中のアイドルデルタがグローバルのアクティブなカウントに折りたたまれ、NO_HZ モードのままの場合は idle-duration の平均が正しく付与されるようになりました。現在、ジョブのスケジューリングは正しく機能し、CPU の負荷が分散されるようになりました。(BZ#1167755)

1 つのプロセスのみが特定のメモリーページを解放できます。

GFS2 ファイルシステムの inode の無効化コードと inode 消去コードとの間のハッシュテーブルの無効化コードで競合状態が見つかりました。状況によっては、2 つのプロセスが同じメモリーを解放しようとする可能性があり、カーネルパニックが発生する可能性があります。今回の更新で、ハッシュテーブルの無効化コードに spin_lock が追加され、単一のプロセスのみが特定のメモリーページを解放しようとするようになり、競合状態が発生するのを防ぎます。(BZ#1250663)

⚙ は、be2net を介して VLAN パケットを正常に転送します

以前は、macvlan または ⚙ デバイス上にスタックされた VLAN は、VLAN フィルターを実装して使用するデバイスでは機能しませんでした。その結果、⚙ パススルー モード は、VLAN パケットの be2net ドライバーを介して転送できませんでした。今回の更新で、macvlan ドライバーへの VLAN ndo 呼び出しを実装して、適切な VLAN タグ ID を低いデバイスに渡します。その結果、⚙ は be2net 経由で VLAN パケットを正常に転送します。(BZ#1213846)

primary_reselect=failure が正しく動作するようになりました。

バグにより、primary_reselect=failure ボンディングパラメーターが正しく機能しませんでした。他のインターフェイスが失敗しなくても、プライマリーインターフェイスは常にフェイルオーバーしていました。今回の更新により、パラメーターは期待どおりに機能し、プライマリーボンドインターフェイスは、現在のプライマリー以外のアクティブインターフェイスに障害が発生した場合にのみ引き継ぎます。(BZ#1290672)

logshifter からのログメッセージが正しく処理されるようになりました。

負荷が大きくなると、logshifter などの一部のアプリケーションでは、システムロガーがスプールするログメッセージのバーストを生成する可能性があります。競合状態により、ログボリュームが管理可能なレベルにドロップした後でも、そのアプリケーションからのログメッセージが失われる可能性がありました。今回の更新では、システムロガーが使用するソケットの送信者に通知するために使用されるカーネルメカニズムが修正され、受信側でより多くのスペースが利用できる競合状態が削除され、以前は送信者が新しいメッセージの送信を停止し、すべてのログメッセージを正しく処理できるようになりました。(BZ#1284900)

KVM 仮想ゲストがブリッジインターフェイスを介して正常に接続されるようになりました

以前は、大きな受信オフロード(LRO)フラグがまだある物理インターフェイスの上に、ブリッジインターフェイスが存在する可能性がありました。ブリッジインターフェイスは、基盤となるデバイスで LRO を有効にしても互換性がないため、仮想マシン(VM)からのネットワーク通信が正しく機能しなくなる原因と、ブリッジ上のネットワーク通信が原因です。今回の更新で、ブリッジの下にあるデバイス get LRO disabled が確実に無効になり、仮想マシンがブリッジインターフェイス経由で正常に接続されるようになりました。(BZ#1258446)

swapfree サイズが正しくなりました

get_swap_page ()ロックの以前の変更により、swap_lock スピンロックの使用が削除されました。これにより、nr_swap_pages が破損し、/proc/meminfo ファイル内の無効な SwapFree 情報が発生する可能性があります。ここで、SwapFree のサイズが SwapTotal のサイズを超える可能性があります。この更新により、nr_swap_pages のアトミック変数が使用され、/proc/meminfoSwapFree のサイズが正しくなりました。(BZ#1252362)

SCSI エラー処理によりデッドロックが生じなくなりました。

以前は、リムーバブルメディアデバイスで SCSI コマンドがタイムアウトした場合、エラー処理コードは常にデバイスのドアを再ロックしようとしていました。これにより、すべての要求が使用中の場合に、ドアのロックを再ロックする要求が実行されるため、デッドロックが発生する可能性がありました。今回の更新で、SCSI エラー処理は、エラー処理手順の一部としてデバイスがリセットされた場合にのみ再ロックを試み、デッドロックが発生しなくなりました。(BZ#995234)

LRO フラグが正しく伝播されるようになりました。

大規模な受信オフロード(LRO)フラグの無効化は、VLAN およびボンディング階層で上記のデバイスからダウンしていなかったため、トラフィックのフローが損なわれていました。このバグは修正され、LRO フラグが正しく伝播されるようになりました。(BZ#1259008)

マルチキャストグループの割り当てが修正されました。

カーネルが nl80211 プロトコルにマルチキャストグループを誤って割り当てていたため、nl80211 ワイヤレスドライバーで、hostapd がアクセスポイントモードでワイヤレスデバイスを起動および初期化できないなどの問題が発生していました。この更新により、nl80211 へのマルチキャストグループの割り当てが修正され、ワイヤレスデバイスを正しく管理できるようになりました。(BZ#1259870)

IPv6 での UDP データグラムの送信は期待どおりに機能します

競合状態により、IPv6 プロトコルで UDP データグラムを送信するときに、以前は ipv6_txoptions 破損が表示されました。カーネルパニックの原因となったデータの破損を防ぐために、アップストリームパッチが適用されました。(BZ#1312740)

NVMe ハードロックアップパニックが発生しなくなる

nvme ドライバーがキューロックを長く保持した場合(DMA マッピング中に、ロックアップが発生したなど)、nvme ロックアップパニックが発生していました。この更新により、基礎となるソースコードが修正され、nvme が期待どおりに機能するようになりました。(BZ#1227342)

fs_clear_inode ()の BUG_ON ()が発生しなくなりました。

以前は、BUG_ON ()シグナルが fs_clear_inode ()関数に表示されていました。この場合、nfs_have_writebacks ()関数は nfs_inode->npages の正の値を報告していました。これにより、カーネルパニックが発生していました。提供されるパッチは、PagePrivate のチェックで inode i_lock を保持し、要求をロックして、このバグが修正され、シリアル化を実行します。(BZ#1135601)

UID と GID が正しい値に割り当てられます。

リグレッションにより、autofs マウント要求時に UID および GID 環境変数に正しい値が割り当てられませんでした。この更新では、UID と GID の割り当てを修正するパッチが提供され、UID と GID がマウントをトリガーしたユーザーの値が使用されるようになります。(BZ#1248820)

LUKS と IPSEC を同時に使用しても、データの破損がなくなりました。

IPSEC と LUKS で暗号化したボリュームを同時に使用すると、LUKS ボリュームでデータが破損する可能性があります。提供されているパッチによりこのバグが修正され、LUKS および IPSEC を同時に使用するときにデータの破損は発生しなくなります。(BZ#1259023)

VLAN_GROUP_ARRAY_LEN has been Revived

以前の更新では、VLAN_GROUP_ARRAY_LEN カーネルマクロの名前が VLAN_N_VID に変更されました。この名前変更により、VLAN_GROUP_ARRAY_LEN を必要とするカーネルモジュールをコンパイルする際に(vmxnet3 外部ドライバーなど)、コンパイルに失敗していました。今回の更新で、古いマクロが回収され、サードパーティーモジュールがコンパイルできるようになりました。(BZ#1242145)

破損した ELF ヘッダーが修正されました

以前は、/proc/vmcore ELF ファイルの破損した ELF ヘッダーにより、ELF ファイルが正しく読み取られることができませんでした。これにより、kdump サービスが予期せず終了し、カーネルパニックが発生していました。提供されているパッチにより ELF ヘッダーが修正され、kdump が期待どおりに成功するようになりました。(BZ#1236437)

tty ミューテックスでクォータ警告のデッドロックが修正されました。

以前は、クォータコードが tty レイヤーに呼び出して警告を出力できました。これにより、tty->atomic_write_lock と dqptr_sem の間のロックの反転が発生する可能性がありました。提供されたパッチにより、クォータユーティリティーコードが dqptr_sem semaphore が保持されている tty レイヤーを呼び出さなくなり、プロセスはデッドロックになりました。(BZ#1232387)

VMA リストが空の場合、anon_vma の程度が常にデクリメントされます

anon_vma データ構造では、ある程度、この anon_vma を指す子 anon_vma メンバーと仮想メモリー領域の数をカウントします。unlink_anon_vma ()関数で、リストが空の場合、anon_vma は外部参照数がゼロかどうかが解放されるため、親の程度を減少する必要があります。ただし、unlink_anon_vma ()で程度を減少させないと、BUG_ON ()シグナルがトリガーされました。提供されたパッチによりこのバグが修正され、程度は期待どおりに減少するようになりました。(BZ#1309898)

繰り返し sysrq イベントが期待どおりに進行する

以前は、NMI コンテキストで sysrq イベントを繰り返すとデッドロックが発生し、システムがクラッシュしていました。提供された patchset は、seq_buf バッファーと per_cpu printk ()関数に最小限のサポートを追加し、前述のデッドロックが発生するのを防ぎます。(BZ#1104266)

Unix ドメインのデータグラムソケットでデッドロックが発生しなくなる

リグレッションにより、データグラムをそれ自体に送信するときに Unix ドメインデータグラムソケットがデッドロックになる可能性がありました。提供されたパッチは、別のスクチェックを unix_dgram_sendmsg ()関数に追加し、前述のデッドロックは発生しなくなります。(BZ#1309241)

プロセスを終了すると、カウンターが期待どおりに減少します

以前は、Kernel Shared Memory (KSM)またはページ移行が使用されている場合、終了プロセスが匿名の仮想メモリー領域に関連するカウンターをデクリメントすることができませんでした。その結果、カウンターのアンバランスによりカーネルパニックが発生していました。提供されているパッチによりこのバグが修正され、前述のシナリオでカーネルパニックは発生しなくなります。(BZ#1126228)

UEFI ブートモードでの VGA 出力速度が改善されました。

以前は、VGA コンソールが UEFI ブートモードで非常に遅いため、CPU または I/O デバイスが多数あるサーバーのブート時間が大きく異なります。その結果、ブートフェーズで大量のデバッグ出力を出力することが非常に遅くなり、起動時に発生する問題の分析が困難になりました。さらに、OS の実行中に VGA 出力の速度が遅くなり、システムがハングする可能性があります。この修正により、UEFI ブートモードで VGA 出力速度が改善され、前述の問題が回避されます。(BZ#1290686)

ndo_set_multicast_list フィールドがネットワークドライバーに再び存在する

MAC アドレスを変更した後に netxen_nic 物理インターフェイス上に VLAN インターフェイスを作成すると、以前には VLAN 経由でリモート VLAN への ping 送信に失敗していました。指定したパッチにより、ネットワークドライバーの ndo_set_multicast_list フィールドの使用が追加され、ping は予想通りに成功するようになりました。(BZ#1213207)

fio が XFS が破損しなくなりました。

xfs_fio ユーティリティーを使用してエクステントサイズを調整し、提供された設定ファイルを使用して fio ツールを実行すると、以前は XFS ファイルシステムが破損しました。提供されたパッチによりサイズのヒントが拡張され、fio が XFS が破損しなくなりました。(BZ#1211110)

NFS マウントが正しく報告されるようになりました。

2049 のすべてのパケットを拒否し、NFS クライアントにファイル共有をマウントするように NFS サーバーでファイアウォールを設定すると、以下のエラーが返されました。
connection timed out
提供された修正によりエラーメッセージが修正され、以下が読み込まれました。
connection refused
(BZ#1206555)

自動署名を有効に

sec= マウントオプションでセキュリティータイプを設定し、最後の( つまり )で署名が指定されていなかった場合、自動署名はこれまで有効になっていませんでした。たとえば、DFS ノードが署名を必要とする DFS マウントでは、クライアントが sec= を使用して無効にしていた場合、ノードを有効にするために署名が必要な場合は、DFS ノードをマウントできませんでした。提供される修正は、すべてのセキュリティータイプに MAY_SIGN フラグを設定するため、このバグが修正されます。(BZ#1197875)

ダイレクト I/O を使用した大規模なファイルの書き込みが正常に行われるようになる

以前は、16 MB のチャンクのダイレクト I/O を使用して大きなファイルを書き込むと、16 MB の大きな空きエクステントのチャンクが逆の順序でファイルに割り当てられるパス論理割り当てパターンが発生することがありました。このパッチにより、後方互換性が回避され、ダイレクト I/O を使用して大規模なファイルの書き込みは正常に行われるようになりました。(BZ#1302777)

縮小値の戻り値の修正によりシステムハングを防止する

shrink_dcache_memory 縮小機能はオーバーフローする可能性があり、ログに次の行を報告します。
negative objects to delete
その結果、システムがハングしていました。この縮小関数の戻り値からこのオーバーフロー署名の拡張に提供されたパッチテストで、INT_MAX プリプロセッサーマクロよりも大きな max_pass 変数を設定することを拒否します。その結果、前述のハングは発生しなくなります。(BZ#1159675)

perf が更新されました

幅広いハードウェアに対応し、多くのバグ修正を取り入れるため、perf が更新されました。主な機能拡張は、次のとおりです。
  • 追加のモデル番号(第 5 世代 Intel Core i7 プロセッサー)のサポートが追加されました。
  • Intel Xeon v5 モバイルおよびデスクトッププロセッサーのサポートが追加されました。
  • Intel Xeon v3 および v4 プロセッサーの uncore サブシステムのサポートを有効にしました。
  • Intel Xeon Processor D-1500 のアンコアサブシステムのサポートを有効にしました。(BZ#1189317)

複数の WWPN の設定が容易になりました

今回の機能拡張により、targetcli で tag および untag コマンドのサポートが追加されました。20:00: 00:1b:21:59:12:36 数値の WWPN を使用して LUN マッピングを設定する代わりに、tag コマンドで 1 つ以上の WWPN にタグを付け、そのタグを使用して LUN マッピングを設定することができるようになりました。詳細は、help tag and help untag commands within the acls configuration node を参照してください。(BZ#882092)

iscsi_firmware が搭載されているシステムを起動できる。

dracut の以前のリグレッションが原因で、iSCSI オフロードまたは iSCSI Boot Firmware Table (iBFT)を搭載したシステムが起動を停止していました。その結果、カーネルコマンドラインに iscsi_firmware を使用して Red Hat Enterprise Linux 6.8 システムを新たにインストールした場合、起動できない場合があります。今回の更新でバグが修正され、上記のシナリオのシステムが期待どおりに起動できるようになりました。(BZ#1322209)
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.