ただし,sys_execve() などのように struct pt_regs regs の形式で引数を渡す システムコールでは,すべてのレジスタが渡ります. struct pt_regs { long ebx; long ecx; long edx; long esi; long edi; long ebp; long eax; int xds; int xes; long orig_eax; long eip; int xcs; long eflags; long esp; int xss; }; これらのレジスタに必要な値を設定して int 0x80 を実行する ことで Linux のすべての機能にアクセスすることができます.単純ですね. なぜ C で記述されたシステムコールの引数をレジスタで渡すことができるの でしょう? もう少しあとで解説する予定です. カーネルソースのヘッダファ