p_flags とか

そういえば昨日は喋った後で kik さんに間違ってるところ無いですか?と聞いて、 write が失敗したら EAX が -1 になっちゃって落ちるんだよ、という話と、 p_flags は下 3bit が 3 か 6 か 7 にしなきゃならんという話を補足してもらいました。後者は苦労するのはわかってたけど、 exit のあとは地味気味なので、説明しなくてもまぁいいかなぁと省略してしまったのでした。スライドだけ見るとそれ書いてないので一応補足をここで。 p_flags はロードするメモリ領域の rwx を指定するわけですが、ヘッダを通ってる最中に EAX 付近をいじってしまうので w が必須で、あと r か x が必要だと思います。で、 p_flags のある位置には "o" があるのですが、これは

irb(main):004:0> "%b"%?o
=> "1101111"

とのことですから全 bit 立ってますね。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h