アカウント名:
パスワード:
RedHat: config/i386/i386.c | 3 config/i386/i386.md | 122 ++++++++++++++++++----------- IBM: config/arm/arm.md | 8 config/t-linux | 2
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日本発のオープンソースソフトウェアは42件 -- ある官僚
propolice (スコア:3, 参考になる)
ついに正式リリースに入ったんですね!
これで普通の人でもバッファオーバーフローの脅威が減らせるわけで、すばらしい。
うちにあるマシンでは Momonga [momonga-linux.org] でも OpenBSD [openbsd.org] でも
SSP 有効だったので、なにも変わらないのですけど。
Re:propolice (スコア:1, 興味深い)
あと、なんかIBMのがそのまま採用されたわけじゃなくって、RedHatの中の人が"再実装"したってIBMのページなんかにかいてあるのが気になるんですが、どういう意味なんでしょうか?
Re:propolice (スコア:3, 参考になる)
IBM のは 3000 行以上、RedHat のは 700 行程度の変更 [gnu.org]
どうも IBM のは
デカすぎる [gnu.org]し、
作者が返事をしない [gnu.org]から
ダメと評価されていたようです。
気付かせてくださってありがとうございます。
で、リリースに入ったということは、すべて、あるいはほとんどの
アーキテクチャで使えるってことじゃないかと推測しますが…。
Re:propolice (スコア:2, 参考になる)
行数だけ見ればそうですが、ということはすべてのアーキテクチャに対してi386.md相当の修正が必要になるような気がします。その場合、IBMのと行数が大差なく…。
ちなみにgcc-4.1.0/configure.inを見たところ、AIXに対してlibsspのコンパイルを弾いていました。
Re:propolice (スコア:1)
IBMのものから700行程度(i386の部分のみ)を取り出してgccにマージした感じでしょうか。
Re:propolice (スコア:2, 興味深い)
IBMのはあくまでパッチとして提供することを意識して実装されています。オリジナルへのコード影響を最小限にするために、必要となる関数呼び出しを埋め込んで全てprotector.cで動いてるかと。たぶん、SSP本体はターゲットアーキテクチャに依存しない中間言語で実装されています。
上の方でパフォーマンスへの影響は1-4%とありましたが、こちらの実装でしょうね。
RedHatのはパフォーマンスへの影響を最小限にするために、適切なファイルに埋め込んでいますし、SSP本体はターゲットアーキテクチャに依存するmdファイル(machine descriptionファイル)も利用して実装されています。
# 本家に取り込まれることを前提としてコードを書けるRedHatの強みですね。
i386.mdだと"stack_protect_set"辺りであってるのかな? もしそうならこれが書かれているのは、
- i386.md
- rs6000.md
- s390.md
- sh.md
- sparc.md
でした。# 外れてたらごめんなさい。
Re:propolice (スコア:0)
Re:propolice (スコア:1, 参考になる)
関数のプロローグ・エピローグはここで定義されているので、
ここをいじってチェック用のコードを生成させているのでしょう。
#ということをコードも読まずに書いているのでAC