Linuxカーネルの失敗

SPARCでのLinuxカーネルの失敗
PA-RISCでのLinuxカーネルの失敗、 ASCIIコードの死骸

コンピューティングにおいて、oops とはLinux カーネルにおける深刻だが致命的ではないエラーを指します。oops はカーネルパニックに先行する場合もありますが、信頼性を損なうものの動作を継続させる場合もあります。oops という用語は、単純なミスであることを意味する以外には、特に意味を持ちません。

機能

カーネルは問題を検出すると、問題のあるプロセスをすべて強制終了しoopsメッセージを出力します。Linuxカーネルエンジニアは、 oopsメッセージを出力することで、oopsの原因となった状況デバッグし、根本的なプログラミングエラーを修正することができます。システムがoopsを経験すると、一部の内部リソースが動作しなくなる可能性があります。そのため、システムが正常に動作しているように見えても、アクティブなタスクが強制終了されたことで望ましくない副作用が発生している可能性があります。カーネルoopsは、システムが失われたリソースを使用しようとしたときに、カーネルパニックを引き起こすことがよくあります。一部のカーネルは、多数のoops(デフォルトでは10,000)が発生するとパニックになるように設定されています。 [ 1 ] [ 2 ]このoops制限は、例えば、攻撃者がoopsとそれに関連するリソースリークを繰り返しトリガーし、最終的に整数オーバーフローが発生してさらなる悪用が可能になる可能性があるためです。[ 3 ] [ 4 ]

Linuxカーネルの公式oopsメッセージに関するドキュメントは、カーネルソースのDocumentation/admin-guide/bug-hunting.rst [ 5 ]ファイルにあります。一部のロガー設定は、oopsメッセージの収集機能に影響を与える可能性があります。 [ 6 ]ソフトウェアはカーネルoopsを収集し、www.kerneloops.orgウェブサイト[ 7 ]kerneloopsなどのリポジトリに送信することができます。このリポジトリは、報告されたoopsの統計情報と公開アクセスを提供しています。

Linux 6.10では、 Windowsのブルースクリーンに似た簡略化されたクラッシュ画面が導入されました。 [ 8 ]

参照

参考文献

  1. ^ Horn, Jann (2022年11月7日). 「[PATCH] exit: oopsの頻度に上限を設定する」 . lore.kernel.org . 2023年1月31日閲覧
  2. ^ "/proc/sys/kernel/ のドキュメント" . docs.kernel.org . 2023年1月31日閲覧
  3. ^コルベット、ジョナサン(2022年11月18日)「過剰な失敗を回避するLWN.net
  4. ^ Jenkins, Seth (2023年1月19日). 「Linuxカーネルにおけるnull参照の悪用」 . Google Project Zero .
  5. ^ 「バグハンティング」 . kernel.org .
  6. ^ "DevDocs/KernelOops" . madwifi-project.org . 2020年8月3日時点のオリジナルよりアーカイブ。 2010年8月21日閲覧
  7. ^ "kerneloops(8) - Linux man page" . 2023年1月31日閲覧
  8. ^ Larabel, Michael (2024年4月19日). 「Linux 6.10はカーネルパニック画面を準備 - 一種の「ブルースクリーン・オブ・デス」 - Phoronix」 . Phoronix .

さらに詳しい情報