プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

setproctitle(3)のカーネルサポートが-mmに入りました このエントリーをはてなブックマークに追加

えーと、Linuxのsetproctitle()サポートってlibc5時代はあったけど、glibc2になってから消えてたんですよね。
んで、勇気ある若者がUlrichにglibcに追加を要請、自分以外の提案は全部却下するUlrichにより却下されてたんだけど、そのときのUlrichの理由が「カーネルでサポートしたら、な」だったので、カーネルサポートを入れる事にしました。

という、いきさつで、-mm では現在setproctitle()のサポートコードが入っています。具体的にはprctl(PR_SET_PROCTITLE_AREA) を使って任意のポインタをカーネルに教えてあげると、psが
/proc/{pid}/cmdline を読んだ時に、そのポインタから文字列をとってくるというインターフェース。

これでLinuxもあやしげな、SPT_REUSEARGV スタイルのスタックレイプを卒業できます。

裏話としては、最初デベロッパで議論していたときは、この機能のサポートによって性能が落ちるのが嫌だからロックレスにしようぜ、この場合は簡単にできるよーとかいう方向に議論が進んでいたんですが、マージ直前にAndrew Morton が「保守性が悪いから、おれロックレス嫌いなんだよね」とか言い出したので、不詳わたくしが今までのレビューワ全員をあっさり裏切ってロックレスを捨てた普通実装を作って入れてしまった。ははは、みんな、ごめん。


なお、本機能の実装にあたっては、sodaさんには大変お世話になりました。説得のために各種アプリの実装や各OSの実装状況など調査して説得する必要があったのですが、必要な情報はほぼsodaさんから仕入れました。

Suggested-by: Noriyuki Soda

とか、パッチに入れようかと一瞬本気で考えたのですが、本人が喜びそうにないのと、今後マージやらなんやらのパッチの状況報告メールが何回も配信されてしまうので、ご迷惑になると思い諦めました。

ま、カーネルのmainlineに入るのが三ヶ月後で、glibc対応がその半年後、distroまで落ちてくるのは概算で約二年後と考えると先の長い話なんですが・・・


関連記事


linux | 【2009-11-10(Tue) 13:48:06】 | Trackback:(0) | Comments:(1)
コメント

あ、ごめん。この話は、Linus treeへのマージ数分前に物言いが付くというドラマがあって、今のところ議論は振り出しにもどってます
2010-07-04 日 06:15:48 | URL | kosaki #- [ 編集]
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。