10月版 2.6.27はLTSに、命名規則の変更案も飛び出した


小崎資広
2008/11/4

アイコン 2.6.27は2.6.16に代わるLTSに

 Adrian Bunkは2.6.27のリリースを受けて、「2.6.16もちょっと古くなってきたし、2.6.27を2.6.16の代わりの長期サポートカーネル(Long Time Supported Kernel、LTS)としてメンテしていくよ」と宣言しました。

 2.6.27はほかのバージョンと同じく、Greg K-Hが数カ月間-stableカーネルをリリースした後、Adrianにバトンタッチ。クリティカルなバグフィックスと新しい機器に対応する新ドライバのみがマージされるツリーとなります。

 この提案は、コミュニティから賞賛をもって迎えられました。

 最新のマシン環境でも動作する古いカーネルが1つあると、リグレッションの特定などに非常に重宝するのですが、考えてみると2.6.16のリリースは2006年3月、もう2年以上前のことです。そろそろバトンタッチには適切な時期なのかもしれません。

アイコン Ingo、またまたお説教を食らうの巻

 O(1)CFSスケジューラの開発で名高いIngo Molnarですが、LKMLでの評判は若干芳しくありません。というのも彼は、マージするときの基準がほかのメンテナに比べて甘過ぎるため、リグレッション率が非常に高いからです(取れないバグに悩みに悩んだ揚げ句、他人のリグレッションによるものだったときの脱力感は、筆舌に尽くし難いものがあります)。

 Ingoは2.6.26のときも何回か連続してヘマをやらかして、Linusから「お前からはもう無条件pullはしない、よさそうなやつだけ選んでマージすることにするわ」と引導まがいの通告を食らっていたのですが、今回もやらかしてしまったようです。

 彼は10月10日、11日の2日間の間に、何と14個ものgit repositoryのpullをリクエストします(普通は1サブシステム1リポジトリなので、通常のメンテナは1つです)。この行為に対して、Linusから激しく物言いが付きました。

 まず、x86のPAT関連のリポジトリでは、コミットの約半分をrevert commit(バグなどの判明により、あるパッチの変更を元に戻すcommit)が占めていることについて、「おいおい、これはいくら何でもダメ過ぎだろう。そもそも、revertの原因が全然書いてないから、この失敗から何も学ぶことができないじゃないか。別の言い方をしようか? 何で僕は、君のツリーが完全に腐ってるって考えちゃいけないんだい?」と指摘。さらにapic関連のリポジトリは、そもそもコンパイルすら通らないことが分かり、空気はどんどん険悪化。fastboot関係も、Linusレビューでいくつかのパッチが「このパッチ、クソ」宣言をされてしまい、マージ中断……彼のツリーがこのままマージされるか、予断を許さない状況です。

アイコン サブシステムに進化するlinux-staging

 ここ数カ月、Greg K-Hの管理するgit repositoryとして運用されてきた-stagingですが、「品質が低いドライバも、さっさとマージしてしまった方が早く品質が安定するだろう」ということで、サブシステムとして衣替えすることになりました。

 今後はdrivers/stagingという特別なディレクトリに、Gregが管理する(品質的に)未完成なドライバが置かれることになります。

 また、そういった未完成ドライバが原因でkerneloopsやLKMLでバグ修正プロセスが混乱してはイケナイという判断から、kernel taintedフラグに、新しくTAINT_CRAPフラグ(なんちゅー名前だ)が追加されました。これにより、drivers/staging以下のドライバをロードした場合は、自動的にフラグがONになるように、カーネル・コアコードが改造されました。

アイコン バージョン名規則が変わる? 「自転車置き場議論の始まりだ!」

 Greg K-Hは、「Summitで議論しようと思ってたんだけど、できなかったんだよ」と前置きして、カーネルのバージョン名規則に対する自身の変更プランをポストしました。今後は、

2009.1.0   最初のリリース
2009.2.0   2回目のリリース
......

2009.1.1   最初のマイナーリリース
2009.1.2   2回目のリリース

のように、

YEAR.NUMBER.MINOR_RELEASE

