如何确定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 来引导。