0

I'm trying to debug netfilter synproxy module with systemtap.

This is probe point I'm trying to add.

# stap -l 'module("ipt_SYNPROXY").statement("*")' | grep send_client_synack
module("ipt_SYNPROXY").statement("synproxy_send_client_synack@net/ipv4/netfilter/ipt_SYNPROXY.c:72")

And this is how stap script look like

probe module("ipt_SYNPROXY").statement("synproxy_send_client_synack@net/ipv4/netfilter/ipt_SYNPROXY.c:72"){

//some code

}

I'm getting below error when I try to run it

semantic error: no line records for net/ipv4/netfilter/ipt_SYNPROXY.c:72 [man error::dwarf]

semantic error: resolution failed in DWARF builder

semantic error: while resolving probe point: identifier 'module' at netfilter.stp:915:7
        source: probe module("ipt_SYNPROXY").statement("synproxy_send_client_synack@net/ipv4/netfilter/ipt_SYNPROXY.c:72"){
                      ^

semantic error: no match

I tried some of other probe points and realized that not all probe point give this error. For example below probe works fine

probe module("ipt_SYNPROXY").statement("ipv4_synproxy_hook@net/ipv4/netfilter/ipt_SYNPROXY.c:314"){
    //some code
}

My kernel version 4.14.128 that I compiled myself. I suspects I miss something while compiling it.

ibrahim
  • 1,067
  • 8
  • 17

1 Answers1

0

I realized it is an issue regarding gcc while compiling kernel. I applied below patch and it fixed.

https://lkml.org/lkml/2015/4/23/605

ibrahim
  • 1,067
  • 8
  • 17