From: Jiri Olsa jolsa@kernel.org
commit f1d41f7720c89705c20e4335a807b1c518c2e7be upstream.
The btf_sock_ids array needs struct mptcp_sock BTF ID for the bpf_skc_to_mptcp_sock helper.
When CONFIG_MPTCP is disabled, the 'struct mptcp_sock' is not defined and resolve_btfids will complain with:
[...] BTFIDS vmlinux WARN: resolve_btfids: unresolved symbol mptcp_sock [...]
Add an empty definition for struct mptcp_sock when CONFIG_MPTCP is disabled.
Fixes: 3bc253c2e652 ("bpf: Add bpf_skc_to_mptcp_sock_proto") Signed-off-by: Jiri Olsa jolsa@kernel.org Signed-off-by: Daniel Borkmann daniel@iogearbox.net Reviewed-by: Mat Martineau mathew.j.martineau@linux.intel.com Acked-by: Martin KaFai Lau kafai@fb.com Link: https://lore.kernel.org/bpf/20220802163324.1873044-1-jolsa@kernel.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- include/net/mptcp.h | 4 ++++ 1 file changed, 4 insertions(+)
--- a/include/net/mptcp.h +++ b/include/net/mptcp.h @@ -290,4 +290,8 @@ struct mptcp_sock *bpf_mptcp_sock_from_s static inline struct mptcp_sock *bpf_mptcp_sock_from_subflow(struct sock *sk) { return NULL; } #endif
+#if !IS_ENABLED(CONFIG_MPTCP) +struct mptcp_sock { }; +#endif + #endif /* __NET_MPTCP_H */