From d94c83d8ace830ea2b5a52a5bb82d96e75d59e5d Mon Sep 17 00:00:00 2001 From: Paul Chaignon Date: Mon, 9 Sep 2024 23:13:54 +0200 Subject: sys/linux: improve BPF program attach types Which attach types are available to a BPF program depends on its type. We can encode this using conditional fields to reduce the time syzkaller loses on unsupported combinations of (program type; attach type). Signed-off-by: Paul Chaignon --- sys/linux/bpf_prog.txt.const | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'sys/linux/bpf_prog.txt.const') diff --git a/sys/linux/bpf_prog.txt.const b/sys/linux/bpf_prog.txt.const index e9a276f11..bf536a058 100644 --- a/sys/linux/bpf_prog.txt.const +++ b/sys/linux/bpf_prog.txt.const @@ -8,6 +8,31 @@ BPF_AND0 = 5 BPF_ARSH0 = 12 BPF_B0 = 2 BPF_CALL0 = 8 +BPF_CGROUP_GETSOCKOPT = 21 +BPF_CGROUP_INET4_BIND = 8 +BPF_CGROUP_INET4_CONNECT = 10 +BPF_CGROUP_INET4_GETPEERNAME = 29 +BPF_CGROUP_INET4_GETSOCKNAME = 31 +BPF_CGROUP_INET4_POST_BIND = 12 +BPF_CGROUP_INET6_BIND = 9 +BPF_CGROUP_INET6_CONNECT = 11 +BPF_CGROUP_INET6_GETPEERNAME = 30 +BPF_CGROUP_INET6_GETSOCKNAME = 32 +BPF_CGROUP_INET6_POST_BIND = 13 +BPF_CGROUP_INET_EGRESS = 1 +BPF_CGROUP_INET_INGRESS = 0 +BPF_CGROUP_INET_SOCK_CREATE = 2 +BPF_CGROUP_INET_SOCK_RELEASE = 34 +BPF_CGROUP_SETSOCKOPT = 22 +BPF_CGROUP_UDP4_RECVMSG = 19 +BPF_CGROUP_UDP4_SENDMSG = 14 +BPF_CGROUP_UDP6_RECVMSG = 20 +BPF_CGROUP_UDP6_SENDMSG = 15 +BPF_CGROUP_UNIX_CONNECT = 49 +BPF_CGROUP_UNIX_GETPEERNAME = 52 +BPF_CGROUP_UNIX_GETSOCKNAME = 53 +BPF_CGROUP_UNIX_RECVMSG = 51 +BPF_CGROUP_UNIX_SENDMSG = 50 BPF_CORE_RELO_SIZE = 16 BPF_DIV0 = 3 BPF_DW0 = 3 @@ -50,8 +75,16 @@ BPF_MOD0 = 9 BPF_MOV0 = 11 BPF_MUL0 = 2 BPF_NEG0 = 8 +BPF_NETFILTER = 45 BPF_OBJ_NAME_LEN = 16 BPF_OR0 = 4 +BPF_PROG_TYPE_CGROUP_SKB = 8 +BPF_PROG_TYPE_CGROUP_SOCK = 9 +BPF_PROG_TYPE_CGROUP_SOCKOPT = 25 +BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18 +BPF_PROG_TYPE_NETFILTER = 32 +BPF_PROG_TYPE_SK_LOOKUP = 30 +BPF_PROG_TYPE_SK_REUSEPORT = 21 BPF_PSEUDO_BTF_ID = 3 BPF_PSEUDO_CALL = 1 BPF_PSEUDO_FUNC = 4 @@ -74,6 +107,9 @@ BPF_REG_7 = 7 BPF_REG_8 = 8 BPF_REG_9 = 9 BPF_RSH0 = 7 +BPF_SK_LOOKUP = 36 +BPF_SK_REUSEPORT_SELECT = 39 +BPF_SK_REUSEPORT_SELECT_OR_MIGRATE = 40 BPF_ST = 2 BPF_STX = 3 BPF_SUB0 = 1 -- cgit mrf-deployment