如何确定Linux-内核对象的内存地址范围
How to determine the memory address range of Linux-Kernel objects
我想检查 kernel/bpf/verifier.c 中的函数加载到的内存。
在编译为 verifier.o 之后,该对象被“链接”到内核中。 /proc/kallsyms 仅列出非静态函数。但是我想要那个 c 文件中定义的所有函数的地址。如果 kaslr 关闭,它们应该按顺序位于内核中 space 或?
如果是,有没有办法确定地址范围?
谢谢
我的特定问题的解决方案是使用 debug_info=y
编译内核并使用 readelf -Ws vmlinux
从大型 vmlinux 二进制文件获取地址范围
然而,内核需要在编译时在配置中关闭 nokalsr 或 kalsr 来引导。
我想检查 kernel/bpf/verifier.c 中的函数加载到的内存。 在编译为 verifier.o 之后,该对象被“链接”到内核中。 /proc/kallsyms 仅列出非静态函数。但是我想要那个 c 文件中定义的所有函数的地址。如果 kaslr 关闭,它们应该按顺序位于内核中 space 或?
如果是,有没有办法确定地址范围?
谢谢
我的特定问题的解决方案是使用 debug_info=y
编译内核并使用 readelf -Ws vmlinux
然而,内核需要在编译时在配置中关闭 nokalsr 或 kalsr 来引导。