カーネル

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)を立ち上げ、「バグを個別に潰すのではなく、バグが生まれる原因そのものを消す」という方針でカーネルの堅牢化を

Apple自身が捨てて17年。AppleTalkがLinuxからも消える

Linux

Apple自身が捨てて17年。AppleTalkがLinuxからも消える

Appleが2009年に見切りをつけたプロトコルが、2026年のLinuxカーネルでようやく退場する。直接の引き金は、コードの老朽化ではなくAI生成パッチの氾濫だった。 3694行の静かな退場 AppleTalkの実装がLinuxカーネルから消える。ネットワーク共同メンテナーのヤクブ・キチンスキ(Jakub Kicinski)氏が、現地時間6月15日付でコミットを投入した。Linux 7.2に向けたnet-nextツリーへの変更で、37ファイル、3694行の削除を含む。 AppleTalkは1985年にAppleが導入した独自のネットワークプロトコルスイートだ。ケーブル1本でMacintosh同士がつながる、プラグ・アンド・プレイのLANを実現した。だがTCP/IPに主役の座を奪われ、Apple自身がMac OS X 10.6 Snow Leopard(2009年8月リリース)でサポートを打ち切っている。 生みの親が17年前に葬ったプロトコルを、Linuxはなぜ今まで抱えていたのか。 AIパッチという名の引き金 キチンスキ氏はコミットメッセージにこう書いた。 「最近、

Linux-libre 7.1-gnu。i486が遺したもの

Linux

Linux-libre 7.1-gnu。i486が遺したもの

Linux 7.1の安定版が公開された翌日、カーネルからプロプライエタリなコードを取り除く「自由版」Linux、GNU Linux-libreが7.1-gnuとしてリリースされた。リリースノートはいつものようにdeblob(非自由バイナリの除去)作業を報告しているが、今回はマスコットのフリードが何度も嘆いている。 i486のサポートが消えた Linux 7.1で、i486プロセッサ向けのカーネルビルドオプションが削除された。x86メンテナのインゴ・モルナー(Ingo Molnár)氏が2025年4月に提案し、約1年の議論を経て、リーナス・トーバルズ(Linus Torvalds)氏が今年4月のマージウィンドウで受け入れた。 1989年に登場したi486は、PC普及期を支えたプロセッサだ。Linuxカーネルでは2012年にi386のサポートが落とされ、それ以来i486がx86の最低ラインだった。これが消えれば、最低ラインはPentium世代になる。 トーバルズ氏自身は2022年の時点で「i486クラスのハードウェアにはもう実質的な意味がない」と述べていた。モルナー氏は提案の中で

Linux 7.1がリリース。NTFSの「復活」とAI時代の開発現場

Linux

Linux 7.1がリリース。NTFSの「復活」とAI時代の開発現場

リーナス・トーバルズ(Linus Torvalds)氏は現地時間6月14日、Linuxカーネル7.1の安定版を公開した。旅先からのリリースだった。「自宅ではまだ日曜の朝だけど、今いる場所は日曜の午後なので」と、いつもの調子で始まるリリースノートの裏に、波乱含みの開発サイクルがあった。 NTFSの「復活」。4年越しの書き換えがもたらすもの Linux 7.1最大の目玉は、NTFSファイルシステムドライバの全面刷新だ。開発を率いたのは韓国の開発者ナムジェ・ジョン(Namjae Jeon)氏。exFATドライバやカーネル内SMBサーバKSMBDを手がけた実績を持ち、4年かけて古い読み取り専用NTFSドライバを近代化し、完全な書き換えに仕上げた。 トーバルズ氏はマージ時にこれを「ntfs resurrection」(NTFSの復活)と称した。 LinuxにおけるNTFS対応は長年、継ぎ接ぎだった。カーネルに組み込まれた古いドライバは読み取り専用。書き込みが必要なユーザーはNTFS-3Gに頼ってきたが、ユーザー空間で動くFUSE実装であり、性能面の不利は避けられなかった。2021年にP

Linux 7.2でApple M3が起動可能に、ただし実用までは遠い

Linux

Linux 7.2でApple M3が起動可能に、ただし実用までは遠い

