bpf: tcp: Limit calling some tcp cc functions to CONFIG_DYNAMIC_FTRACE
authorMartin KaFai Lau <kafai@fb.com>
Mon, 29 Mar 2021 22:13:57 +0000 (15:13 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 30 Mar 2021 01:42:43 +0000 (18:42 -0700)
commit7aae231ac93b9d9c45487dcafd844fa756069f3b
treef1edf36f86e727776c71a542e6f5a54c13386873
parent21cfd2db9f51c0454d44a103ff12398c2236d3a8
bpf: tcp: Limit calling some tcp cc functions to CONFIG_DYNAMIC_FTRACE

pahole currently only generates the btf_id for external function and
ftrace-able function.  Some functions in the bpf_tcp_ca_kfunc_ids
are static (e.g. cubictcp_init).  Thus, unless CONFIG_DYNAMIC_FTRACE
is set, btf_ids for those functions will not be generated and the
compilation fails during resolve_btfids.

This patch limits those functions to CONFIG_DYNAMIC_FTRACE.  I will
address the pahole generation in a followup and then remove the
CONFIG_DYNAMIC_FTRACE limitation.

Fixes: e78aea8b2170 ("bpf: tcp: Put some tcp cong functions in allowlist for bpf-tcp-cc")
Reported-by: Cong Wang <xiyou.wangcong@gmail.com>
Reported-by: Lorenz Bauer <lmb@cloudflare.com>
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210329221357.834438-1-kafai@fb.com
net/ipv4/bpf_tcp_ca.c