のように変更したいとのことです。

 「いまのバージョンスキームだと、-stableチームがすげー大変なんだよ。それにこの方が、ユーザーが自分の使っているカーネルがどのくらい古いのかすぐに分かるし」とGregは説明し、「さあ! 自転車置き場の議論の始まりだ!」とメールを締めました。

 当然のごとく、原稿執筆時点では議論はまったく収束することなく、堂々巡りを繰り返しています。おいおい。

-stableの進ちょく

■2.6.25.y:

  • 2.6.25.18(10月9日):Greg K-H
    ・MMC:drivers/mmc/card/block.cのmmc_block_open()におけるrefcountリークを修正
    ・udp:IPsecパケットの受信処理におけるロックの問題を修正
    ・rtc:デッドロックを修正
    ・ipv6:特定の負荷を掛けたときにip6_dst_lookup_tail()でパニックしてしまう問題を修正
    ・clockevents:周期ブロードキャストハンドラでの無限ループを防ぐ
    ・clockevents:init/shutdownが複数回実行されてしまうことを防ぐ
    ・clockevents:無限ループにより固まってしまうことを防ぐ
    ・netlink:アトリビュート・イタレーションにおけるオーバーランを修正
    ・sctp:peer機能が使用不可能なときはONにできないようにした
    ・sctp:相手がAUTHを非サポートのときのINIT-ACKにおいてパニックしてしまう問題を修正
    ・x86:VMIにおいてLDTの取り扱いが間違っていた問題を修正
    ・ACPI:ECがポーリングモードのときに間違ったECタイムアウトが発生してしまう問題を修正
    ほか、29パッチ
  • 2.6.25.19(10月23日):Greg K-H
    ・POSIX SCHED_SPORADICの実装に問題があり、負荷に弱くなってしまうケースがあったのを修正
    ・x86:CPU-hotplugとSMPが有効、かつ実ハードのCPUが1つのときの自己書き換えコードの高速化
    ・drm/i915:Intel G33以降のDRM処理において、root以外のユーザーでもユーザーアドレスに対してioremapすることを許してしまっていた脆弱(ぜいじゃく)性を修正(CVE-2008-3831)
    ・drivers/video/tvaudio.cにおいて、関数ポインタがNULLかどうかをチェックせずに呼び出しを行っていたセキュリティ問題を修正
    ・splice()にO_APPENDが使用できてしまっていた問題を修正
    ほか、16件

■2.6.26.y:

  • 2.6.26.6(10月9日):?
    ・MMC:drivers/mmc/card/block.cのmmc_block_open()におけるrefcountリークを修正
    ・sched:特定の条件でutime、stimeが負の値になってしまう問題を修正
    ・mm owner:swapoffとexitのレースを修正(mm-ownerはmem-cgroupで使っているmmからtaskを逆引きする仕組み)
    ・sg:sg_copy_buffer内では割り込みを禁止するようにした
    ・ipsec:xfrm_state_check_space()においてpskb_expand_head()に誤った引数を与えることによりデータを壊してしまう問題を修正
    ・udp:IPsecパケットの受信処理におけるロックの問題を修正
    ・rtc:デッドロックを修正
    ・block:submit_bh()のsync write処理において、うっかりバリアフラグを落としてしまっていたのを修正
    ・x86:fdiv命令のCPUバグ検知コードがメモリを壊してしまう問題を修正
    ・ipv6:特定の負荷を掛けたときにip6_dst_lookup_tail()でパニックしてしまう問題を修正
    ・mm:ダーティーページのトラッキング処理におけるレースを修正
    ・x86:SMP時のalternativeマクロによる自己コード書き換え処理においてロックをspinからmutexに変更
    ・x86_64:FPUのエラー状態がリークしてしまう問題を修正
    ・clockevents:周期ブロードキャストハンドラでの無限ループを防ぐ
    ・clockevents:init/shutdownが複数回実行されてしまうことを防ぐ
    ・clockevents:無限ループにより固まってしまうことを防ぐ
    ・netlink:アトリビュート・イタレーションにおけるオーバーランを修正
    ・sctp:peer機能が使用不可能なときはONにできないようにした
    ・sctp:相手がAUTHを非サポートのときのINIT-ACKにおいてパニックしてしまう問題を修正
    ・x86:VMIにおいてLDTの取り扱いが間違っていた問題を修正
    ・ACPI:ECがポーリングモードのときに間違ったECタイムアウトが発生してしまう問題を修正
    ほか、73パッチ
  • 2.6.26.7(10月23日):Greg K-H
    ・drivers/video/tvaudio.cにおいて関数ポインタがNULLかどうかをチェックせずに呼び出していたセキュリティ問題を修正
    ・POSIX SCHED_SPORADICの実装に問題があり、負荷に弱くなってしまうケースがあったのを修正
    ・splice()にO_APPENDが使用できてしまっていた問題を修正
    ・drm/i915:Intel G33以降のDRM処理において、root以外のユーザーでもユーザーアドレスに対してioremapすることを許してしまっていた脆弱性を修正(CVE-2008-3831)
    ・x86:CPU-hotplugとSMPが有効、かつ実ハードのCPUが1つのときの自己書き換えコードの高速化
    ほか、28パッチ

