../kernel/umh.c 618: int call_usermodehelper(const char *path, char **argv, char **envp, int wait)
../kernel/umh.c 379: struct subprocess_info *call_usermodehelper_setup(
../kernel/umh.c 181 : static void call_usermodehelper_exec_work(
../kernel/umh.c 129: static void call_usermodehelper_exec_sync
../kernel/umh.c :68: static int call_usermodehelper_exec_async(void *data)
../kernel/umh.c :107: retval = do_execve_file(
../kernel/umh.c :1715: __do_execve_file(
../kernel/umh.c :1690: exec_binprm(
../kernel/umh.c :1635 : search_binary_handler(){retval = fmt->load_binary(bprm);}
load_binary = :load_elf_binary;
fs/binfmt_elf.c 693: static int load_elf_binary(
在fs/binfmt_elf.c中定义了函数load_elf_binary()和load_elf_library()分别用于装载和解析ELF格式的可执行文件和动态连接库。下面来研究一下在load_elf_binary()中做了哪些事情,一个新的进程的内存空间是布局是怎样计算出来的。
浙公网安备 33010602011771号