Although dynamic tracing is a very useful feature, custom kernel modules do not have a user-friendly interface. Fortunately, the Linux kernel has been extended with the support of
kprobe events, which allow us to set
kprobes probes using a
To make use of this feature, we need to configure our kernel with the
CONFIG_KPROBE_EVENT configuration variable.
debugfs interface adds probes via the
For example, to add a
example_probe to the
do_sys_open function, you can execute the following command:
# echo 'p:example_probe do_sys_open dfd=%r0 filename=%r1 flags=%r2
mode=%r3' > /sys/kernel/debug/tracing/kprobe_events
The probe will print the function's argument list, according to the function's declaration arguments as seen in the function's definition as follows:
long do_sys_open(int dfd, const char __user *filename, int flags,
You can then manage...