On Fri, Feb 16, 2024 at 11:34 AM <thinker.li@xxxxxxxxx> wrote: > > From: Kui-Feng Lee <thinker.li@xxxxxxxxx> > > struct tcp_congestion_ops is missing a stub function for get_info. This is > required for checking the consistency of cfi_stubs of struct_ops. > > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Signed-off-by: Kui-Feng Lee <thinker.li@xxxxxxxxx> > --- > net/ipv4/bpf_tcp_ca.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/net/ipv4/bpf_tcp_ca.c b/net/ipv4/bpf_tcp_ca.c > index 7f518ea5f4ac..6ab5d9c36416 100644 > --- a/net/ipv4/bpf_tcp_ca.c > +++ b/net/ipv4/bpf_tcp_ca.c > @@ -321,6 +321,12 @@ static u32 bpf_tcp_ca_sndbuf_expand(struct sock *sk) > return 0; > } > > +static size_t bpf_tcp_ca_get_info(struct sock *sk, u32 ext, int *attr, > + union tcp_cc_info *info) > +{ > + return 0; > +} > + > static void __bpf_tcp_ca_init(struct sock *sk) > { > } > @@ -340,6 +346,7 @@ static struct tcp_congestion_ops __bpf_ops_tcp_congestion_ops = { > .cong_control = bpf_tcp_ca_cong_control, > .undo_cwnd = bpf_tcp_ca_undo_cwnd, > .sndbuf_expand = bpf_tcp_ca_sndbuf_expand, > + .get_info = bpf_tcp_ca_get_info, No. It was explicitly skipped. The plan is to use NULL in cfi_stubs to remove static u32 unsupported_ops[] = { offsetof(struct tcp_congestion_ops, get_info), }; and manual check of such fields in is_unsupported(). NULL is cfi_stubs will be such an indication. pw-bot: cr