在哪里定义了内核符号__tracepoint_module_load
?
我曾经在/proc/kallsyms
中看到过它,但现在找不到了。
bootlin.com/linux/也找不到它。
在哪里定义了内核符号__tracepoint_module_load
?
我曾经在/proc/kallsyms
中看到过它,但现在找不到了。
bootlin.com/linux/也找不到它。
在哪里定义了内核符号__tracepoint_module_load?
有TRACE_EVENT
宏,最终使用了__DECLARE_TRACE
,您可以在其中看到:
extern struct tracepoint __tracepoint_##name;
因此,我们可以在include/trace/events/module.h中为TRACE_EVENT
找到适当的module_load
“通话”:
TRACE_EVENT(module_load,...
在 /proc/kallsyms
中输出 D
表示该符号位于已初始化的数据部分中:
ffffffff91af5240 D __tracepoint_module_load
P.S。对于预处理器魔术, elixir.bootlin.com 并不是那么有用。要进行真正的调查,只需克隆Linux kernel或从pub下载适当的资源。