Open mephi42 opened 5 years ago
The usdt does not support using bpf_usdt_readarg
outside the main probe function. The readarg function names like _bpf_readarg_foo_2 are generated based on main probe function "name", and bpf_usdt_readarg
needs to be in function foo
body to be rewritten correctly.
Caused by:
Looking at generated C:
foo_1
calls non-existent_bpf_readarg__1
, which leads to the following BPF:in which
call -1
apparently confuses the verifier.Edit: this looks like #1255, but the error message has become extremely confusing.