Re: [PATCH bpf-next v3] bpf: bpf_{g,s}etsockopt for struct bpf_sock_addr
From: Alexei Starovoitov <hidden>
Date: 2020-05-01 19:53:52
Also in:
bpf
From: Alexei Starovoitov <hidden>
Date: 2020-05-01 19:53:52
Also in:
bpf
On Fri, May 1, 2020 at 11:33 AM John Fastabend [off-list ref] wrote:
Stanislav Fomichev wrote:quoted
Currently, bpf_getsockopt and bpf_setsockopt helpers operate on the 'struct bpf_sock_ops' context in BPF_PROG_TYPE_SOCK_OPS program. Let's generalize them and make them available for 'struct bpf_sock_addr'. That way, in the future, we can allow those helpers in more places. As an example, let's expose those 'struct bpf_sock_addr' based helpers to BPF_CGROUP_INET{4,6}_CONNECT hooks. That way we can override CC before the connection is made. v3: * Expose custom helpers for bpf_sock_addr context instead of doing generic bpf_sock argument (as suggested by Daniel). Even with try_socket_lock that doesn't sleep we have a problem where context sk is already locked and socket lock is non-nestable. v2: * s/BPF_PROG_TYPE_CGROUP_SOCKOPT/BPF_PROG_TYPE_SOCK_OPS/ Cc: John Fastabend <john.fastabend@gmail.com> Cc: Martin KaFai Lau <redacted> Signed-off-by: Stanislav Fomichev <redacted> ---To bad we had to fall back to ctx here. Acked-by: John Fastabend <john.fastabend@gmail.com>
Applied. Thanks