From 46caad94600e423131f4a0072f17ac8d3ee54e0e Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 10 May 2019 15:39:27 +0200 Subject: [PATCH] sys/linux: add few new bpf consts --- executor/defs.h | 10 +++++----- executor/syscalls.h | 5 +++++ sys/linux/bpf.txt | 9 +++++---- sys/linux/bpf_386.const | 12 ++++++++++++ sys/linux/bpf_amd64.const | 12 ++++++++++++ sys/linux/bpf_arm.const | 12 ++++++++++++ sys/linux/bpf_arm64.const | 12 ++++++++++++ sys/linux/bpf_ppc64le.const | 12 ++++++++++++ sys/linux/gen/386.go | 31 ++++++++++++++++++++++++------- sys/linux/gen/amd64.go | 31 ++++++++++++++++++++++++------- sys/linux/gen/arm.go | 31 ++++++++++++++++++++++++------- sys/linux/gen/arm64.go | 31 ++++++++++++++++++++++++------- sys/linux/gen/ppc64le.go | 31 ++++++++++++++++++++++++------- 13 files changed, 195 insertions(+), 44 deletions(-) diff --git a/executor/defs.h b/executor/defs.h index 7f064b017af..788875f410c 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -60,7 +60,7 @@ #if GOARCH_386 #define GOARCH "386" -#define SYZ_REVISION "2a310072609dd2e6ae7b07282877fd2cf31ef04b" +#define SYZ_REVISION "9a47570fd6dfab9549e7f6c6dc74820b136aa7b2" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -70,7 +70,7 @@ #if GOARCH_amd64 #define GOARCH "amd64" -#define SYZ_REVISION "635705c13150622d9e68e6d8b434fb56ed52289c" +#define SYZ_REVISION "ff56879f86d1c5d5c21a796f104d98cdda130643" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -80,7 +80,7 @@ #if GOARCH_arm #define GOARCH "arm" -#define SYZ_REVISION "a6919059eb94d6f50a1aecf5881e762d1e6d212f" +#define SYZ_REVISION "2628a797a6d3c69a653099dc4c76e542511e5dee" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -90,7 +90,7 @@ #if GOARCH_arm64 #define GOARCH "arm64" -#define SYZ_REVISION "f2c20c26aaf4c83bed7b550a26dcc203defc6d67" +#define SYZ_REVISION "3874dd98d514bea344673e0dbe4e9fd0cdfd1cd7" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -100,7 +100,7 @@ #if GOARCH_ppc64le #define GOARCH "ppc64le" -#define SYZ_REVISION "0b321c9de8c65a001f28b71c84c8780f9d4713a9" +#define SYZ_REVISION "84345e4c9ab2df204d5e2216e1ee380880b1e68c" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 diff --git a/executor/syscalls.h b/executor/syscalls.h index d4ee2aa7878..37b36814aa0 100644 --- a/executor/syscalls.h +++ b/executor/syscalls.h @@ -1643,6 +1643,7 @@ const call_t syscalls[] = { {"bpf$BPF_GET_BTF_INFO", 357}, {"bpf$BPF_GET_MAP_INFO", 357}, {"bpf$BPF_GET_PROG_INFO", 357}, + {"bpf$BPF_MAP_FREEZE", 357}, {"bpf$BPF_MAP_GET_FD_BY_ID", 357}, {"bpf$BPF_MAP_GET_NEXT_ID", 357}, {"bpf$BPF_MAP_LOOKUP_AND_DELETE_ELEM", 357}, @@ -4336,6 +4337,7 @@ const call_t syscalls[] = { {"bpf$BPF_GET_BTF_INFO", 321}, {"bpf$BPF_GET_MAP_INFO", 321}, {"bpf$BPF_GET_PROG_INFO", 321}, + {"bpf$BPF_MAP_FREEZE", 321}, {"bpf$BPF_MAP_GET_FD_BY_ID", 321}, {"bpf$BPF_MAP_GET_NEXT_ID", 321}, {"bpf$BPF_MAP_LOOKUP_AND_DELETE_ELEM", 321}, @@ -7025,6 +7027,7 @@ const call_t syscalls[] = { {"bpf$BPF_GET_BTF_INFO", 386}, {"bpf$BPF_GET_MAP_INFO", 386}, {"bpf$BPF_GET_PROG_INFO", 386}, + {"bpf$BPF_MAP_FREEZE", 386}, {"bpf$BPF_MAP_GET_FD_BY_ID", 386}, {"bpf$BPF_MAP_GET_NEXT_ID", 386}, {"bpf$BPF_MAP_LOOKUP_AND_DELETE_ELEM", 386}, @@ -9660,6 +9663,7 @@ const call_t syscalls[] = { {"bpf$BPF_GET_BTF_INFO", 280}, {"bpf$BPF_GET_MAP_INFO", 280}, {"bpf$BPF_GET_PROG_INFO", 280}, + {"bpf$BPF_MAP_FREEZE", 280}, {"bpf$BPF_MAP_GET_FD_BY_ID", 280}, {"bpf$BPF_MAP_GET_NEXT_ID", 280}, {"bpf$BPF_MAP_LOOKUP_AND_DELETE_ELEM", 280}, @@ -12268,6 +12272,7 @@ const call_t syscalls[] = { {"bpf$BPF_GET_BTF_INFO", 361}, {"bpf$BPF_GET_MAP_INFO", 361}, {"bpf$BPF_GET_PROG_INFO", 361}, + {"bpf$BPF_MAP_FREEZE", 361}, {"bpf$BPF_MAP_GET_FD_BY_ID", 361}, {"bpf$BPF_MAP_GET_NEXT_ID", 361}, {"bpf$BPF_MAP_LOOKUP_AND_DELETE_ELEM", 361}, diff --git a/sys/linux/bpf.txt b/sys/linux/bpf.txt index 195b6475cc9..2a630f63369 100644 --- a/sys/linux/bpf.txt +++ b/sys/linux/bpf.txt @@ -42,6 +42,7 @@ bpf$BPF_BTF_LOAD(cmd const[BPF_BTF_LOAD], arg ptr[in, bpf_btf_load], size len[ar bpf$BPF_BTF_GET_FD_BY_ID(cmd const[BPF_BTF_GET_FD_BY_ID], arg ptr[in, bpf_btf_id], size len[arg]) fd_btf bpf$BPF_TASK_FD_QUERY(cmd const[BPF_TASK_FD_QUERY], arg ptr[inout, bpf_task_fd_query], size len[arg]) bpf$BPF_MAP_LOOKUP_AND_DELETE_ELEM(cmd const[BPF_MAP_LOOKUP_AND_DELETE_ELEM], arg ptr[in, bpf_map_lookup_arg], size len[arg]) +bpf$BPF_MAP_FREEZE(cmd const[BPF_MAP_FREEZE], arg ptr[in, fd_bpf_map], size len[arg]) bpf_map_create_arg { type flags[bpf_map_type, int32] @@ -466,11 +467,11 @@ bpf_task_fd_query { probe_addr const[0, int64] } -bpf_map_type = BPF_MAP_TYPE_HASH, BPF_MAP_TYPE_ARRAY, BPF_MAP_TYPE_PROG_ARRAY, BPF_MAP_TYPE_PERF_EVENT_ARRAY, BPF_MAP_TYPE_STACK_TRACE, BPF_MAP_TYPE_CGROUP_ARRAY, BPF_MAP_TYPE_PERCPU_HASH, BPF_MAP_TYPE_PERCPU_ARRAY, BPF_MAP_TYPE_LRU_HASH, BPF_MAP_TYPE_LRU_PERCPU_HASH, BPF_MAP_TYPE_LPM_TRIE, BPF_MAP_TYPE_ARRAY_OF_MAPS, BPF_MAP_TYPE_HASH_OF_MAPS, BPF_MAP_TYPE_DEVMAP, BPF_MAP_TYPE_SOCKMAP, BPF_MAP_TYPE_CPUMAP, BPF_MAP_TYPE_XSKMAP, BPF_MAP_TYPE_SOCKHASH, BPF_MAP_TYPE_CGROUP_STORAGE, BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE, BPF_MAP_TYPE_QUEUE, BPF_MAP_TYPE_STACK +bpf_map_type = BPF_MAP_TYPE_HASH, BPF_MAP_TYPE_ARRAY, BPF_MAP_TYPE_PROG_ARRAY, BPF_MAP_TYPE_PERF_EVENT_ARRAY, BPF_MAP_TYPE_STACK_TRACE, BPF_MAP_TYPE_CGROUP_ARRAY, BPF_MAP_TYPE_PERCPU_HASH, BPF_MAP_TYPE_PERCPU_ARRAY, BPF_MAP_TYPE_LRU_HASH, BPF_MAP_TYPE_LRU_PERCPU_HASH, BPF_MAP_TYPE_LPM_TRIE, BPF_MAP_TYPE_ARRAY_OF_MAPS, BPF_MAP_TYPE_HASH_OF_MAPS, BPF_MAP_TYPE_DEVMAP, BPF_MAP_TYPE_SOCKMAP, BPF_MAP_TYPE_CPUMAP, BPF_MAP_TYPE_XSKMAP, BPF_MAP_TYPE_SOCKHASH, BPF_MAP_TYPE_CGROUP_STORAGE, BPF_MAP_TYPE_REUSEPORT_SOCKARRAY, BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE, BPF_MAP_TYPE_QUEUE, BPF_MAP_TYPE_STACK, BPF_MAP_TYPE_SK_STORAGE bpf_map_flags = BPF_ANY, BPF_NOEXIST, BPF_EXIST -bpf_prog_type = BPF_PROG_TYPE_SOCKET_FILTER, BPF_PROG_TYPE_KPROBE, BPF_PROG_TYPE_SCHED_CLS, BPF_PROG_TYPE_SCHED_ACT, BPF_PROG_TYPE_TRACEPOINT, BPF_PROG_TYPE_XDP, BPF_PROG_TYPE_PERF_EVENT, BPF_PROG_TYPE_CGROUP_SKB, BPF_PROG_TYPE_CGROUP_SOCK, BPF_PROG_TYPE_LWT_IN, BPF_PROG_TYPE_LWT_OUT, BPF_PROG_TYPE_LWT_XMIT, BPF_PROG_TYPE_SOCK_OPS, BPF_PROG_TYPE_SK_SKB, BPF_PROG_TYPE_CGROUP_DEVICE, BPF_PROG_TYPE_SK_MSG, BPF_PROG_TYPE_RAW_TRACEPOINT, BPF_PROG_TYPE_CGROUP_SOCK_ADDR, BPF_PROG_TYPE_LWT_SEG6LOCAL, BPF_PROG_TYPE_LIRC_MODE2, BPF_PROG_TYPE_SK_REUSEPORT, BPF_PROG_TYPE_FLOW_DISSECTOR -map_flags = BPF_F_NO_PREALLOC, BPF_F_NO_COMMON_LRU, BPF_F_NUMA_NODE, BPF_F_RDONLY, BPF_F_WRONLY, BPF_F_STACK_BUILD_ID -bpf_attach_type = BPF_CGROUP_INET_INGRESS, BPF_CGROUP_INET_EGRESS, BPF_CGROUP_INET_SOCK_CREATE, BPF_CGROUP_SOCK_OPS, BPF_SK_SKB_STREAM_PARSER, BPF_SK_SKB_STREAM_VERDICT, BPF_CGROUP_DEVICE, BPF_SK_MSG_VERDICT, BPF_CGROUP_INET4_BIND, BPF_CGROUP_INET6_BIND, BPF_CGROUP_INET4_CONNECT, BPF_CGROUP_INET6_CONNECT, BPF_CGROUP_INET4_POST_BIND, BPF_CGROUP_INET6_POST_BIND +bpf_prog_type = BPF_PROG_TYPE_SOCKET_FILTER, BPF_PROG_TYPE_KPROBE, BPF_PROG_TYPE_SCHED_CLS, BPF_PROG_TYPE_SCHED_ACT, BPF_PROG_TYPE_TRACEPOINT, BPF_PROG_TYPE_XDP, BPF_PROG_TYPE_PERF_EVENT, BPF_PROG_TYPE_CGROUP_SKB, BPF_PROG_TYPE_CGROUP_SOCK, BPF_PROG_TYPE_LWT_IN, BPF_PROG_TYPE_LWT_OUT, BPF_PROG_TYPE_LWT_XMIT, BPF_PROG_TYPE_SOCK_OPS, BPF_PROG_TYPE_SK_SKB, BPF_PROG_TYPE_CGROUP_DEVICE, BPF_PROG_TYPE_SK_MSG, BPF_PROG_TYPE_RAW_TRACEPOINT, BPF_PROG_TYPE_CGROUP_SOCK_ADDR, BPF_PROG_TYPE_LWT_SEG6LOCAL, BPF_PROG_TYPE_LIRC_MODE2, BPF_PROG_TYPE_SK_REUSEPORT, BPF_PROG_TYPE_FLOW_DISSECTOR, BPF_PROG_TYPE_CGROUP_SYSCTL, BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE +map_flags = BPF_F_NO_PREALLOC, BPF_F_NO_COMMON_LRU, BPF_F_NUMA_NODE, BPF_F_RDONLY, BPF_F_WRONLY, BPF_F_STACK_BUILD_ID, BPF_F_ZERO_SEED, BPF_F_RDONLY_PROG, BPF_F_WRONLY_PROG +bpf_attach_type = BPF_CGROUP_INET_INGRESS, BPF_CGROUP_INET_EGRESS, BPF_CGROUP_INET_SOCK_CREATE, BPF_CGROUP_SOCK_OPS, BPF_SK_SKB_STREAM_PARSER, BPF_SK_SKB_STREAM_VERDICT, BPF_CGROUP_DEVICE, BPF_SK_MSG_VERDICT, BPF_CGROUP_INET4_BIND, BPF_CGROUP_INET6_BIND, BPF_CGROUP_INET4_CONNECT, BPF_CGROUP_INET6_CONNECT, BPF_CGROUP_INET4_POST_BIND, BPF_CGROUP_INET6_POST_BIND, BPF_CGROUP_UDP4_SENDMSG, BPF_CGROUP_UDP6_SENDMSG, BPF_LIRC_MODE2, BPF_FLOW_DISSECTOR, BPF_CGROUP_SYSCTL bpf_prog_load_flags = BPF_F_STRICT_ALIGNMENT bpf_attach_flags = BPF_F_ALLOW_OVERRIDE, BPF_F_ALLOW_MULTI bpf_prog_query_flags = BPF_F_QUERY_EFFECTIVE diff --git a/sys/linux/bpf_386.const b/sys/linux/bpf_386.const index 09898a2cdc4..e5b5964a966 100644 --- a/sys/linux/bpf_386.const +++ b/sys/linux/bpf_386.const @@ -21,11 +21,15 @@ BPF_CGROUP_INET_EGRESS = 1 BPF_CGROUP_INET_INGRESS = 0 BPF_CGROUP_INET_SOCK_CREATE = 2 BPF_CGROUP_SOCK_OPS = 3 +BPF_CGROUP_SYSCTL = 18 +BPF_CGROUP_UDP4_SENDMSG = 14 +BPF_CGROUP_UDP6_SENDMSG = 15 BPF_DIV0 = 3 BPF_DW0 = 3 BPF_END0 = 13 BPF_EXIST = 2 BPF_EXIT0 = 9 +BPF_FLOW_DISSECTOR = 17 BPF_FUNC_INFO_SIZE = 8 BPF_F_ALLOW_MULTI = 2 BPF_F_ALLOW_OVERRIDE = 1 @@ -34,9 +38,12 @@ BPF_F_NO_PREALLOC = 1 BPF_F_NUMA_NODE = 4 BPF_F_QUERY_EFFECTIVE = 1 BPF_F_RDONLY = 8 +BPF_F_RDONLY_PROG = 128 BPF_F_STACK_BUILD_ID = 32 BPF_F_STRICT_ALIGNMENT = 1 BPF_F_WRONLY = 16 +BPF_F_WRONLY_PROG = 256 +BPF_F_ZERO_SEED = 64 BPF_H0 = 1 BPF_IMM0 = 0 BPF_IND0 = 2 @@ -56,9 +63,11 @@ BPF_JSLT0 = 12 BPF_LD = 0 BPF_LDX = 1 BPF_LINE_INFO_SIZE = 16 +BPF_LIRC_MODE2 = 16 BPF_LSH0 = 6 BPF_MAP_CREATE = 0 BPF_MAP_DELETE_ELEM = 3 +BPF_MAP_FREEZE = 22 BPF_MAP_GET_FD_BY_ID = 14 BPF_MAP_GET_NEXT_ID = 12 BPF_MAP_GET_NEXT_KEY = 4 @@ -82,6 +91,7 @@ BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4 BPF_MAP_TYPE_PROG_ARRAY = 3 BPF_MAP_TYPE_QUEUE = 22 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20 +BPF_MAP_TYPE_SK_STORAGE = 24 BPF_MAP_TYPE_SOCKHASH = 18 BPF_MAP_TYPE_SOCKMAP = 15 BPF_MAP_TYPE_STACK = 23 @@ -110,6 +120,7 @@ BPF_PROG_TYPE_CGROUP_DEVICE = 15 BPF_PROG_TYPE_CGROUP_SKB = 8 BPF_PROG_TYPE_CGROUP_SOCK = 9 BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18 +BPF_PROG_TYPE_CGROUP_SYSCTL = 23 BPF_PROG_TYPE_FLOW_DISSECTOR = 22 BPF_PROG_TYPE_KPROBE = 2 BPF_PROG_TYPE_LIRC_MODE2 = 20 @@ -119,6 +130,7 @@ BPF_PROG_TYPE_LWT_SEG6LOCAL = 19 BPF_PROG_TYPE_LWT_XMIT = 12 BPF_PROG_TYPE_PERF_EVENT = 7 BPF_PROG_TYPE_RAW_TRACEPOINT = 17 +BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24 BPF_PROG_TYPE_SCHED_ACT = 4 BPF_PROG_TYPE_SCHED_CLS = 3 BPF_PROG_TYPE_SK_MSG = 16 diff --git a/sys/linux/bpf_amd64.const b/sys/linux/bpf_amd64.const index 568b95a6f4d..eec63b5cf63 100644 --- a/sys/linux/bpf_amd64.const +++ b/sys/linux/bpf_amd64.const @@ -21,11 +21,15 @@ BPF_CGROUP_INET_EGRESS = 1 BPF_CGROUP_INET_INGRESS = 0 BPF_CGROUP_INET_SOCK_CREATE = 2 BPF_CGROUP_SOCK_OPS = 3 +BPF_CGROUP_SYSCTL = 18 +BPF_CGROUP_UDP4_SENDMSG = 14 +BPF_CGROUP_UDP6_SENDMSG = 15 BPF_DIV0 = 3 BPF_DW0 = 3 BPF_END0 = 13 BPF_EXIST = 2 BPF_EXIT0 = 9 +BPF_FLOW_DISSECTOR = 17 BPF_FUNC_INFO_SIZE = 8 BPF_F_ALLOW_MULTI = 2 BPF_F_ALLOW_OVERRIDE = 1 @@ -34,9 +38,12 @@ BPF_F_NO_PREALLOC = 1 BPF_F_NUMA_NODE = 4 BPF_F_QUERY_EFFECTIVE = 1 BPF_F_RDONLY = 8 +BPF_F_RDONLY_PROG = 128 BPF_F_STACK_BUILD_ID = 32 BPF_F_STRICT_ALIGNMENT = 1 BPF_F_WRONLY = 16 +BPF_F_WRONLY_PROG = 256 +BPF_F_ZERO_SEED = 64 BPF_H0 = 1 BPF_IMM0 = 0 BPF_IND0 = 2 @@ -56,9 +63,11 @@ BPF_JSLT0 = 12 BPF_LD = 0 BPF_LDX = 1 BPF_LINE_INFO_SIZE = 16 +BPF_LIRC_MODE2 = 16 BPF_LSH0 = 6 BPF_MAP_CREATE = 0 BPF_MAP_DELETE_ELEM = 3 +BPF_MAP_FREEZE = 22 BPF_MAP_GET_FD_BY_ID = 14 BPF_MAP_GET_NEXT_ID = 12 BPF_MAP_GET_NEXT_KEY = 4 @@ -82,6 +91,7 @@ BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4 BPF_MAP_TYPE_PROG_ARRAY = 3 BPF_MAP_TYPE_QUEUE = 22 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20 +BPF_MAP_TYPE_SK_STORAGE = 24 BPF_MAP_TYPE_SOCKHASH = 18 BPF_MAP_TYPE_SOCKMAP = 15 BPF_MAP_TYPE_STACK = 23 @@ -110,6 +120,7 @@ BPF_PROG_TYPE_CGROUP_DEVICE = 15 BPF_PROG_TYPE_CGROUP_SKB = 8 BPF_PROG_TYPE_CGROUP_SOCK = 9 BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18 +BPF_PROG_TYPE_CGROUP_SYSCTL = 23 BPF_PROG_TYPE_FLOW_DISSECTOR = 22 BPF_PROG_TYPE_KPROBE = 2 BPF_PROG_TYPE_LIRC_MODE2 = 20 @@ -119,6 +130,7 @@ BPF_PROG_TYPE_LWT_SEG6LOCAL = 19 BPF_PROG_TYPE_LWT_XMIT = 12 BPF_PROG_TYPE_PERF_EVENT = 7 BPF_PROG_TYPE_RAW_TRACEPOINT = 17 +BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24 BPF_PROG_TYPE_SCHED_ACT = 4 BPF_PROG_TYPE_SCHED_CLS = 3 BPF_PROG_TYPE_SK_MSG = 16 diff --git a/sys/linux/bpf_arm.const b/sys/linux/bpf_arm.const index e9202401cdb..7229674a17a 100644 --- a/sys/linux/bpf_arm.const +++ b/sys/linux/bpf_arm.const @@ -21,11 +21,15 @@ BPF_CGROUP_INET_EGRESS = 1 BPF_CGROUP_INET_INGRESS = 0 BPF_CGROUP_INET_SOCK_CREATE = 2 BPF_CGROUP_SOCK_OPS = 3 +BPF_CGROUP_SYSCTL = 18 +BPF_CGROUP_UDP4_SENDMSG = 14 +BPF_CGROUP_UDP6_SENDMSG = 15 BPF_DIV0 = 3 BPF_DW0 = 3 BPF_END0 = 13 BPF_EXIST = 2 BPF_EXIT0 = 9 +BPF_FLOW_DISSECTOR = 17 BPF_FUNC_INFO_SIZE = 8 BPF_F_ALLOW_MULTI = 2 BPF_F_ALLOW_OVERRIDE = 1 @@ -34,9 +38,12 @@ BPF_F_NO_PREALLOC = 1 BPF_F_NUMA_NODE = 4 BPF_F_QUERY_EFFECTIVE = 1 BPF_F_RDONLY = 8 +BPF_F_RDONLY_PROG = 128 BPF_F_STACK_BUILD_ID = 32 BPF_F_STRICT_ALIGNMENT = 1 BPF_F_WRONLY = 16 +BPF_F_WRONLY_PROG = 256 +BPF_F_ZERO_SEED = 64 BPF_H0 = 1 BPF_IMM0 = 0 BPF_IND0 = 2 @@ -56,9 +63,11 @@ BPF_JSLT0 = 12 BPF_LD = 0 BPF_LDX = 1 BPF_LINE_INFO_SIZE = 16 +BPF_LIRC_MODE2 = 16 BPF_LSH0 = 6 BPF_MAP_CREATE = 0 BPF_MAP_DELETE_ELEM = 3 +BPF_MAP_FREEZE = 22 BPF_MAP_GET_FD_BY_ID = 14 BPF_MAP_GET_NEXT_ID = 12 BPF_MAP_GET_NEXT_KEY = 4 @@ -82,6 +91,7 @@ BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4 BPF_MAP_TYPE_PROG_ARRAY = 3 BPF_MAP_TYPE_QUEUE = 22 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20 +BPF_MAP_TYPE_SK_STORAGE = 24 BPF_MAP_TYPE_SOCKHASH = 18 BPF_MAP_TYPE_SOCKMAP = 15 BPF_MAP_TYPE_STACK = 23 @@ -110,6 +120,7 @@ BPF_PROG_TYPE_CGROUP_DEVICE = 15 BPF_PROG_TYPE_CGROUP_SKB = 8 BPF_PROG_TYPE_CGROUP_SOCK = 9 BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18 +BPF_PROG_TYPE_CGROUP_SYSCTL = 23 BPF_PROG_TYPE_FLOW_DISSECTOR = 22 BPF_PROG_TYPE_KPROBE = 2 BPF_PROG_TYPE_LIRC_MODE2 = 20 @@ -119,6 +130,7 @@ BPF_PROG_TYPE_LWT_SEG6LOCAL = 19 BPF_PROG_TYPE_LWT_XMIT = 12 BPF_PROG_TYPE_PERF_EVENT = 7 BPF_PROG_TYPE_RAW_TRACEPOINT = 17 +BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24 BPF_PROG_TYPE_SCHED_ACT = 4 BPF_PROG_TYPE_SCHED_CLS = 3 BPF_PROG_TYPE_SK_MSG = 16 diff --git a/sys/linux/bpf_arm64.const b/sys/linux/bpf_arm64.const index e4ee3ee18b3..db031339ef4 100644 --- a/sys/linux/bpf_arm64.const +++ b/sys/linux/bpf_arm64.const @@ -21,11 +21,15 @@ BPF_CGROUP_INET_EGRESS = 1 BPF_CGROUP_INET_INGRESS = 0 BPF_CGROUP_INET_SOCK_CREATE = 2 BPF_CGROUP_SOCK_OPS = 3 +BPF_CGROUP_SYSCTL = 18 +BPF_CGROUP_UDP4_SENDMSG = 14 +BPF_CGROUP_UDP6_SENDMSG = 15 BPF_DIV0 = 3 BPF_DW0 = 3 BPF_END0 = 13 BPF_EXIST = 2 BPF_EXIT0 = 9 +BPF_FLOW_DISSECTOR = 17 BPF_FUNC_INFO_SIZE = 8 BPF_F_ALLOW_MULTI = 2 BPF_F_ALLOW_OVERRIDE = 1 @@ -34,9 +38,12 @@ BPF_F_NO_PREALLOC = 1 BPF_F_NUMA_NODE = 4 BPF_F_QUERY_EFFECTIVE = 1 BPF_F_RDONLY = 8 +BPF_F_RDONLY_PROG = 128 BPF_F_STACK_BUILD_ID = 32 BPF_F_STRICT_ALIGNMENT = 1 BPF_F_WRONLY = 16 +BPF_F_WRONLY_PROG = 256 +BPF_F_ZERO_SEED = 64 BPF_H0 = 1 BPF_IMM0 = 0 BPF_IND0 = 2 @@ -56,9 +63,11 @@ BPF_JSLT0 = 12 BPF_LD = 0 BPF_LDX = 1 BPF_LINE_INFO_SIZE = 16 +BPF_LIRC_MODE2 = 16 BPF_LSH0 = 6 BPF_MAP_CREATE = 0 BPF_MAP_DELETE_ELEM = 3 +BPF_MAP_FREEZE = 22 BPF_MAP_GET_FD_BY_ID = 14 BPF_MAP_GET_NEXT_ID = 12 BPF_MAP_GET_NEXT_KEY = 4 @@ -82,6 +91,7 @@ BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4 BPF_MAP_TYPE_PROG_ARRAY = 3 BPF_MAP_TYPE_QUEUE = 22 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20 +BPF_MAP_TYPE_SK_STORAGE = 24 BPF_MAP_TYPE_SOCKHASH = 18 BPF_MAP_TYPE_SOCKMAP = 15 BPF_MAP_TYPE_STACK = 23 @@ -110,6 +120,7 @@ BPF_PROG_TYPE_CGROUP_DEVICE = 15 BPF_PROG_TYPE_CGROUP_SKB = 8 BPF_PROG_TYPE_CGROUP_SOCK = 9 BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18 +BPF_PROG_TYPE_CGROUP_SYSCTL = 23 BPF_PROG_TYPE_FLOW_DISSECTOR = 22 BPF_PROG_TYPE_KPROBE = 2 BPF_PROG_TYPE_LIRC_MODE2 = 20 @@ -119,6 +130,7 @@ BPF_PROG_TYPE_LWT_SEG6LOCAL = 19 BPF_PROG_TYPE_LWT_XMIT = 12 BPF_PROG_TYPE_PERF_EVENT = 7 BPF_PROG_TYPE_RAW_TRACEPOINT = 17 +BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24 BPF_PROG_TYPE_SCHED_ACT = 4 BPF_PROG_TYPE_SCHED_CLS = 3 BPF_PROG_TYPE_SK_MSG = 16 diff --git a/sys/linux/bpf_ppc64le.const b/sys/linux/bpf_ppc64le.const index 441ca757b86..a8f5111bcb4 100644 --- a/sys/linux/bpf_ppc64le.const +++ b/sys/linux/bpf_ppc64le.const @@ -21,11 +21,15 @@ BPF_CGROUP_INET_EGRESS = 1 BPF_CGROUP_INET_INGRESS = 0 BPF_CGROUP_INET_SOCK_CREATE = 2 BPF_CGROUP_SOCK_OPS = 3 +BPF_CGROUP_SYSCTL = 18 +BPF_CGROUP_UDP4_SENDMSG = 14 +BPF_CGROUP_UDP6_SENDMSG = 15 BPF_DIV0 = 3 BPF_DW0 = 3 BPF_END0 = 13 BPF_EXIST = 2 BPF_EXIT0 = 9 +BPF_FLOW_DISSECTOR = 17 BPF_FUNC_INFO_SIZE = 8 BPF_F_ALLOW_MULTI = 2 BPF_F_ALLOW_OVERRIDE = 1 @@ -34,9 +38,12 @@ BPF_F_NO_PREALLOC = 1 BPF_F_NUMA_NODE = 4 BPF_F_QUERY_EFFECTIVE = 1 BPF_F_RDONLY = 8 +BPF_F_RDONLY_PROG = 128 BPF_F_STACK_BUILD_ID = 32 BPF_F_STRICT_ALIGNMENT = 1 BPF_F_WRONLY = 16 +BPF_F_WRONLY_PROG = 256 +BPF_F_ZERO_SEED = 64 BPF_H0 = 1 BPF_IMM0 = 0 BPF_IND0 = 2 @@ -56,9 +63,11 @@ BPF_JSLT0 = 12 BPF_LD = 0 BPF_LDX = 1 BPF_LINE_INFO_SIZE = 16 +BPF_LIRC_MODE2 = 16 BPF_LSH0 = 6 BPF_MAP_CREATE = 0 BPF_MAP_DELETE_ELEM = 3 +BPF_MAP_FREEZE = 22 BPF_MAP_GET_FD_BY_ID = 14 BPF_MAP_GET_NEXT_ID = 12 BPF_MAP_GET_NEXT_KEY = 4 @@ -82,6 +91,7 @@ BPF_MAP_TYPE_PERF_EVENT_ARRAY = 4 BPF_MAP_TYPE_PROG_ARRAY = 3 BPF_MAP_TYPE_QUEUE = 22 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 20 +BPF_MAP_TYPE_SK_STORAGE = 24 BPF_MAP_TYPE_SOCKHASH = 18 BPF_MAP_TYPE_SOCKMAP = 15 BPF_MAP_TYPE_STACK = 23 @@ -110,6 +120,7 @@ BPF_PROG_TYPE_CGROUP_DEVICE = 15 BPF_PROG_TYPE_CGROUP_SKB = 8 BPF_PROG_TYPE_CGROUP_SOCK = 9 BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 18 +BPF_PROG_TYPE_CGROUP_SYSCTL = 23 BPF_PROG_TYPE_FLOW_DISSECTOR = 22 BPF_PROG_TYPE_KPROBE = 2 BPF_PROG_TYPE_LIRC_MODE2 = 20 @@ -119,6 +130,7 @@ BPF_PROG_TYPE_LWT_SEG6LOCAL = 19 BPF_PROG_TYPE_LWT_XMIT = 12 BPF_PROG_TYPE_PERF_EVENT = 7 BPF_PROG_TYPE_RAW_TRACEPOINT = 17 +BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE = 24 BPF_PROG_TYPE_SCHED_ACT = 4 BPF_PROG_TYPE_SCHED_CLS = 3 BPF_PROG_TYPE_SK_MSG = 16 diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 4d618b00e21..e5858c19f3d 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -1011,7 +1011,7 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_cgroup", FldName: "target_fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "attach_bpf_fd", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}}, {Key: StructKey{Name: "bpf_btf_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_btf_info", TypeSize: 16, ArgDir: 2}, Fields: []Type{ @@ -1042,7 +1042,7 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "bpf_detach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_detach_arg", TypeSize: 20}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "target", TypeSize: 4}}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}}, }}}, @@ -1159,11 +1159,11 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "line_col", TypeSize: 4}}}, }}}, {Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 60}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ksize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vsize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "max", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32}, BitMask: true}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "inner", TypeSize: 4, IsOptional: true}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "node", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "map_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, @@ -1229,7 +1229,7 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "fs_opt[\"mode\", fmt[oct, int32]]"}, FldName: "mode"}, }}}, {Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 112}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, BitSize: 64, Buf: "insns"}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "bpf_instructions"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}}, @@ -1240,7 +1240,7 @@ var structDescs_386 = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}, BitMask: true}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "prog_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_btf", FldName: "btf_fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "func_info_rec_size", TypeSize: 4}}, Val: 8}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "func_info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_func_info"}}}, @@ -28905,6 +28905,11 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "bpf_get_prog_info_arg"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "arg"}, }}, + {NR: 357, Name: "bpf$BPF_MAP_FREEZE", CallName: "bpf", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", TypeSize: 4}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "arg"}, + }}, {NR: 357, Name: "bpf$BPF_MAP_GET_FD_BY_ID", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 14}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "bpf_map_get_fd_by_id_arg"}}}, @@ -43434,11 +43439,15 @@ var consts_386 = []ConstValue{ {Name: "BPF_CGROUP_INET_INGRESS"}, {Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2}, {Name: "BPF_CGROUP_SOCK_OPS", Value: 3}, + {Name: "BPF_CGROUP_SYSCTL", Value: 18}, + {Name: "BPF_CGROUP_UDP4_SENDMSG", Value: 14}, + {Name: "BPF_CGROUP_UDP6_SENDMSG", Value: 15}, {Name: "BPF_DIV0", Value: 3}, {Name: "BPF_DW0", Value: 3}, {Name: "BPF_END0", Value: 13}, {Name: "BPF_EXIST", Value: 2}, {Name: "BPF_EXIT0", Value: 9}, + {Name: "BPF_FLOW_DISSECTOR", Value: 17}, {Name: "BPF_FUNC_INFO_SIZE", Value: 8}, {Name: "BPF_F_ALLOW_MULTI", Value: 2}, {Name: "BPF_F_ALLOW_OVERRIDE", Value: 1}, @@ -43447,9 +43456,12 @@ var consts_386 = []ConstValue{ {Name: "BPF_F_NUMA_NODE", Value: 4}, {Name: "BPF_F_QUERY_EFFECTIVE", Value: 1}, {Name: "BPF_F_RDONLY", Value: 8}, + {Name: "BPF_F_RDONLY_PROG", Value: 128}, {Name: "BPF_F_STACK_BUILD_ID", Value: 32}, {Name: "BPF_F_STRICT_ALIGNMENT", Value: 1}, {Name: "BPF_F_WRONLY", Value: 16}, + {Name: "BPF_F_WRONLY_PROG", Value: 256}, + {Name: "BPF_F_ZERO_SEED", Value: 64}, {Name: "BPF_H0", Value: 1}, {Name: "BPF_IMM0"}, {Name: "BPF_IND0", Value: 2}, @@ -43469,9 +43481,11 @@ var consts_386 = []ConstValue{ {Name: "BPF_LD"}, {Name: "BPF_LDX", Value: 1}, {Name: "BPF_LINE_INFO_SIZE", Value: 16}, + {Name: "BPF_LIRC_MODE2", Value: 16}, {Name: "BPF_LSH0", Value: 6}, {Name: "BPF_MAP_CREATE"}, {Name: "BPF_MAP_DELETE_ELEM", Value: 3}, + {Name: "BPF_MAP_FREEZE", Value: 22}, {Name: "BPF_MAP_GET_FD_BY_ID", Value: 14}, {Name: "BPF_MAP_GET_NEXT_ID", Value: 12}, {Name: "BPF_MAP_GET_NEXT_KEY", Value: 4}, @@ -43495,6 +43509,7 @@ var consts_386 = []ConstValue{ {Name: "BPF_MAP_TYPE_PROG_ARRAY", Value: 3}, {Name: "BPF_MAP_TYPE_QUEUE", Value: 22}, {Name: "BPF_MAP_TYPE_REUSEPORT_SOCKARRAY", Value: 20}, + {Name: "BPF_MAP_TYPE_SK_STORAGE", Value: 24}, {Name: "BPF_MAP_TYPE_SOCKHASH", Value: 18}, {Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15}, {Name: "BPF_MAP_TYPE_STACK", Value: 23}, @@ -43523,6 +43538,7 @@ var consts_386 = []ConstValue{ {Name: "BPF_PROG_TYPE_CGROUP_SKB", Value: 8}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK", Value: 9}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK_ADDR", Value: 18}, + {Name: "BPF_PROG_TYPE_CGROUP_SYSCTL", Value: 23}, {Name: "BPF_PROG_TYPE_FLOW_DISSECTOR", Value: 22}, {Name: "BPF_PROG_TYPE_KPROBE", Value: 2}, {Name: "BPF_PROG_TYPE_LIRC_MODE2", Value: 20}, @@ -43532,6 +43548,7 @@ var consts_386 = []ConstValue{ {Name: "BPF_PROG_TYPE_LWT_XMIT", Value: 12}, {Name: "BPF_PROG_TYPE_PERF_EVENT", Value: 7}, {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT", Value: 17}, + {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE", Value: 24}, {Name: "BPF_PROG_TYPE_SCHED_ACT", Value: 4}, {Name: "BPF_PROG_TYPE_SCHED_CLS", Value: 3}, {Name: "BPF_PROG_TYPE_SK_MSG", Value: 16}, @@ -50824,4 +50841,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "2a310072609dd2e6ae7b07282877fd2cf31ef04b" +const revision_386 = "9a47570fd6dfab9549e7f6c6dc74820b136aa7b2" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 14ffbed2b18..a510ea0f8e6 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -1014,7 +1014,7 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_cgroup", FldName: "target_fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "attach_bpf_fd", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}}, {Key: StructKey{Name: "bpf_btf_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_btf_info", TypeSize: 16, ArgDir: 2}, Fields: []Type{ @@ -1045,7 +1045,7 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "bpf_detach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_detach_arg", TypeSize: 20}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "target", TypeSize: 4}}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}}, }}}, @@ -1162,11 +1162,11 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "line_col", TypeSize: 4}}}, }}}, {Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 60}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ksize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vsize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "max", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32}, BitMask: true}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "inner", TypeSize: 4, IsOptional: true}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "node", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "map_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, @@ -1232,7 +1232,7 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "fs_opt[\"mode\", fmt[oct, int32]]"}, FldName: "mode"}, }}}, {Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 112}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, BitSize: 64, Buf: "insns"}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "bpf_instructions"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}}, @@ -1243,7 +1243,7 @@ var structDescs_amd64 = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}, BitMask: true}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "prog_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_btf", FldName: "btf_fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "func_info_rec_size", TypeSize: 4}}, Val: 8}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "func_info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_func_info"}}}, @@ -29387,6 +29387,11 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_get_prog_info_arg"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "arg"}, }}, + {NR: 321, Name: "bpf$BPF_MAP_FREEZE", CallName: "bpf", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", TypeSize: 4}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "arg"}, + }}, {NR: 321, Name: "bpf$BPF_MAP_GET_FD_BY_ID", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 14}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_map_get_fd_by_id_arg"}}}, @@ -43941,11 +43946,15 @@ var consts_amd64 = []ConstValue{ {Name: "BPF_CGROUP_INET_INGRESS"}, {Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2}, {Name: "BPF_CGROUP_SOCK_OPS", Value: 3}, + {Name: "BPF_CGROUP_SYSCTL", Value: 18}, + {Name: "BPF_CGROUP_UDP4_SENDMSG", Value: 14}, + {Name: "BPF_CGROUP_UDP6_SENDMSG", Value: 15}, {Name: "BPF_DIV0", Value: 3}, {Name: "BPF_DW0", Value: 3}, {Name: "BPF_END0", Value: 13}, {Name: "BPF_EXIST", Value: 2}, {Name: "BPF_EXIT0", Value: 9}, + {Name: "BPF_FLOW_DISSECTOR", Value: 17}, {Name: "BPF_FUNC_INFO_SIZE", Value: 8}, {Name: "BPF_F_ALLOW_MULTI", Value: 2}, {Name: "BPF_F_ALLOW_OVERRIDE", Value: 1}, @@ -43954,9 +43963,12 @@ var consts_amd64 = []ConstValue{ {Name: "BPF_F_NUMA_NODE", Value: 4}, {Name: "BPF_F_QUERY_EFFECTIVE", Value: 1}, {Name: "BPF_F_RDONLY", Value: 8}, + {Name: "BPF_F_RDONLY_PROG", Value: 128}, {Name: "BPF_F_STACK_BUILD_ID", Value: 32}, {Name: "BPF_F_STRICT_ALIGNMENT", Value: 1}, {Name: "BPF_F_WRONLY", Value: 16}, + {Name: "BPF_F_WRONLY_PROG", Value: 256}, + {Name: "BPF_F_ZERO_SEED", Value: 64}, {Name: "BPF_H0", Value: 1}, {Name: "BPF_IMM0"}, {Name: "BPF_IND0", Value: 2}, @@ -43976,9 +43988,11 @@ var consts_amd64 = []ConstValue{ {Name: "BPF_LD"}, {Name: "BPF_LDX", Value: 1}, {Name: "BPF_LINE_INFO_SIZE", Value: 16}, + {Name: "BPF_LIRC_MODE2", Value: 16}, {Name: "BPF_LSH0", Value: 6}, {Name: "BPF_MAP_CREATE"}, {Name: "BPF_MAP_DELETE_ELEM", Value: 3}, + {Name: "BPF_MAP_FREEZE", Value: 22}, {Name: "BPF_MAP_GET_FD_BY_ID", Value: 14}, {Name: "BPF_MAP_GET_NEXT_ID", Value: 12}, {Name: "BPF_MAP_GET_NEXT_KEY", Value: 4}, @@ -44002,6 +44016,7 @@ var consts_amd64 = []ConstValue{ {Name: "BPF_MAP_TYPE_PROG_ARRAY", Value: 3}, {Name: "BPF_MAP_TYPE_QUEUE", Value: 22}, {Name: "BPF_MAP_TYPE_REUSEPORT_SOCKARRAY", Value: 20}, + {Name: "BPF_MAP_TYPE_SK_STORAGE", Value: 24}, {Name: "BPF_MAP_TYPE_SOCKHASH", Value: 18}, {Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15}, {Name: "BPF_MAP_TYPE_STACK", Value: 23}, @@ -44030,6 +44045,7 @@ var consts_amd64 = []ConstValue{ {Name: "BPF_PROG_TYPE_CGROUP_SKB", Value: 8}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK", Value: 9}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK_ADDR", Value: 18}, + {Name: "BPF_PROG_TYPE_CGROUP_SYSCTL", Value: 23}, {Name: "BPF_PROG_TYPE_FLOW_DISSECTOR", Value: 22}, {Name: "BPF_PROG_TYPE_KPROBE", Value: 2}, {Name: "BPF_PROG_TYPE_LIRC_MODE2", Value: 20}, @@ -44039,6 +44055,7 @@ var consts_amd64 = []ConstValue{ {Name: "BPF_PROG_TYPE_LWT_XMIT", Value: 12}, {Name: "BPF_PROG_TYPE_PERF_EVENT", Value: 7}, {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT", Value: 17}, + {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE", Value: 24}, {Name: "BPF_PROG_TYPE_SCHED_ACT", Value: 4}, {Name: "BPF_PROG_TYPE_SCHED_CLS", Value: 3}, {Name: "BPF_PROG_TYPE_SK_MSG", Value: 16}, @@ -51346,4 +51363,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "635705c13150622d9e68e6d8b434fb56ed52289c" +const revision_amd64 = "ff56879f86d1c5d5c21a796f104d98cdda130643" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index c6041203abc..0a3ea7cacd8 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -1009,7 +1009,7 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_cgroup", FldName: "target_fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "attach_bpf_fd", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}}, {Key: StructKey{Name: "bpf_btf_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_btf_info", TypeSize: 16, ArgDir: 2}, Fields: []Type{ @@ -1040,7 +1040,7 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "bpf_detach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_detach_arg", TypeSize: 20}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "target", TypeSize: 4}}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}}, }}}, @@ -1157,11 +1157,11 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "line_col", TypeSize: 4}}}, }}}, {Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 60}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ksize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vsize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "max", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32}, BitMask: true}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "inner", TypeSize: 4, IsOptional: true}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "node", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "map_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, @@ -1227,7 +1227,7 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "fs_opt[\"mode\", fmt[oct, int32]]"}, FldName: "mode"}, }}}, {Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 112}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, BitSize: 64, Buf: "insns"}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "bpf_instructions"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}}, @@ -1238,7 +1238,7 @@ var structDescs_arm = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}, BitMask: true}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "prog_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_btf", FldName: "btf_fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "func_info_rec_size", TypeSize: 4}}, Val: 8}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "func_info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_func_info"}}}, @@ -28725,6 +28725,11 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "bpf_get_prog_info_arg"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "arg"}, }}, + {NR: 386, Name: "bpf$BPF_MAP_FREEZE", CallName: "bpf", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", TypeSize: 4}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "arg"}, + }}, {NR: 386, Name: "bpf$BPF_MAP_GET_FD_BY_ID", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 14}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "bpf_map_get_fd_by_id_arg"}}}, @@ -42990,11 +42995,15 @@ var consts_arm = []ConstValue{ {Name: "BPF_CGROUP_INET_INGRESS"}, {Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2}, {Name: "BPF_CGROUP_SOCK_OPS", Value: 3}, + {Name: "BPF_CGROUP_SYSCTL", Value: 18}, + {Name: "BPF_CGROUP_UDP4_SENDMSG", Value: 14}, + {Name: "BPF_CGROUP_UDP6_SENDMSG", Value: 15}, {Name: "BPF_DIV0", Value: 3}, {Name: "BPF_DW0", Value: 3}, {Name: "BPF_END0", Value: 13}, {Name: "BPF_EXIST", Value: 2}, {Name: "BPF_EXIT0", Value: 9}, + {Name: "BPF_FLOW_DISSECTOR", Value: 17}, {Name: "BPF_FUNC_INFO_SIZE", Value: 8}, {Name: "BPF_F_ALLOW_MULTI", Value: 2}, {Name: "BPF_F_ALLOW_OVERRIDE", Value: 1}, @@ -43003,9 +43012,12 @@ var consts_arm = []ConstValue{ {Name: "BPF_F_NUMA_NODE", Value: 4}, {Name: "BPF_F_QUERY_EFFECTIVE", Value: 1}, {Name: "BPF_F_RDONLY", Value: 8}, + {Name: "BPF_F_RDONLY_PROG", Value: 128}, {Name: "BPF_F_STACK_BUILD_ID", Value: 32}, {Name: "BPF_F_STRICT_ALIGNMENT", Value: 1}, {Name: "BPF_F_WRONLY", Value: 16}, + {Name: "BPF_F_WRONLY_PROG", Value: 256}, + {Name: "BPF_F_ZERO_SEED", Value: 64}, {Name: "BPF_H0", Value: 1}, {Name: "BPF_IMM0"}, {Name: "BPF_IND0", Value: 2}, @@ -43025,9 +43037,11 @@ var consts_arm = []ConstValue{ {Name: "BPF_LD"}, {Name: "BPF_LDX", Value: 1}, {Name: "BPF_LINE_INFO_SIZE", Value: 16}, + {Name: "BPF_LIRC_MODE2", Value: 16}, {Name: "BPF_LSH0", Value: 6}, {Name: "BPF_MAP_CREATE"}, {Name: "BPF_MAP_DELETE_ELEM", Value: 3}, + {Name: "BPF_MAP_FREEZE", Value: 22}, {Name: "BPF_MAP_GET_FD_BY_ID", Value: 14}, {Name: "BPF_MAP_GET_NEXT_ID", Value: 12}, {Name: "BPF_MAP_GET_NEXT_KEY", Value: 4}, @@ -43051,6 +43065,7 @@ var consts_arm = []ConstValue{ {Name: "BPF_MAP_TYPE_PROG_ARRAY", Value: 3}, {Name: "BPF_MAP_TYPE_QUEUE", Value: 22}, {Name: "BPF_MAP_TYPE_REUSEPORT_SOCKARRAY", Value: 20}, + {Name: "BPF_MAP_TYPE_SK_STORAGE", Value: 24}, {Name: "BPF_MAP_TYPE_SOCKHASH", Value: 18}, {Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15}, {Name: "BPF_MAP_TYPE_STACK", Value: 23}, @@ -43079,6 +43094,7 @@ var consts_arm = []ConstValue{ {Name: "BPF_PROG_TYPE_CGROUP_SKB", Value: 8}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK", Value: 9}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK_ADDR", Value: 18}, + {Name: "BPF_PROG_TYPE_CGROUP_SYSCTL", Value: 23}, {Name: "BPF_PROG_TYPE_FLOW_DISSECTOR", Value: 22}, {Name: "BPF_PROG_TYPE_KPROBE", Value: 2}, {Name: "BPF_PROG_TYPE_LIRC_MODE2", Value: 20}, @@ -43088,6 +43104,7 @@ var consts_arm = []ConstValue{ {Name: "BPF_PROG_TYPE_LWT_XMIT", Value: 12}, {Name: "BPF_PROG_TYPE_PERF_EVENT", Value: 7}, {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT", Value: 17}, + {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE", Value: 24}, {Name: "BPF_PROG_TYPE_SCHED_ACT", Value: 4}, {Name: "BPF_PROG_TYPE_SCHED_CLS", Value: 3}, {Name: "BPF_PROG_TYPE_SK_MSG", Value: 16}, @@ -50311,4 +50328,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "a6919059eb94d6f50a1aecf5881e762d1e6d212f" +const revision_arm = "2628a797a6d3c69a653099dc4c76e542511e5dee" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 9d4a36fa29d..e640997e3b6 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -1012,7 +1012,7 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_cgroup", FldName: "target_fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "attach_bpf_fd", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}}, {Key: StructKey{Name: "bpf_btf_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_btf_info", TypeSize: 16, ArgDir: 2}, Fields: []Type{ @@ -1043,7 +1043,7 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "bpf_detach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_detach_arg", TypeSize: 20}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "target", TypeSize: 4}}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}}, }}}, @@ -1160,11 +1160,11 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "line_col", TypeSize: 4}}}, }}}, {Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 60}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ksize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vsize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "max", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32}, BitMask: true}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "inner", TypeSize: 4, IsOptional: true}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "node", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "map_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, @@ -1230,7 +1230,7 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "fs_opt[\"mode\", fmt[oct, int32]]"}, FldName: "mode"}, }}}, {Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 112}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, BitSize: 64, Buf: "insns"}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "bpf_instructions"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}}, @@ -1241,7 +1241,7 @@ var structDescs_arm64 = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}, BitMask: true}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "prog_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_btf", FldName: "btf_fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "func_info_rec_size", TypeSize: 4}}, Val: 8}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "func_info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_func_info"}}}, @@ -29143,6 +29143,11 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_get_prog_info_arg"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "arg"}, }}, + {NR: 280, Name: "bpf$BPF_MAP_FREEZE", CallName: "bpf", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", TypeSize: 4}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "arg"}, + }}, {NR: 280, Name: "bpf$BPF_MAP_GET_FD_BY_ID", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 14}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_map_get_fd_by_id_arg"}}}, @@ -43303,11 +43308,15 @@ var consts_arm64 = []ConstValue{ {Name: "BPF_CGROUP_INET_INGRESS"}, {Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2}, {Name: "BPF_CGROUP_SOCK_OPS", Value: 3}, + {Name: "BPF_CGROUP_SYSCTL", Value: 18}, + {Name: "BPF_CGROUP_UDP4_SENDMSG", Value: 14}, + {Name: "BPF_CGROUP_UDP6_SENDMSG", Value: 15}, {Name: "BPF_DIV0", Value: 3}, {Name: "BPF_DW0", Value: 3}, {Name: "BPF_END0", Value: 13}, {Name: "BPF_EXIST", Value: 2}, {Name: "BPF_EXIT0", Value: 9}, + {Name: "BPF_FLOW_DISSECTOR", Value: 17}, {Name: "BPF_FUNC_INFO_SIZE", Value: 8}, {Name: "BPF_F_ALLOW_MULTI", Value: 2}, {Name: "BPF_F_ALLOW_OVERRIDE", Value: 1}, @@ -43316,9 +43325,12 @@ var consts_arm64 = []ConstValue{ {Name: "BPF_F_NUMA_NODE", Value: 4}, {Name: "BPF_F_QUERY_EFFECTIVE", Value: 1}, {Name: "BPF_F_RDONLY", Value: 8}, + {Name: "BPF_F_RDONLY_PROG", Value: 128}, {Name: "BPF_F_STACK_BUILD_ID", Value: 32}, {Name: "BPF_F_STRICT_ALIGNMENT", Value: 1}, {Name: "BPF_F_WRONLY", Value: 16}, + {Name: "BPF_F_WRONLY_PROG", Value: 256}, + {Name: "BPF_F_ZERO_SEED", Value: 64}, {Name: "BPF_H0", Value: 1}, {Name: "BPF_IMM0"}, {Name: "BPF_IND0", Value: 2}, @@ -43338,9 +43350,11 @@ var consts_arm64 = []ConstValue{ {Name: "BPF_LD"}, {Name: "BPF_LDX", Value: 1}, {Name: "BPF_LINE_INFO_SIZE", Value: 16}, + {Name: "BPF_LIRC_MODE2", Value: 16}, {Name: "BPF_LSH0", Value: 6}, {Name: "BPF_MAP_CREATE"}, {Name: "BPF_MAP_DELETE_ELEM", Value: 3}, + {Name: "BPF_MAP_FREEZE", Value: 22}, {Name: "BPF_MAP_GET_FD_BY_ID", Value: 14}, {Name: "BPF_MAP_GET_NEXT_ID", Value: 12}, {Name: "BPF_MAP_GET_NEXT_KEY", Value: 4}, @@ -43364,6 +43378,7 @@ var consts_arm64 = []ConstValue{ {Name: "BPF_MAP_TYPE_PROG_ARRAY", Value: 3}, {Name: "BPF_MAP_TYPE_QUEUE", Value: 22}, {Name: "BPF_MAP_TYPE_REUSEPORT_SOCKARRAY", Value: 20}, + {Name: "BPF_MAP_TYPE_SK_STORAGE", Value: 24}, {Name: "BPF_MAP_TYPE_SOCKHASH", Value: 18}, {Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15}, {Name: "BPF_MAP_TYPE_STACK", Value: 23}, @@ -43392,6 +43407,7 @@ var consts_arm64 = []ConstValue{ {Name: "BPF_PROG_TYPE_CGROUP_SKB", Value: 8}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK", Value: 9}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK_ADDR", Value: 18}, + {Name: "BPF_PROG_TYPE_CGROUP_SYSCTL", Value: 23}, {Name: "BPF_PROG_TYPE_FLOW_DISSECTOR", Value: 22}, {Name: "BPF_PROG_TYPE_KPROBE", Value: 2}, {Name: "BPF_PROG_TYPE_LIRC_MODE2", Value: 20}, @@ -43401,6 +43417,7 @@ var consts_arm64 = []ConstValue{ {Name: "BPF_PROG_TYPE_LWT_XMIT", Value: 12}, {Name: "BPF_PROG_TYPE_PERF_EVENT", Value: 7}, {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT", Value: 17}, + {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE", Value: 24}, {Name: "BPF_PROG_TYPE_SCHED_ACT", Value: 4}, {Name: "BPF_PROG_TYPE_SCHED_CLS", Value: 3}, {Name: "BPF_PROG_TYPE_SK_MSG", Value: 16}, @@ -50606,4 +50623,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "f2c20c26aaf4c83bed7b550a26dcc203defc6d67" +const revision_arm64 = "3874dd98d514bea344673e0dbe4e9fd0cdfd1cd7" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 8f8a701b11f..440ffb107c0 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -1011,7 +1011,7 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_cgroup", FldName: "target_fd", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "attach_bpf_fd", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, }}}, {Key: StructKey{Name: "bpf_btf_info", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_btf_info", TypeSize: 16, ArgDir: 2}, Fields: []Type{ @@ -1042,7 +1042,7 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "bpf_detach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_detach_arg", TypeSize: 20}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "target", TypeSize: 4}}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}}, }}}, @@ -1159,11 +1159,11 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "line_col", TypeSize: 4}}}, }}}, {Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 60}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_map_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 7, 8, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ksize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vsize", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "max", TypeSize: 4}}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32}, BitMask: true}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "map_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256}, BitMask: true}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "inner", TypeSize: 4, IsOptional: true}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "node", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "map_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, @@ -1229,7 +1229,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "fs_opt[\"mode\", fmt[oct, int32]]"}, FldName: "mode"}, }}}, {Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 112}, Fields: []Type{ - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, BitSize: 64, Buf: "insns"}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "bpf_instructions"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", IsVarlen: true}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}}, @@ -1240,7 +1240,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}, BitMask: true}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "prog_name", TypeSize: 16}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}}, - &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_type", FldName: "expected_attach_type", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_btf", FldName: "btf_fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "func_info_rec_size", TypeSize: 4}}, Val: 8}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "func_info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_func_info"}}}, @@ -29041,6 +29041,11 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_get_prog_info_arg"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "arg"}, }}, + {NR: 361, Name: "bpf$BPF_MAP_FREEZE", CallName: "bpf", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", TypeSize: 4}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "arg"}, + }}, {NR: 361, Name: "bpf$BPF_MAP_GET_FD_BY_ID", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 14}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_map_get_fd_by_id_arg"}}}, @@ -43297,11 +43302,15 @@ var consts_ppc64le = []ConstValue{ {Name: "BPF_CGROUP_INET_INGRESS"}, {Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2}, {Name: "BPF_CGROUP_SOCK_OPS", Value: 3}, + {Name: "BPF_CGROUP_SYSCTL", Value: 18}, + {Name: "BPF_CGROUP_UDP4_SENDMSG", Value: 14}, + {Name: "BPF_CGROUP_UDP6_SENDMSG", Value: 15}, {Name: "BPF_DIV0", Value: 3}, {Name: "BPF_DW0", Value: 3}, {Name: "BPF_END0", Value: 13}, {Name: "BPF_EXIST", Value: 2}, {Name: "BPF_EXIT0", Value: 9}, + {Name: "BPF_FLOW_DISSECTOR", Value: 17}, {Name: "BPF_FUNC_INFO_SIZE", Value: 8}, {Name: "BPF_F_ALLOW_MULTI", Value: 2}, {Name: "BPF_F_ALLOW_OVERRIDE", Value: 1}, @@ -43310,9 +43319,12 @@ var consts_ppc64le = []ConstValue{ {Name: "BPF_F_NUMA_NODE", Value: 4}, {Name: "BPF_F_QUERY_EFFECTIVE", Value: 1}, {Name: "BPF_F_RDONLY", Value: 8}, + {Name: "BPF_F_RDONLY_PROG", Value: 128}, {Name: "BPF_F_STACK_BUILD_ID", Value: 32}, {Name: "BPF_F_STRICT_ALIGNMENT", Value: 1}, {Name: "BPF_F_WRONLY", Value: 16}, + {Name: "BPF_F_WRONLY_PROG", Value: 256}, + {Name: "BPF_F_ZERO_SEED", Value: 64}, {Name: "BPF_H0", Value: 1}, {Name: "BPF_IMM0"}, {Name: "BPF_IND0", Value: 2}, @@ -43332,9 +43344,11 @@ var consts_ppc64le = []ConstValue{ {Name: "BPF_LD"}, {Name: "BPF_LDX", Value: 1}, {Name: "BPF_LINE_INFO_SIZE", Value: 16}, + {Name: "BPF_LIRC_MODE2", Value: 16}, {Name: "BPF_LSH0", Value: 6}, {Name: "BPF_MAP_CREATE"}, {Name: "BPF_MAP_DELETE_ELEM", Value: 3}, + {Name: "BPF_MAP_FREEZE", Value: 22}, {Name: "BPF_MAP_GET_FD_BY_ID", Value: 14}, {Name: "BPF_MAP_GET_NEXT_ID", Value: 12}, {Name: "BPF_MAP_GET_NEXT_KEY", Value: 4}, @@ -43358,6 +43372,7 @@ var consts_ppc64le = []ConstValue{ {Name: "BPF_MAP_TYPE_PROG_ARRAY", Value: 3}, {Name: "BPF_MAP_TYPE_QUEUE", Value: 22}, {Name: "BPF_MAP_TYPE_REUSEPORT_SOCKARRAY", Value: 20}, + {Name: "BPF_MAP_TYPE_SK_STORAGE", Value: 24}, {Name: "BPF_MAP_TYPE_SOCKHASH", Value: 18}, {Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15}, {Name: "BPF_MAP_TYPE_STACK", Value: 23}, @@ -43386,6 +43401,7 @@ var consts_ppc64le = []ConstValue{ {Name: "BPF_PROG_TYPE_CGROUP_SKB", Value: 8}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK", Value: 9}, {Name: "BPF_PROG_TYPE_CGROUP_SOCK_ADDR", Value: 18}, + {Name: "BPF_PROG_TYPE_CGROUP_SYSCTL", Value: 23}, {Name: "BPF_PROG_TYPE_FLOW_DISSECTOR", Value: 22}, {Name: "BPF_PROG_TYPE_KPROBE", Value: 2}, {Name: "BPF_PROG_TYPE_LIRC_MODE2", Value: 20}, @@ -43395,6 +43411,7 @@ var consts_ppc64le = []ConstValue{ {Name: "BPF_PROG_TYPE_LWT_XMIT", Value: 12}, {Name: "BPF_PROG_TYPE_PERF_EVENT", Value: 7}, {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT", Value: 17}, + {Name: "BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE", Value: 24}, {Name: "BPF_PROG_TYPE_SCHED_ACT", Value: 4}, {Name: "BPF_PROG_TYPE_SCHED_CLS", Value: 3}, {Name: "BPF_PROG_TYPE_SK_MSG", Value: 16}, @@ -50573,4 +50590,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "0b321c9de8c65a001f28b71c84c8780f9d4713a9" +const revision_ppc64le = "84345e4c9ab2df204d5e2216e1ee380880b1e68c"