Apple M3搭載Macに対応するデバイスツリーが、Linuxカーネルのメインラインに向けて投稿された。6月中旬に開くLinux 7.2のマージウィンドウで取り込まれれば、メインラインカーネル単体でM3 Macが起動可能になる。ただし現時点で動くのはシリアルコンソールまで。日常利用までの道のりは、まだ長い。 発売から2年半、ようやくメインラインへ Asahi Linuxのコア開発者であるスヴェン・ペーター(Sven Peter)氏が6月4日、Linux 7.2に向けたApple SoCデバイスツリーの更新をプルリクエストとして送付した。この中に含まれるのが、ヤンネ・グルナウ(Janne Grunau)氏とマイケル・リーヴス(Michael Reeves)氏が共同で作成した、M3(内部コード t8122)対応のデバイスツリー一式だ。 対象機種は以下の4モデル。 iMac(24インチ、M3、2023) MacBook Air(13インチ、M3、2024) MacBook Air(15インチ、

Linuxカーネル、RNDISドライバ無効化に再挑戦

Linux

Linuxカーネル、RNDISドライバ無効化に再挑戦

USBをLANケーブル代わりに使う。スマートフォンのテザリングで当たり前のように行われているこの機能の裏側で、3年半に及ぶ攻防が続いている。Linuxカーネルの安定版リリース責任者であるグレッグ・クロー=ハートマン(Greg Kroah-Hartman)氏が5月31日、MicrosoftのRNDISプロトコルドライバを全面無効化するパッチを、自身のGitブランチに再び更新した。 「設計上、安全にできない」 RNDIS(Remote Network Driver Interface Specification)は、USB経由で仮想的なイーサネット接続を実現するためにMicrosoftが策定した独自プロトコルだ。Windows XP時代に導入され、LinuxやAndroidにもドライバが移植されてきた。 問題はこのプロトコルの設計そのものにある。クロー=ハートマン氏は2022年11月、Linuxカーネルメーリングリストで最初のパッチを投稿した際にこう記している。 MicrosoftのRNDISプロトコルは、信頼できないホストやデバイスと組み合わせて使うあらゆるシステム上で、設計上

Linuxに19年潜んだ権限昇格の欠陥が発覚。脆弱性「CIFSwitch」CVE未割り当て

セキュリティ

Linuxに19年潜んだ権限昇格の欠陥が発覚。脆弱性「CIFSwitch」CVE未割り当て

Linuxカーネルのファイル共有機能に、2007年から19年間にわたって潜伏していた権限昇格の脆弱性「CIFSwitch」が公開された。Linux Mint、CentOS Stream 9、Rocky Linux 9など複数のディストリビューションが標準設定のまま影響を受け、一般ユーザーがroot権限を取得できてしまう。カーネル側の修正パッチはすでにstableキューに入っているが、ディストリビューションごとの適用状況はまちまちだ。 19年間、誰も気づかなかったロジックバグ SpaceXのセキュリティエンジニアであるアシム・マニザダ(Asim Viladi Oglu Manizada)氏が5月27日に公開したこの脆弱性は、Linuxカーネルの CIFSクライアントと、ユーザー空間のヘルパーツール cifs-utils の境界 に存在する。CIFS(Common Internet File System)はWindowsのファイル共有で広く使われるSMBプロトコルのLinux実装だ。CVE番号は5月31日時点でまだ割り当てられていない。 Kerberos認証を使うCIFSマウント

Btrfsの書き込み性能、2年越しのバグ修正で最大60%回復

Linux

Btrfsの書き込み性能、2年越しのバグ修正で最大60%回復

BtrfsのDirect I/O書き込みが2023年から不必要にシリアライズされていた問題が発覚し、たった1行の修正で最大約60%の性能回復が確認された。Linux 7.2でのマージが見込まれている。 2年間、誰も気づかなかった Btrfsの開発者マーク・ハームストーン(Mark Harmstone)氏が、Direct I/O(DIO)書き込みの性能リグレッションを発見・修正した。2023年末、BtrfsがLinuxカーネルの新しいマウントAPIへ移行した際、SB_NOSEC フラグの設定が1つ抜け落ちた。それだけで、DIO書き込みの並列性が丸ごと消えていた。 Linuxカーネルでは、ファイルへの書き込み時にセキュリティ属性(nosuid/nodevなど)のチェックが走る。このチェックが不要なファイルシステムは SB_NOSEC フラグをスーパーブロックに設定することで、VFS層の IS_NOSEC 判定を真にし、書き込みパスを最適化できる。Btrfsも従来はこのフラグを正しく設定していた。 ところがLinux 6.8で新しいマウントAPIへ移行した際、btrfs_fill_

Btrfsがhuge folios対応、Linux 7.2で投入へ

Linux

Btrfsがhuge folios対応、Linux 7.2で投入へ

Linuxのファイルシステム「Btrfs」が、メモリ管理の大幅な改善に踏み出す。数カーネルサイクルにわたる準備作業が実を結び、最大2MBのhuge folios対応がLinux 7.2のマージウィンドウに向けて準備完了した。 数サイクル分の到達点 Btrfsのhuge folios対応パッチが、メンテナーであるダビド・シュテルバ(David Sterba)氏のfor-nextブランチにマージされた。Linux 7.2のマージウィンドウは6月中旬に開く見込みで、このブランチの内容はそのタイミングでメインラインに提出される。 folioとは、Linuxカーネルがメモリ上のページをまとめて扱うためのデータ構造だ。従来はファイルの読み書きを1ページ(通常4KB)単位で処理していたが、folioを使えば複数ページをひとまとまりとして扱える。管理の手間が減り、I/Oスループットが上がる。 Btrfsのfolio対応は段階を踏んで進んできた。Linux 6.17で実験的なlarge folio対応が導入され、CONFIG_BTRFS_EXPERIMENTALを有効にすることで利用可能になっ