6月版 新機能のバトルフィールド「linux-staging」登場
小崎資広
2008/6/30
rootkitかと思ったら……
「今日、ファイアウォールスクリプトをスタートさせようとしたら、何か変なメッセージ出てきちゃって……」と始まる問い合わせメールをFedeさんが投稿しました。見てみると確かに、これまで見たことのないメッセージです。
|
それに対してすかさずArjan van de Venが、「909090は機械語で『nop nop nop』って意味だよ。これはしばしば、rootkit(ルートキット)がシステムを乗っ取るときに使われる。ルートキットチェックを強くお勧めするよ」と返信しました。
ところが、ほぼ同時期に、ほぼ同一内容のバグ報告をしている人がいることが分かりました。どうやらこれはルートキットではなさそうだと調査したところ、x86_64のカーネルのスタートアップコードにバグがあり、ゴミが表示されていることが判明しました。なぜ「nop」と表示されたかというと、そのゴミがコード部分にあったためです。ごくごく普通のコード中にアライメントを合わせるために埋め込まれていた「nop」がたまたま見えているだけだったようです。
この修正はパニックもしないし、セキュリティ問題でもないのですが、「絶対にルートキットと勘違いするユーザーがいるから」という理由で、-stableツリーである2.6.25.6にマージされました。それにしても人騒がせなバグですね。
「ドライバを開放せよ」、138人の開発者が声明
6月22日、Greg K-HはLinux Foundationからの声明として、「Position Statement on Linux Kernel Modules」と題するポジショニングペーパーをアナウンスしました。
これはGreg K-Hと彼に選ばれた138人のコアデベロッパー(注7)による共同声明です。クローズドソースのカーネルモジュールは有害であり(注8)、Linuxのエコシステムやユーザーに悪影響を与えている。これをオープンソースにすることで、ベンダにとってもコストカットや顧客離れを防ぐというメリットがあると訴えるもので、クローズドソースのベンダにオープンソースに転向してもらうことを目的としています。
背景には、前述のkerneloops.orgにおいても、[external]とタグが打たれたプロプライエタリドライバが原因となるバグが上位を寡占していることから分かるように、品質改善のネックはカーネル本体ではなくなっていることが挙げられます。
カーネルの安定化を推進しているGregとしては、クローズドソースドライバを何とかしなければ、この問題は先に進まないという思いがあるものと推測します。
特に最近は、デスクトップかいわいでビデオカードドライバが安定性を下げていることがたびたび報告されています。これを機に、ドライバのオープンソース化が進めば、ユーザーにもメリットがありそうです。
注7:日本人も数人入っているので、興味がある方はリストを見てみるといいでしょう。 注8:余談ですが、この手のペーパーは「Considered harmful」という言葉から文章が始まるのがお約束となっており、この文章もそれにのっとっています |
-stableの進ちょく
2.6.25が出た直後ということもあり、5月、6月にはstableリリースが8回もされました。ただ、6月に入ってからのリリースはセキュリティフィックスを含まないバグ修正の集約ばかりで、やや落ち着きを取り戻しているといえます。
■2.6.25.y:
- 2.6.25.1(5月1日):Greg K-H
・dnotifyとcloseの間のレース状態による脆弱(ぜいじゃく)性を修正(CVE-2008-1375)
・tehuti: ioctlの権限チェックを関数先頭に移動(CVE-2008-1675)
ほか、40パッチ
- 2.6.25.2(5月6日):Greg K-H
・fcntl_setlk() のメモリオーダレースバグを修正(CVE-2008-1669)
- 2.6.25.3(5月9日):Greg K-H
・utimensat()の権限チェック漏れを修正
ほか、19パッチ
- 2.6.25.4(5月15日):Greg K-H
・OHCI: ハイバネーションからの復帰のレグレッションを修正
・md: raid5のリペア操作の問題を修正
・{nfnetlink, ip, ip6}_queue: パケットを大きくして詰め直した場合にパニックしてしまう問題を修正
ほか、38パッチ
- 2.6.25.5(6月6日):Chris Wright
・asn1: BERエンコーディングの整合性チェックを追加(CVE-2008-1673)
- 2.6.25.6(6月9日):Chris Wright
・cpufreq: TransmetaのCPUでNULLポインタアクセスをしていた問題を修正
・XFS: メモリを壊してしまう問題を修正
・x86: bad pmd ffff810000207xxx(9090909090909090) というメッセージが表示される問題を修正
・x86: 割り込みからPGEフラッシュを防ぐ修正(KVM使用時にパニックしてしまう問題の修正)
・x86: TSCのキャリブレートが失敗した場合にパニックしてしまう問題を修正
・x86かつCONFIG_PREEMPT=yにおいて、アプリケーションのFPUスタックを壊してしまう問題を修正
・CIFS: UNCパス名のprefixを修正(注9)
ほか、50パッチ
- 2.6.25.7(6月16日):Greg K-H
・create_write_pipe()において、alloc_file()が失敗したときに二重freeをしてしまう問題を修正
・ecryptfs: mutex_unlock()を忘れている個所があった問題を修正
・ecryptfs: notify_change()呼び出し時にmutexで保護するのを忘れていた問題を修正
・CONFIG_CIFS_DFS_UPCALLがONのとき、CIFSのマウント時にパニックする問題を修正
・brd ramdiskに"rd"の別名を定義(これによりramdiskは、rdという名前だと決め打ちしている古いシステムを救える)
ほか、47パッチ
- 2.6.25.8(6月21日):Greg K-H
・x86: AMDのFamily 10H/11Hでmwaitを使用しないようにした
・x86-64:copy_from_user()の戻り値が間違っていたのを修正
ほか、16パッチ
(以上、敬称略)
2/2 |
|
|
||||
|
連載 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カーネルの開発体制などについて伺った |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|