【发布时间】:2020-05-25 16:30:54
【问题描述】:
在下面link我有以下代码:
static int run_init_process(const char *init_filename)
{
argv_init[0] = init_filename;
return do_execve(getname_kernel(init_filename),
(const char __user *const __user *)argv_init,
(const char __user *const __user *)envp_init);
}
上面写着:
这里我们可以看到
kernel_init -> run_init_process -> do_execve,和普通的execve系统调用一样,参数是init binary。
我试图了解do_execve() 和execve() 之间的区别。为什么不直接使用execve()?
【问题讨论】:
-
只是一个函数...
标签: c linux linux-kernel execve