AIがLinux 7.3カーネルのバグを修正

わずかなエラーであっても、数十回の再起動を余儀なくされることがあります。これは、ログイン画面に到達する前にシステムがフリーズしてしまう場合に起こります。Linus Torvalds氏は最近、厄介なLinux 7.3カーネルのバグを解決しました。この際、原因の特定には人工知能(AI)が役立ちました。AIは診断用の補助コードを作成し、テスト結果の分析を担当しました。

Intel Xeドライバーのクラッシュ

問題はグラフィックスシステムの内部にありました。これが原因で、起動時にIntel Xeドライバーの深刻なクラッシュが発生していました。この現象は、システムがグラフィカルモードに切り替わるタイミングで発生します。クラッシュには、ドライバーがCompute Command Streamer用に確保していたメモリが関係していました。ドライバーが誤って、このメモリの一部を空きビデオメモリとして扱ってしまっていたのです。

単純な丸め誤差

ドライバーは、使用中領域の境界を計算していました。次に、その結果得られたサイズを128KB単位で切り上げていました。特定のケースでは、この計算によって既に使用中のメモリまで含まれてしまっていました。修正内容は最小限のものでした。サイズを切り上げるのではなく、切り下げる処理にする必要があったのです。

診断プロセスを支援するAI

難しかったのは修正そのものではなく、原因を突き止めることでした。診断のため、Torvalds氏とAIはカーネルに少しずつコードを追加していきました。このコードは、メモリ操作に関する追加データを収集するものです。同氏によれば、24回の中間的な変更と18回のカーネル起動を要したとのことです。そして最終的に、誤った丸め処理を特定するに至りました。

生成よりも協働

AIは補助的な作業を担いました。取得したデータを分析し、新たな診断用の変更を提案する役割です。一方でTorvalds氏は、プロセス全体を統括していました。システムが「解決不能」と結論づけることを提案してきた場面でも、同氏はテストを続けました。AIが最終的なパッチを書いたわけではありません。しかし、AIが生成した診断コードが、不具合箇所の特定に役立ちました。

統合と今後への影響

開発者たちは、このLinux 7.3カーネルのバグに対するパッチを既にメインコードへ統合済みです。次の安定版リリースに向けて準備を進めています。説明文には、一時的な回避策についても記載されています。GDMログインマネージャーを再起動することで、Intel Xeドライバーのクラッシュを回避できる可能性があるとのことです。これは、プログラムが別のメモリ領域を割り当てられることによるものです。

この事例は、複雑な診断作業におけるAIの実践的な役割を示しています。主たる労力は原因の特定にあり、最終的なコードの一行を書くことは、しばしば二次的な作業に過ぎません。今回の解決に至る過程は、開発者にとって強力な新しいワークフローの可能性を浮き彫りにしています。

翻訳元: https://meterpreter.org/linux-7-3-kernel-bug/

本記事は meterpreter.org の記事を翻訳・要約したものです。