ptregs_execve和sys_execve之间有什么区别/关系

时间:2012-11-01 22:31:49

标签: linux-kernel system-calls execve user-mode-linux

我在Linux 2.6.32 x86-32上挂钩系统调用。

但是,我发现在system call table中,__NR_execve指的是ptregs_execve而不是sys_execve。而且,我无法在任何地方找到ptregs_execve的函数定义。

有人可以帮我澄清ptregs_execve和sys_execve之间的区别或关系吗?我知道对于um架构,ptregs_execve定义为sys_execve。其他架构怎么样?

1 个答案:

答案 0 :(得分:2)

可能更有帮助:

请注意,宏PTREGSCALL3在entry_32.S中定义。这定义了一个调用sys _ ## name的填充函数。使用execve作为参数调用此宏。所以,ptregs_execve只是一个使用适当参数调用sys_execve的垫片。