f9micro / f9-kernel

An efficient and secure microkernel built for ARM Cortex-M cores, inspired by L4
Other
679 stars 145 forks source link

Improve Kprobe with symbol table to provide real dynamic tracing #130

Open louisom opened 7 years ago

louisom commented 7 years ago

At this moment, f9-kernel Kprobe approach was using function address in kernel, we can saw it at kernel/sampling-kdb.c for the example.

Compare to Linux kernel Kprobe, it was using symbol name for user space program to insert the kprobe into kernel:

struct kprobe kp = {
    .symbol_name    = "_do_fork",
};

After reviewing, f9-kernel already provide the infrastructure ksym for this approach, we can take time and improve Kprobe for real dynamic tracing in user space.

ab1aw commented 5 years ago

Hello, Has any work been done in this area - perhaps on one of the forks? Thank you.