bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_RECVMSG
authorStanislav Fomichev <sdf@google.com>
Wed, 27 Jan 2021 23:28:53 +0000 (15:28 -0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 29 Jan 2021 01:09:31 +0000 (02:09 +0100)
commit4c3384d7abe58a68d78fd1b8b3bffbf62e1e29a1
tree66b67311b707d50eda22b0151cd7278549e9b405
parent357490601621d077c2c90473fec66d7a8badedcc
bpf: Enable bpf_{g,s}etsockopt in BPF_CGROUP_UDP{4,6}_RECVMSG

Those hooks run as BPF_CGROUP_RUN_SA_PROG_LOCK and operate on a locked socket.

Note that we could remove the switch for prog->expected_attach_type altogether
since all current sock_addr attach types are covered. However, it makes sense
to keep it as a safe-guard in case new sock_addr attach types are added that
might not operate on a locked socket. Therefore, avoid to let this slip through.

Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20210127232853.3753823-5-sdf@google.com
net/core/filter.c
tools/testing/selftests/bpf/progs/recvmsg4_prog.c
tools/testing/selftests/bpf/progs/recvmsg6_prog.c