C 内核函数load_elf_binary中的变量elf_entry是我用readelf-h得到的入口点吗

C 内核函数load_elf_binary中的变量elf_entry是我用readelf-h得到的入口点吗,c,linux-kernel,elf,entry-point,C,Linux Kernel,Elf,Entry Point,我需要找到在虚拟环境(debian x86)中运行的elf文件的入口点。在主机上,我可以确定当前指令指针和所有其他cpu寄存器。因此,可以确定内核函数调用 该函数使用以下参数调用函数: 启动线程(regs,elf\u条目,bprm->p) 因此,我应该能够从cpu寄存器接收elf_条目,但当我转储寄存器时,我得到以下输出: EAX=0xc61bffb4 EBX=0xc61bffb4 ECX=0xbff29430 EDX=0xb78ae850 ESI=0xc78f9500 EDI=0xbff29f

我需要找到在虚拟环境(debian x86)中运行的elf文件的入口点。在主机上,我可以确定当前指令指针和所有其他cpu寄存器。因此,可以确定内核函数调用

该函数使用以下参数调用函数:

启动线程(regs,elf\u条目,bprm->p)

因此,我应该能够从cpu寄存器接收elf_条目,但当我转储寄存器时,我得到以下输出:

EAX=0xc61bffb4
EBX=0xc61bffb4
ECX=0xbff29430
EDX=0xb78ae850
ESI=0xc78f9500
EDI=0xbff29fec
EBP=0xbff29488
ESP=0xc61bfeb4
EIP=0xc1001f82
CR2=0xb78ca840
没有寄存器具有以0x8xxxxxx开头的值,因此我不确定我是否犯了错误,或者elf_条目不是我要查找的入口点


本质问题:内核函数load\u elf\u binary中的变量elf\u entry是我用readelf-h得到的入口点吗?

用printk编译新内核后,我了解到新的\u ip总是以0xb78xxxxxx开始,所以elf\u entry和elf文件的入口点不一样

elf_entry
该函数上的elf入口仅对应于静态二进制文件的elf入口点,而对于动态二进制文件,它对应于动态链接器的入口点(最终应调用二进制文件的入口点),请参阅