トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備

今回は「トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備」についてご紹介します。

関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


 LinuxカーネルがCで記述されているというのは誰もが知るところだ。ただ、そのCがかなり昔のC、すなわち1989年の規格である「C89」だという事実については知らない人もいるかもしれない。C89は「ANSI X3.159-1989」、あるいは「ANSI C」としても知られている。Linus Torvalds氏は、そろそろC89に別れを告げる時だと判断し、Linuxカーネルの公式な開発言語を2011年規格の「C11」に移行しようとしている。

 これは見かけほど大きな変更ではない。C89は現在でもほぼ普遍的にサポートされている。どのようなCコンパイラーでも以前の規格との後方互換性を備えているため、C89で記述されたプログラムのコンパイルや実行は問題にならない。つまり、C11準拠のコンパイラーでも、C89で記述されたレガシーなコードによって問題が引き起こされることはないはずだ。

 では、なぜわざわざ移行するのだろうか。今回の変更は、新しい規格で利用可能になった便利な機能を使おうというものではない。

 Torvalds氏がこうした考えに至ったきっかけは、カーネルのリンクリストプリミティブに関連する投機的実行の脆弱性を解決するパッチを適用しようとした際に、該当パッチが持つ別の問題が明らかになったことだった。同氏はこの問題を修正するには、「C99」でリストのトラバースマクロに引き渡すイテレーターを、ループ本体の外のスコープで宣言しておかなければならないという点に気付いた。

 同氏はLinuxカーネルメーリングリスト(LKML)に「この種の非投機的なバグが発生する理由は、C99スタイルの『ループ内での変数宣言』という選択肢をわれわれが今まで持ち合わせてこなかったためにほかならない。つまり、list_for_each_entry()といったものすべては基本的に常に、最後のHEADエントリーをループ外にリークさせる。というのも、ループ本体内でイテレーター変数を宣言できないためだ」と記している。

 その答えは、いよいよC89に別れを告げ、この種の問題が起こり得ないCの新規格に移行するというものだ。つまり「C99規格への移行を検討する時期が来たということだ。これは20年以上も前に策定された規格だが、少なくともブロックレベルでの変数宣言が可能な程度には新しいもの」となっている。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
「RPGツクール2000/2003」で作ったゲームも投稿OK スマホでプレイ可能「ゲームアツマール」新機能
ネットトピック
2021-05-07 23:20
「Windows 10」新プレビュー、サポート終了控える「IE 11」を削除
IT関連
2021-05-26 15:12
.NETでWebAssemblyの最新仕様「WASI Preview 2」対応コンポーネントを作れる「componentize-dotnet」、Bytecode Allianceがオープンソースでリリース
.NET
2024-09-09 20:06
グーグル親会社AlphabetのQ2決算、予想を大きく上回る
IT関連
2021-07-28 08:26
NVIDIA、ロボットシミュレーター「Isaac Sim」のアップデートを発表
IT関連
2023-01-05 00:13
「ファミコンカセット」オークションの落札最高額が更新、NES版「ゼルダ」未開封・初期生産品が約9600万円で落札
ゲーム / eSports
2021-07-13 10:59
ユーザー10万人のアジャイルミーティングソフトウェアParabolが約8.7億円を調達
ソフトウェア
2021-05-04 04:38
日立システムズ、「債権督促効率化AIサービス」提供–債権回収の課題を解決
IT関連
2023-03-18 12:04
Rust言語用のIDE「RustRover」をJetBrainsがプレビュー公開。コード補完、デバッガ、パフォーマンス分析など
Rust
2023-09-14 01:36
アバナード、トヨタ自動車の「市民開発拡大」のための人材育成を支援
IT関連
2022-12-10 17:20
輸送用機器製造のIJTT、鋳造ホストシステムを脱メインフレーム化
IT関連
2023-10-19 18:30
今週の記事ランキング(2021.8.8〜8.12)
IT関連
2021-08-14 22:56
携帯ショップがスマホ教室 地域のデジタル拠点へ
IT関連
2021-06-12 11:48
グーグル、従業員の20%に在宅勤務を認める方針
IT関連
2021-05-07 05:13