Dear all,<div><br></div><div>I am working on retrieving socket information for socket related syscalls by the kernel trace, such as sys_connect() and sys_bind(). What I did is in the .h file "instrumentation/syscalls/headers/x86-64-syscalls-3.0.4_pointers.h", I modify the sys_connect SC_TRACE_EVENT. I add _field(size_t, port) and tp_assign(port, getport() ) to the TP_STRUCT_entry() and TP_fast_assign(), respectively. The getport() function is a function I wrote to retrieve the port number and ip address by the function getpeername(). The lttng module got installed correctly after the modification, (with some #ifndef manipulations), However, when I reboot the machine and try to do the kernel trace. It gives me error messages: </div>
<div><br></div><div><div>Spawning a session daemon</div><div>FATAL: Error inserting lttng_tracer (/lib/modules/3.2.0-29-generic/extra/lttng-tracer.ko): Unknown symbol in module, or unknown parameter (see dmesg)</div><div>
Error: Unable to load module lttng-tracer</div><div>Warning: No kernel tracer available</div><div>Warning: No tracing group detected</div><div>Session rui-session created.</div><div>Traces will be written in /root/lttng-traces/rui-session-20120813-133953</div>
<div>FATAL: Error inserting lttng_tracer (/lib/modules/3.2.0-29-generic/extra/lttng-tracer.ko): Unknown symbol in module, or unknown parameter (see dmesg)</div><div>Error: Unable to load module lttng-tracer</div><div>Warning: No kernel tracer available</div>
</div><div><br></div><div>and in the syslog file: I got the following error:</div><div><div>[   82.001603] lttng_tracer: Unknown symbol getport (err 0)</div><div>[   82.377213] lttng_tracer: Unknown symbol getport (err 0)</div>
</div><div><br></div><div>I am new to the kernel module programming. My question is: should I do some kinds of symbol register before define a function in the kernel space? Any suggestion for solving the problem?</div><div>
<br></div><div>Thanks,</div><div>Rui</div><div><br></div><div><br></div>