strncpy

Linux 7.2-rc1公開。6年越しの安全対策が完了

Linux

Linux 7.2-rc1公開。6年越しの安全対策が完了

Linux 7.2のマージウィンドウが閉じ、最初のリリース候補が現地時間6月28日に公開された。パッチの3分の1をAMD GPUのレジスタ定義が占めているが、その裏では6年がかりのセキュリティ改善が完結し、AMDのHDMI 2.1対応やUSB4の新プロトコルなど、実用に響く変更が揃った。安定版は8月下旬の見込みで、カーネルのソースコードは総行数4389万行を超えた。 6年362コミット、strncpy()が消えた Linux 7.2で最も意味のある変更は、新機能の追加ではなく削除だ。 C言語の文字列コピー関数strncpy()が、カーネルのソースツリーから完全に除去された。6月20日のマージで、関数の実装そのものと全アーキテクチャ固有の最適化コードが一括で消えている。 Linuxカーネルからstrncpyが消えた。6年362コミットの結末Linuxカーネルから文字列コピー関数strncpyが完全に削除された。NUL終端を保証しない危険な仕様はバグの温床とされ、6年間で362コミット・70人の開発者がstrscpy等の安全な代替へ移行。Linux 7.2で19ファイル346行を

Linuxカーネルからstrncpyが消えた。6年362コミットの結末

Linux

Linuxカーネルからstrncpyが消えた。6年362コミットの結末

C言語の標準ライブラリに含まれる関数が、Linuxカーネルから完全に姿を消した。strncpy()。文字列を指定バイト数だけコピーするこの関数は、1970年代のUNIXから受け継がれ、あらゆるCプログラマが一度は使ったことがあるだろう。だが、その挙動はバグの温床だった。 何が起きたのか 現地時間2026年6月19日、リーナス・トーバルズ(Linus Torvalds)氏がLinux 7.2のマージウィンドウでプルリクエストをマージした。strncpy()のAPI定義、5アーキテクチャ(alpha、m68k、powerpc、x86、xtensa)のアセンブリ実装、FORTIFY_SOURCEの防御コード、テストケースのすべてが削除され、19ファイルから346行が消えた。 この作業を率いたのは、Googleでカーネルセキュリティの強化に取り組むケース・クック(Kees Cook)氏だ。クック氏は2015年にKernel Self-Protection Project(KSPP)を立ち上げ、「バグを個別に潰すのではなく、バグが生まれる原因そのものを消す」という方針でカーネルの堅牢化を