Re: [PATCH v5 bpf-next 08/11] bpf: Support BPF_FUNC_get_socket_cookie() for BPF_PROG_TYPE_SK_REUSEPORT.

From: Kuniyuki Iwashima
Date: Sat May 15 2021 - 00:21:17 EST


From: Martin KaFai Lau <kafai@xxxxxx>
Date: Fri, 14 May 2021 18:16:55 -0700
> On Mon, May 10, 2021 at 12:44:30PM +0900, Kuniyuki Iwashima wrote:
> > diff --git a/net/core/filter.c b/net/core/filter.c
> > index cae56d08a670..3d0f989f5d38 100644
> > --- a/net/core/filter.c
> > +++ b/net/core/filter.c
> > @@ -10135,6 +10135,8 @@ sk_reuseport_func_proto(enum bpf_func_id func_id,
> > return &sk_reuseport_load_bytes_proto;
> > case BPF_FUNC_skb_load_bytes_relative:
> > return &sk_reuseport_load_bytes_relative_proto;
> > + case BPF_FUNC_get_socket_cookie:
> > + return &bpf_get_socket_ptr_cookie_proto;
> > default:
> > return bpf_base_func_proto(func_id);
> > }
> > @@ -10164,6 +10166,10 @@ sk_reuseport_is_valid_access(int off, int size,
> > case offsetof(struct sk_reuseport_md, hash):
> > return size == size_default;
> >
> > + case offsetof(struct sk_reuseport_md, sk):
> > + info->reg_type = ARG_PTR_TO_SOCKET;
> s/ARG_PTR_TO_SOCKET/PTR_TO_SOCKET/

I'll fix it.
Thank you.


>
> > + return size == sizeof(__u64);
> > +
> > /* Fields that allow narrowing */
> > case bpf_ctx_range(struct sk_reuseport_md, eth_protocol):
> > if (size < sizeof_field(struct sk_buff, protocol))