2006-05-20から1日間の記事一覧

signal trampoline

またBSD本ネタですが、BSDの実装ではsignalが呼ばれた際にsignal contextとsignal handlerをスタック上に確保し、sigreturnで返ってくるという実装が用いられています。これをsignal trampoline codeと呼ぶそうです。しかしgniibe先生のcodeblogを見るとどう…

nullにmprotect

例のBSD本にnull(address 0)の読み書きが禁止されている為に、nullポインタにアクセスするとSEGVが起こると書いて有りました。確かにそうですね。アマノジャクぶりを発揮してこんなのを試してみました。 int main(void) { void *p = (void*)0; int r = mprot…