You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think I figured it out. This patch adds the following logic:
/* if main BPF program has associated BTF info, validate that
* it's matching expected signature, and otherwise mark BTF
* info for main program as unreliable
*/
if (env->prog->aux->func_info_aux) {
ret = btf_prepare_func_args(env, 0);
if (ret || sub->arg_cnt != 1 || sub->args[0].arg_type != ARG_PTR_TO_CTX)
env->prog->aux->func_info_aux[0].unreliable = true;
}
So if a program is a main program (it is directly attached / an entrypoint) then its BTF must have exactly 1 argument, that being a pointer to CTX. But in our current probe the func info doesn't include a parameter. This causes the first XDP program to be marked unreliable, which causes the Cannot replace static functions error when trying to load the extension. Fix PR incoming
Describe the bug
Running the testsuite against new kernels results in an error:
How to reproduce
Using newest vimto:
Version information
main
The text was updated successfully, but these errors were encountered: