Where is the kernel symbol __tracepoint_module_load defined?

244 views Asked by At

Where is the kernel symbol __tracepoint_module_load defined?
I saw it once in /proc/kallsyms, but now I can't find it.

bootlin.com/linux/ cannot find it, either.

1

There are 1 answers

1
red0ct On BEST ANSWER

Where is the kernel symbol __tracepoint_module_load defined ?

There is TRACE_EVENT macro, which eventually uses __DECLARE_TRACE, where you can see:

extern struct tracepoint __tracepoint_##name;

So we can find the appropriate TRACE_EVENT "call" for module_load in include/trace/events/module.h:

TRACE_EVENT(module_load,
...

In /proc/kallsyms output D means that the symbol is in the initialized data section:

ffffffff91af5240 D __tracepoint_module_load

P.S. In case of preprocessor magic elixir.bootlin.com is not so useful. To make a real investigation just clone Linux kernel or download the appropriate sources from pub.