Kprobe handler is not triggered for some kernel symbols

55 views Asked by At

I am registering my probe to skx_register_mci symbol. Output of this symbol from /proc/kallsyms : ffffffffc1696a90 t skx_register_mci [skx_edac]

So, this function seems to be local text (code). However, this function is implemented as a non-static function:

int skx_register_mci(struct skx_imc *imc, struct pci_dev *pdev,
         const char *ctl_name, const char *mod_str,
         get_dimm_config_f get_dimm_config,
         struct res_config *cfg)

I can succesfully register my probe to this symbol. However, when this symbol is called, my probe is not triggered. When I attach my probe to other symbols with T (global text symbol), my probe to those are triggered.

I already checked whether this function was inlined or not by disassembling the driver, it is not inlined. So, why is my probe not triggered even though I am succesfully registering my probe to this function? And why a function defined like this is local text (code) --> t instead of global text (code) --> T

0

There are 0 answers