■2.6.27.y:

  • 2.6.27.1(10月15日):Greg K-H
    ・CONFIG_DYNAMIC_FTRACE(ftraceの非トレース関数のmcount呼び出しをNOPで書き換えて高速化するオプション)が腐っており、モジュールアンロードを考慮していなかったので、enableにすることをできなくした
    以上
  • 2.6.27.2(10月18日):Greg K-H
    ・XFS:I/Oバリアー失敗の検知論理が間違っており、ディレクトリが壊れてしまう問題を修正
    ・POSIX SCHED_SPORADICの実装に問題があり、負荷に弱くなってしまうケースがあったのを修正
    ・x86:CPU-hotplugとSMPが有効、かつ実ハードのCPUが1つのときの自己書き換えコードの高速化
    ほか、14パッチ
  • 2.6.27.3(10月2?日):Greg K-H
    ・drivers/video/tvaudio.cにおいて関数ポインタがNULLかどうかをチェックせずに呼び出していたセキュリティ問題を修正
    ・XFS:認識できないオプション付きでmountされたとき、不当にread onlyチェックがスキップされ、R/Wで動作してしまう問題を修正
    ・drm/i915:Intel G33以降のDRM処理において、root以外のユーザーでもユーザーアドレスに対してioremapすることを許してしまっていた脆弱性を修正(CVE-2008-3831)
    ほか、19パッチ

(以上、敬称略)

編集部注:筆者都合により、来月11月号はお休みとさせていただきます。ご了承ください。

2/2

Index
Linux Kernel Watch 10月版
 2.6.27はLTSに、命名規則の変更案も飛び出した
  Page 1
 Linux 2.6.27にマージされた主な機能
Page 2
 2.6.27は2.6.16に代わるLTSに
 Ingo、またまたお説教を食らうの巻
 サブシステムに進化するlinux-staging
 バージョン名規則が変わる? 「自転車置き場議論の始まりだ!」
 -stableの進ちょく

連載 Linux Kernel Watch


 Linux Squareフォーラム Linuxカーネル関連記事
連載:Linux Kernel Watch(連載中)
Linuxカーネル開発の現場ではさまざまな提案や議論が交わされています。その中からいくつかのトピックをピックアップしてお伝えします
連載:Linuxファイルシステム技術解説
ファイルシステムにはそれぞれ特性がある。本連載では、基礎技術から各ファイルシステムの特徴、パフォーマンスを検証する
特集:全貌を現したLinuxカーネル2.6[第1章]
エンタープライズ向けに刷新されたカーネル・コア
ついに全貌が明らかになったカーネル2.6。6月に正式リリースされる予定の次期安定版カーネルの改良点や新機能を詳しく解説する
特集:/procによるLinuxチューニング[前編]
/procで理解するOSの状態

Linuxの状態確認や挙動の変更で重要なのが/procファイルシステムである。/procの概念や/procを利用したOSの状態確認方法を解説する
特集:仮想OS「User Mode Linux」活用法
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説
Linuxのカーネルメンテナは柔軟なシステム
カーネルメンテナが語るコミュニティとIA-64 Linux
IA-64 LinuxのカーネルメンテナであるBjorn Helgaas氏。同氏にLinuxカーネルの開発体制などについて伺った

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間