../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()中做了哪些事情,一个新的进程的内存空间是布局是怎样计算出来的。

posted on 2023-08-10 09:55  北京开发  阅读(137)  评论(0)    收藏  举报