さっき、偶然気づいたのだが、Linuxってスタックはmunmapしようとしてもmunmapは0を返すくせにアンマップできてないっぽげ。
#ちなみにテキストセグメントやデータセグメントは、あっさりmunmapできるので、main関数をmunmapするとエラいことに・・
その後もアクセスできるし、/proc/pid/mapsファイルでも当該アドレスが消えない。
いやー、argv0 ネタでいっそのことアンマップしてやったら、なんと表示しやがりますか。こんちくしょー
というネタ記事が書きたかっただけなのだが。
ところで、カーネルのコードを軽く読んでみたのだけれど、なぜこのような動作になるのか理解できなかった。
誰か知っている人がいたら、教えていただきたい。
#ちなみにテキストセグメントやデータセグメントは、あっさりmunmapできるので、main関数をmunmapするとエラいことに・・
その後もアクセスできるし、/proc/pid/mapsファイルでも当該アドレスが消えない。
いやー、argv0 ネタでいっそのことアンマップしてやったら、なんと表示しやがりますか。こんちくしょー
というネタ記事が書きたかっただけなのだが。
ところで、カーネルのコードを軽く読んでみたのだけれど、なぜこのような動作になるのか理解できなかった。
誰か知っている人がいたら、教えていただきたい。
コメント
コメント一覧 (4)
静岡なんで富士川で勘弁してください。
munmapしたときにエラー返らんのはヘンだけど。
現在追跡調査中なり~