LLMがコードを突き始めた。Linuxカーネル、27年前のドライバーを削除
1999年から残っていたドライバーが消えた。理由はハードウェアの故障でもセキュリティの欠陥でもなく、LLMがこのコードにバグ報告を送り始めたからだ。カーネル開発のナンバー2は同日、新人向けの練習領域でもLLM生成パッチの受け入れ拒否を宣言した。
1999年から残っていたドライバーが消えた。理由はハードウェアの故障でもセキュリティの欠陥でもなく、LLMがこのコードにバグ報告を送り始めたからだ。カーネル開発のナンバー2は同日、新人向けの練習領域でもLLM生成パッチの受け入れ拒否を宣言した。
2148行が消えた日
2026年8月3日、Greg Kroah-Hartman氏がlinux-serialメーリングリストにパッチを投稿した。件名は「tty: moxa: remove driver.」。Moxaが製造していたマルチポートシリアルカード、Intellioシリーズのドライバーを削除するという内容だ。
Moxaは台湾の産業用ネットワーク機器メーカーで、対象のドライバーはC218 Turbo PCI、C320 Turbo PCI、CP-204Jの3モデルに対応していた。コードの著作権表示は1999年、ヘッダーにはバージョン5.1と記されている。
コミットメッセージにはこうある。非常に古いドライバーであり、対応するハードウェアの現存は確認できない。製造元のMoxaも、もう必要ないと回答した。そしてLLMがこのコードを突き始め、実際には使われていないコードに対して全員の時間を浪費する報告が上がってくる。だから削除する、と。
削除対象はdrivers/tty/moxa.cの2137行に加え、KconfigとMakefileの設定を合わせて計2148行。3ファイルの変更で、27年間ソースツリーに存在し続けたコードが消えた。
3分の1は間違っている
背景には、2026年に入ってから加速している問題がある。LLMコーディングエージェントがカーネルのソースツリーを走査し、古いドライバーのコードに対してバグ報告やパッチを自動生成する。報告の数は増えた。精度は追いついていない。
Greg Kroah-Hartman氏自身がstaging領域の方針発表で明言している。現時点で最良のLLMツールを使っても、発見されたセキュリティ問題のうち3分の1は完全に間違っているか、むしろ有害だと。
ネットワーキングサブシステムのメンテナーであるJakub Kicinski氏も、2026年4月のLinux 7.1マージウィンドウで同様の状況を報告していた。Kicinski氏はSashikoというLLMベースのコードレビューツールとGeminiの組み合わせで実際のバグを発見しているが、副次的な指摘や偽陽性も混在しており、LLM出力の検証に作業時間の約40%を費やしていると述べた。
別の組み合わせでSashiko、Claude、semcodeを使うと偽陽性は大幅に減る。しかし今度は、Geminiが見つけていた実際のバグを見落とす。万能な組み合わせはまだ見つかっていない。
正しいかどうかを判断するには、メンテナーがコードを読み、文脈を理解し、実機で検証する必要がある。その対象が誰も使っていない27年前のドライバーであれば、割に合わない。
1999年 Moxaドライバーの著作権表示 Moxa Intellioシリアルカード用ドライバー(2137行)がカーネルツリーに追加される 2026年4月 13万8161行のネットワークコード削除 Linux 7.1マージウィンドウで一括削除。ISDN、AX25アマチュア無線、旧ATM、1990年代のイーサネットドライバー群が対象 2026年8月3日 Moxaドライバー削除とstaging方針 Moxaドライバー2148行を削除。製造元も「不要」と回答。同日にstaging領域でのLLMパッチ原則拒否を発表 7.3予定 IPWirelessドライバー削除予定 3G UMTS PCMCIAカード用ドライバー約3600行。2011年以降実質的な更新なし |
4月に消えた13万行
Moxaドライバーの削除は、同じ流れの中にある。
2026年4月、Linux 7.1のマージウィンドウでネットワーキングサブシステムから13万8161行のコードが一括削除された。
3com 3c509、AMD Lance、SMSC SMC9194といった1990年代のネットワークドライバーに加え、ISDNサブシステム全体、AX25アマチュア無線サブシステム、レガシーATMプロトコル、Bluetooth CMTPコードが含まれていた。
Kicinski氏はプルリクエストの中で、LLMによる投稿の急増を乗り切るための施策を3つ挙げた。LLMコードレビューツールの改善、メール投稿ボットによる初心者の案内と制限、そして長期間メンテナーのいないコードの削除。この大量削除は3番目の施策にあたる。リーナス・トーバルズ氏はプルリクエストをマージした。
削除されたコードの一部はlinux-netdevのGitHubリポジトリにアウトオブツリーのカーネルモジュールとして退避されている。必要な人がいれば、そこからメンテナンスを続けられる。手を挙げる人が現れるかは分からない。
同じ流れは7.3サイクルにも続いている。IPWirelessドライバーがLinux 7.3で削除予定となった。3G UMTS PCMCIAカード用のこのドライバーは、少なくとも2011年以降実質的な更新がなく、利用者も確認できない。削除されるコード量は約3600行。
新人の練習場を守る
Greg Kroah-Hartman氏は同じ8月3日、もう1つの方針を発表した。Linuxカーネルのdrivers/staging/ディレクトリに対して、LLM生成パッチを原則拒否するというものだ。
staging領域はカーネル開発に参入する新人が最初に手を付ける場所として設計されている。コーディングスタイルの修正やAPIの変更といった、手を付けやすい課題が意図的に残されている。新人が開発プロセスを安全に学べる環境として機能してきた。
ここにLLMが入り込むと、学習機会そのものが消える。staging領域にLLMを使ってコードを修正すること自体が、その存在意義を損なう。
LLMを使って drivers/staging/ のコードをクリーンアップまたは「修正」しようとする行為は、このディレクトリが存在する目的そのものを明確に損なう
例外は1つだけ。LLMが発見したセキュリティ問題が本物であり、かつ実際のハードウェアでテスト済みである場合に限り、パッチは受理される。提出者はその正当性を自分で証明しなければならない。
この方針はstaging領域に限定されたものだ。カーネル全体としてはAIツールの利用を禁止していない。リーナス・トーバルズ氏は2026年7月、LinuxカーネルはAIに反対するプロジェクトではないと明言している。
開発者がLLMを使いこなすことと、スキルなしにLLMの出力を投げ込むこと。その線引きが、いま一本ずつ引かれている。