diff options
author | 2020-04-30 16:31:52 -0700 | |
---|---|---|
committer | 2020-05-01 12:44:28 -0700 | |
commit | beecf11bc2188067824591612151c4dc6ec383c7 (patch) | |
tree | 69f6fa04eedbf42c247de70bb0df443bacd42c44 /kernel | |
parent | Merge branch 'bpf_enable_stats' (diff) | |
download | linux-dev-beecf11bc2188067824591612151c4dc6ec383c7.tar.xz linux-dev-beecf11bc2188067824591612151c4dc6ec383c7.zip |
bpf: Bpf_{g,s}etsockopt for struct bpf_sock_addr
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/
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20200430233152.199403-1-sdf@google.com
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions