On Fri, May 1, 2020 at 11:33 AM John Fastabend <john.fastabend@xxxxxxxxx> wrote: > > Stanislav Fomichev wrote: > > 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@xxxxxxxxx> > > Cc: Martin KaFai Lau <kafai@xxxxxx> > > Signed-off-by: Stanislav Fomichev <sdf@xxxxxxxxxx> > > --- > > To bad we had to fall back to ctx here. > > Acked-by: John Fastabend <john.fastabend@xxxxxxxxx> Applied. Thanks