Linus Torvaldsは6月28日、次期Linuxカーネル「Linux 7.2」の最初のリリース候補版(RC)となる「Linux 7.2-rc1」を公開した。
Linux 7.2では数多くのアップデートが予定されているが、とくに注目したいのがRust関連のアップデートだ。Linux 7.2では新たに4万行以上のRustコードが追加されるが、これほど大規模な変更となったのは、Rustのzerocopyライブラリを取り込んだことに起因する。
Rust for LinuxのメンテナーであるMiguel Ojedaは6/14付けで提出したプルリクエストにおいて、zerocopyについて「バイト列を安全に他の型に変換できるようにするトレイト(FromBytesなど)やマクロ(transmuteなど)を提供することで、開発者が多くのunsafeなコードを書かなくても済むようになるRustクレート」と説明している。これまでLinuxカーネルでバイト列を構造体として扱う場合には、開発者はunsafeを使ったコードを書く必要があったが、zerocopyによりライブラリ側がその機能を代替できるようになるため、開発者はより(unsafeを使うことなく)安全にドライバやサブシステムのコードを書けるようになる。
またLinux 7.2では、長く非推奨となっていたC言語の標準ライブラリ関数strncpy APIががようやく削除されることになる。もともとstrncpy()は指定した文字数をコピー元(src)からコピー先(dest)へ安全にコピーする関数だが、コピー元の文字列が指定文字数より長い場合、文字列がNULL終端されないという仕様上の欠陥があったため、長年に渡ってバグの温床となっていた。しかもstrncpy()は開発者ごとに異なる目的(文字列コピー、固定長データ、ネットワークヘッダなど)で使われており、strncpy()で開発者が何をしたいのかをひとつひとつ調べる必要があったため、strcpy APIの削除を完了するには「6年以上に渡って70人の貢献者による362件のコミット」(担当メンテナーのKees Cook)を要したという。なおCPUアーキテクチャ(alpha / m68k / powerpc / x86 / xtensa)ごとの実装もすべて削除されている。
危険な型変換を安全なAPIに閉じ込めるというzerocopyのサポートにおいても共通するが、あいまいな仕様のAPIであるstrncpyの完全削除は、ここ最近のLinuxカーネルにおける「APIの設計そのものを変更し、開発者がバグを書けないようにする」という方向性を示しているようで興味深い。
開発が順調に進めば、Linux 7.2は2026年8月中旬ごろに正式版がリリースされ、今秋登場予定の「Ubuntu 26.10」や「Fedora Linux 45」といった主要なディストリビューションのカーネルとしても採用されることになる。