gpt4 book ai didi

linux - 在哪里可以找到 Linux 全局 mem_map 数组的地址?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:07:55 25 4
gpt4 key购买 nike

我的发行版 (Ubuntu 14.04.3 LTS) 似乎没有导出这个引用,所以我无法在模块加载时解析地址。我正在寻找另一种无需重新编译内核即可确定地址的方法。

我在 macbook pro 上以访客身份在 VMware Fusion 下运行。内核是 3.13.0-74-generic。

提前致谢

最佳答案

使用 kallsyms_lookup_name。它在 linux/kallsyms.h 中定义为

unsigned long kallsyms_lookup_name(const char *name);

用法很简单:

struct page *my_mem_map = (struct page*)kallsyms_lookup_name("mem_map");

kallsyms_lookup_name 从内核 2.6.33 开始为模块导出。

对于较早的内核,或者一次查找多个符号,可以使用通用函数kallsyms_on_each_symbol。它遍历所有符号并为它们调用用户指定的函数。

关于linux - 在哪里可以找到 Linux 全局 mem_map 数组的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34797918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com