aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-12-29 17:24:21 +0100
committerDmitry Vyukov <dvyukov@google.com>2017-12-29 17:24:21 +0100
commitc25d74ee514fe00f228a0cc7c158cf2906329ea8 (patch)
tree033d67f675e37552a06ad0b3a63a42cdf3e8a173 /sys/linux
parentb888d0cf5c4db046eef7d5c259b41d7f0719ecfc (diff)
sys/linux: improve bpf descriptions
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/386.go160
-rw-r--r--sys/linux/amd64.go160
-rw-r--r--sys/linux/arm.go160
-rw-r--r--sys/linux/arm64.go160
-rw-r--r--sys/linux/bpf.txt175
-rw-r--r--sys/linux/bpf_386.const59
-rw-r--r--sys/linux/bpf_amd64.const59
-rw-r--r--sys/linux/bpf_arm.const59
-rw-r--r--sys/linux/bpf_arm64.const59
-rw-r--r--sys/linux/bpf_ppc64le.const59
-rw-r--r--sys/linux/ppc64le.go160
11 files changed, 1173 insertions, 97 deletions
diff --git a/sys/linux/386.go b/sys/linux/386.go
index 69c0784b5..55792fe23 100644
--- a/sys/linux/386.go
+++ b/sys/linux/386.go
@@ -366,12 +366,11 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "cnum", TypeSize: 4}}, Buf: "ci"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ci", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}, Type: &StructType{Key: StructKey{Name: "bnep_conninfo", Dir: 1}}}},
}}},
- {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 20}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "target", TypeSize: 4}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
+ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", 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}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog2", TypeSize: 4}},
}}},
{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}}},
@@ -380,6 +379,11 @@ var structDescs_386 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}},
}}},
+ {Key: StructKey{Name: "bpf_framed_program"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_framed_program"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "body"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ }}},
{Key: StructKey{Name: "bpf_get_map_info_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_get_map_info_arg", TypeSize: 16}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "prog", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
@@ -390,21 +394,86 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_prog_info", Dir: 1}}},
}}},
- {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 8}, Fields: []Type{
+ {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 16}, Fields: []Type{
&StructType{Key: StructKey{Name: "bpf_insn_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "bpf_insn_ldst"}, FldName: "ldst"},
+ &StructType{Key: StructKey{Name: "bpf_insn_alu"}, FldName: "alu"},
+ &StructType{Key: StructKey{Name: "bpf_insn_jmp"}, FldName: "jmp"},
+ &StructType{Key: StructKey{Name: "bpf_insn_call"}, FldName: "call"},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
&StructType{Key: StructKey{Name: "bpf_insn_map"}, FldName: "map"},
}}},
+ {Key: StructKey{Name: "bpf_insn_alu"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_alu", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{4, 7}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_call"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_call", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 58},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm", TypeSize: 4}}},
+ }}},
{Key: StructKey{Name: "bpf_insn_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_generic", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
}}},
- {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 8}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
+ {Key: StructKey{Name: "bpf_insn_init_r0"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_init_r0", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_jmp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_jmp", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Val: 5},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_jmp_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_ldst"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_ldst", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_size", FldName: "code_size", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_mode", FldName: "code_mode", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 3}, Vals: []uint64{0, 1, 2, 3, 6}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "imm", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_instructions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_instructions"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_framed_program"}, FldName: "framed"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "raw"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
}}},
{Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 44}, 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}},
@@ -469,16 +538,16 @@ var structDescs_386 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 72}, 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}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "ninsn", TypeSize: 4}}, Buf: "insns"},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string"}, Kind: 2}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, ByteSize: 8, 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"}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "loglev", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "logsize", TypeSize: 4}}, Buf: "log"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "log", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "kver", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_kern_version", FldName: "kern_version", TypeSize: 4}}, Vals: []uint64{265984, 266240, 266496}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}},
&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}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
}}},
{Key: StructKey{Name: "bpf_prog_info", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog_info", TypeSize: 80, ArgDir: 1}, Fields: []Type{
@@ -506,7 +575,7 @@ var structDescs_386 = []*KeyedStruct{
}, AlignAttr: 8}},
{Key: StructKey{Name: "bpf_test_prog_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_test_prog_arg", TypeSize: 40}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "retval", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "retval", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "insize", TypeSize: 4}}, Buf: "indata"},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "outsize", TypeSize: 4}}, Buf: "outdata"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "indata", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array"}}},
@@ -14078,13 +14147,25 @@ var consts_386 = []ConstValue{
{Name: "BNEPGETCONNINFO", Value: 2147762899},
{Name: "BNEPGETCONNLIST", Value: 2147762898},
{Name: "BNEPGETSUPPFEAT", Value: 2147762900},
+ {Name: "BPF_ABS0", Value: 1},
+ {Name: "BPF_ADD0"},
+ {Name: "BPF_ALU", Value: 4},
+ {Name: "BPF_ALU64", Value: 7},
+ {Name: "BPF_AND0", Value: 5},
{Name: "BPF_ANY"},
+ {Name: "BPF_ARSH0", Value: 12},
+ {Name: "BPF_B0", Value: 2},
+ {Name: "BPF_CALL0", Value: 8},
{Name: "BPF_CGROUP_DEVICE", Value: 6},
{Name: "BPF_CGROUP_INET_EGRESS", Value: 1},
{Name: "BPF_CGROUP_INET_INGRESS"},
{Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2},
{Name: "BPF_CGROUP_SOCK_OPS", Value: 3},
+ {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_F_ALLOW_MULTI", Value: 2},
{Name: "BPF_F_ALLOW_OVERRIDE", Value: 1},
{Name: "BPF_F_NO_COMMON_LRU", Value: 2},
@@ -14094,6 +14175,25 @@ var consts_386 = []ConstValue{
{Name: "BPF_F_RDONLY", Value: 8},
{Name: "BPF_F_STRICT_ALIGNMENT", Value: 1},
{Name: "BPF_F_WRONLY", Value: 16},
+ {Name: "BPF_H0", Value: 1},
+ {Name: "BPF_IMM0"},
+ {Name: "BPF_IND0", Value: 2},
+ {Name: "BPF_JA0"},
+ {Name: "BPF_JEQ0", Value: 1},
+ {Name: "BPF_JGE0", Value: 3},
+ {Name: "BPF_JGT0", Value: 2},
+ {Name: "BPF_JLE0", Value: 11},
+ {Name: "BPF_JLT0", Value: 10},
+ {Name: "BPF_JMP", Value: 5},
+ {Name: "BPF_JNE0", Value: 5},
+ {Name: "BPF_JSET0", Value: 4},
+ {Name: "BPF_JSGE0", Value: 7},
+ {Name: "BPF_JSGT0", Value: 6},
+ {Name: "BPF_JSLE0", Value: 13},
+ {Name: "BPF_JSLT0", Value: 12},
+ {Name: "BPF_LD"},
+ {Name: "BPF_LDX", Value: 1},
+ {Name: "BPF_LSH0", Value: 6},
{Name: "BPF_MAP_CREATE"},
{Name: "BPF_MAP_DELETE_ELEM", Value: 3},
{Name: "BPF_MAP_GET_FD_BY_ID", Value: 14},
@@ -14117,11 +14217,17 @@ var consts_386 = []ConstValue{
{Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15},
{Name: "BPF_MAP_TYPE_STACK_TRACE", Value: 7},
{Name: "BPF_MAP_UPDATE_ELEM", Value: 2},
+ {Name: "BPF_MEM0", Value: 3},
+ {Name: "BPF_MOD0", Value: 9},
+ {Name: "BPF_MOV0", Value: 11},
+ {Name: "BPF_MUL0", Value: 2},
+ {Name: "BPF_NEG0", Value: 8},
{Name: "BPF_NOEXIST", Value: 1},
{Name: "BPF_OBJ_GET", Value: 7},
{Name: "BPF_OBJ_GET_INFO_BY_FD", Value: 15},
{Name: "BPF_OBJ_NAME_LEN", Value: 16},
{Name: "BPF_OBJ_PIN", Value: 6},
+ {Name: "BPF_OR0", Value: 4},
{Name: "BPF_PROG_ATTACH", Value: 8},
{Name: "BPF_PROG_DETACH", Value: 9},
{Name: "BPF_PROG_GET_FD_BY_ID", Value: 13},
@@ -14145,8 +14251,26 @@ var consts_386 = []ConstValue{
{Name: "BPF_PROG_TYPE_TRACEPOINT", Value: 5},
{Name: "BPF_PROG_TYPE_XDP", Value: 6},
{Name: "BPF_PSEUDO_MAP_FD", Value: 1},
+ {Name: "BPF_REG_0"},
+ {Name: "BPF_REG_1", Value: 1},
+ {Name: "BPF_REG_10", Value: 10},
+ {Name: "BPF_REG_2", Value: 2},
+ {Name: "BPF_REG_3", Value: 3},
+ {Name: "BPF_REG_4", Value: 4},
+ {Name: "BPF_REG_5", Value: 5},
+ {Name: "BPF_REG_6", Value: 6},
+ {Name: "BPF_REG_7", Value: 7},
+ {Name: "BPF_REG_8", Value: 8},
+ {Name: "BPF_REG_9", Value: 9},
+ {Name: "BPF_RSH0", Value: 7},
{Name: "BPF_SK_SKB_STREAM_PARSER", Value: 4},
{Name: "BPF_SK_SKB_STREAM_VERDICT", Value: 5},
+ {Name: "BPF_ST", Value: 2},
+ {Name: "BPF_STX", Value: 3},
+ {Name: "BPF_SUB0", Value: 1},
+ {Name: "BPF_W0"},
+ {Name: "BPF_XADD0", Value: 6},
+ {Name: "BPF_XOR0", Value: 10},
{Name: "BRCTL_ADD_BRIDGE", Value: 2},
{Name: "BRCTL_DEL_BRIDGE", Value: 3},
{Name: "BRCTL_GET_BRIDGES", Value: 1},
@@ -16746,6 +16870,7 @@ var consts_386 = []ConstValue{
{Name: "_DRM_VBLANK_SECONDARY", Value: 536870912},
{Name: "_DRM_VBLANK_SIGNAL", Value: 1073741824},
{Name: "_DRM_WRITE_COMBINING", Value: 16},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 58},
{Name: "__NR_accept4", Value: 364},
{Name: "__NR_acct", Value: 51},
{Name: "__NR_add_key", Value: 286},
@@ -17033,6 +17158,9 @@ var consts_386 = []ConstValue{
{Name: "__WALL", Value: 1073741824},
{Name: "__WCLONE", Value: 2147483648},
{Name: "__WNOTHREAD", Value: 536870912},
+ {Name: "bpf_call_code", Value: 133},
+ {Name: "bpf_exit_code", Value: 149},
+ {Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "48f2821861160b3e84539ceaee5f047a51eec644"
+const revision_386 = "3d3bad2b255454a8764b6f9d46f8b50bf481141f"
diff --git a/sys/linux/amd64.go b/sys/linux/amd64.go
index c5a119a41..62ab92515 100644
--- a/sys/linux/amd64.go
+++ b/sys/linux/amd64.go
@@ -375,12 +375,11 @@ var structDescs_amd64 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ci", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}, Type: &StructType{Key: StructKey{Name: "bnep_conninfo", Dir: 1}}}},
}}},
- {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 20}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "target", TypeSize: 4}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
+ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", 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}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog2", TypeSize: 4}},
}}},
{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}}},
@@ -389,6 +388,11 @@ var structDescs_amd64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}},
}}},
+ {Key: StructKey{Name: "bpf_framed_program"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_framed_program"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "body"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ }}},
{Key: StructKey{Name: "bpf_get_map_info_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_get_map_info_arg", TypeSize: 16}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "prog", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
@@ -399,21 +403,86 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_prog_info", Dir: 1}}},
}}},
- {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 8}, Fields: []Type{
+ {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 16}, Fields: []Type{
&StructType{Key: StructKey{Name: "bpf_insn_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "bpf_insn_ldst"}, FldName: "ldst"},
+ &StructType{Key: StructKey{Name: "bpf_insn_alu"}, FldName: "alu"},
+ &StructType{Key: StructKey{Name: "bpf_insn_jmp"}, FldName: "jmp"},
+ &StructType{Key: StructKey{Name: "bpf_insn_call"}, FldName: "call"},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
&StructType{Key: StructKey{Name: "bpf_insn_map"}, FldName: "map"},
}}},
+ {Key: StructKey{Name: "bpf_insn_alu"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_alu", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{4, 7}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_call"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_call", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 58},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm", TypeSize: 4}}},
+ }}},
{Key: StructKey{Name: "bpf_insn_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_generic", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
}}},
- {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 8}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
+ {Key: StructKey{Name: "bpf_insn_init_r0"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_init_r0", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_jmp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_jmp", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Val: 5},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_jmp_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_ldst"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_ldst", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_size", FldName: "code_size", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_mode", FldName: "code_mode", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 3}, Vals: []uint64{0, 1, 2, 3, 6}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "imm", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_instructions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_instructions"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_framed_program"}, FldName: "framed"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "raw"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
}}},
{Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 44}, 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}},
@@ -478,16 +547,16 @@ var structDescs_amd64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 72}, 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}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "ninsn", TypeSize: 4}}, Buf: "insns"},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string"}, Kind: 2}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, ByteSize: 8, 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"}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "loglev", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "logsize", TypeSize: 4}}, Buf: "log"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "log", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "kver", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_kern_version", FldName: "kern_version", TypeSize: 4}}, Vals: []uint64{265984, 266240, 266496}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}},
&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}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
}}},
{Key: StructKey{Name: "bpf_prog_info", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog_info", TypeSize: 80, ArgDir: 1}, Fields: []Type{
@@ -515,7 +584,7 @@ var structDescs_amd64 = []*KeyedStruct{
}, AlignAttr: 8}},
{Key: StructKey{Name: "bpf_test_prog_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_test_prog_arg", TypeSize: 40}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "retval", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "retval", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "insize", TypeSize: 4}}, Buf: "indata"},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "outsize", TypeSize: 4}}, Buf: "outdata"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "indata", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array"}}},
@@ -14573,13 +14642,25 @@ var consts_amd64 = []ConstValue{
{Name: "BNEPGETCONNINFO", Value: 2147762899},
{Name: "BNEPGETCONNLIST", Value: 2147762898},
{Name: "BNEPGETSUPPFEAT", Value: 2147762900},
+ {Name: "BPF_ABS0", Value: 1},
+ {Name: "BPF_ADD0"},
+ {Name: "BPF_ALU", Value: 4},
+ {Name: "BPF_ALU64", Value: 7},
+ {Name: "BPF_AND0", Value: 5},
{Name: "BPF_ANY"},
+ {Name: "BPF_ARSH0", Value: 12},
+ {Name: "BPF_B0", Value: 2},
+ {Name: "BPF_CALL0", Value: 8},
{Name: "BPF_CGROUP_DEVICE", Value: 6},
{Name: "BPF_CGROUP_INET_EGRESS", Value: 1},
{Name: "BPF_CGROUP_INET_INGRESS"},
{Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2},
{Name: "BPF_CGROUP_SOCK_OPS", Value: 3},
+ {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_F_ALLOW_MULTI", Value: 2},
{Name: "BPF_F_ALLOW_OVERRIDE", Value: 1},
{Name: "BPF_F_NO_COMMON_LRU", Value: 2},
@@ -14589,6 +14670,25 @@ var consts_amd64 = []ConstValue{
{Name: "BPF_F_RDONLY", Value: 8},
{Name: "BPF_F_STRICT_ALIGNMENT", Value: 1},
{Name: "BPF_F_WRONLY", Value: 16},
+ {Name: "BPF_H0", Value: 1},
+ {Name: "BPF_IMM0"},
+ {Name: "BPF_IND0", Value: 2},
+ {Name: "BPF_JA0"},
+ {Name: "BPF_JEQ0", Value: 1},
+ {Name: "BPF_JGE0", Value: 3},
+ {Name: "BPF_JGT0", Value: 2},
+ {Name: "BPF_JLE0", Value: 11},
+ {Name: "BPF_JLT0", Value: 10},
+ {Name: "BPF_JMP", Value: 5},
+ {Name: "BPF_JNE0", Value: 5},
+ {Name: "BPF_JSET0", Value: 4},
+ {Name: "BPF_JSGE0", Value: 7},
+ {Name: "BPF_JSGT0", Value: 6},
+ {Name: "BPF_JSLE0", Value: 13},
+ {Name: "BPF_JSLT0", Value: 12},
+ {Name: "BPF_LD"},
+ {Name: "BPF_LDX", Value: 1},
+ {Name: "BPF_LSH0", Value: 6},
{Name: "BPF_MAP_CREATE"},
{Name: "BPF_MAP_DELETE_ELEM", Value: 3},
{Name: "BPF_MAP_GET_FD_BY_ID", Value: 14},
@@ -14612,11 +14712,17 @@ var consts_amd64 = []ConstValue{
{Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15},
{Name: "BPF_MAP_TYPE_STACK_TRACE", Value: 7},
{Name: "BPF_MAP_UPDATE_ELEM", Value: 2},
+ {Name: "BPF_MEM0", Value: 3},
+ {Name: "BPF_MOD0", Value: 9},
+ {Name: "BPF_MOV0", Value: 11},
+ {Name: "BPF_MUL0", Value: 2},
+ {Name: "BPF_NEG0", Value: 8},
{Name: "BPF_NOEXIST", Value: 1},
{Name: "BPF_OBJ_GET", Value: 7},
{Name: "BPF_OBJ_GET_INFO_BY_FD", Value: 15},
{Name: "BPF_OBJ_NAME_LEN", Value: 16},
{Name: "BPF_OBJ_PIN", Value: 6},
+ {Name: "BPF_OR0", Value: 4},
{Name: "BPF_PROG_ATTACH", Value: 8},
{Name: "BPF_PROG_DETACH", Value: 9},
{Name: "BPF_PROG_GET_FD_BY_ID", Value: 13},
@@ -14640,8 +14746,26 @@ var consts_amd64 = []ConstValue{
{Name: "BPF_PROG_TYPE_TRACEPOINT", Value: 5},
{Name: "BPF_PROG_TYPE_XDP", Value: 6},
{Name: "BPF_PSEUDO_MAP_FD", Value: 1},
+ {Name: "BPF_REG_0"},
+ {Name: "BPF_REG_1", Value: 1},
+ {Name: "BPF_REG_10", Value: 10},
+ {Name: "BPF_REG_2", Value: 2},
+ {Name: "BPF_REG_3", Value: 3},
+ {Name: "BPF_REG_4", Value: 4},
+ {Name: "BPF_REG_5", Value: 5},
+ {Name: "BPF_REG_6", Value: 6},
+ {Name: "BPF_REG_7", Value: 7},
+ {Name: "BPF_REG_8", Value: 8},
+ {Name: "BPF_REG_9", Value: 9},
+ {Name: "BPF_RSH0", Value: 7},
{Name: "BPF_SK_SKB_STREAM_PARSER", Value: 4},
{Name: "BPF_SK_SKB_STREAM_VERDICT", Value: 5},
+ {Name: "BPF_ST", Value: 2},
+ {Name: "BPF_STX", Value: 3},
+ {Name: "BPF_SUB0", Value: 1},
+ {Name: "BPF_W0"},
+ {Name: "BPF_XADD0", Value: 6},
+ {Name: "BPF_XOR0", Value: 10},
{Name: "BRCTL_ADD_BRIDGE", Value: 2},
{Name: "BRCTL_DEL_BRIDGE", Value: 3},
{Name: "BRCTL_GET_BRIDGES", Value: 1},
@@ -17262,6 +17386,7 @@ var consts_amd64 = []ConstValue{
{Name: "_DRM_VBLANK_SECONDARY", Value: 536870912},
{Name: "_DRM_VBLANK_SIGNAL", Value: 1073741824},
{Name: "_DRM_WRITE_COMBINING", Value: 16},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 58},
{Name: "__NR_accept", Value: 43},
{Name: "__NR_accept4", Value: 288},
{Name: "__NR_acct", Value: 163},
@@ -17560,6 +17685,9 @@ var consts_amd64 = []ConstValue{
{Name: "__WALL", Value: 1073741824},
{Name: "__WCLONE", Value: 2147483648},
{Name: "__WNOTHREAD", Value: 536870912},
+ {Name: "bpf_call_code", Value: 133},
+ {Name: "bpf_exit_code", Value: 149},
+ {Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "ebc3a29c7a5176330e23c3fd866a55abb9402f21"
+const revision_amd64 = "4466758fabaf0b60e33956aa3f05f1cb8385d132"
diff --git a/sys/linux/arm.go b/sys/linux/arm.go
index f930d3bb9..17170d5c5 100644
--- a/sys/linux/arm.go
+++ b/sys/linux/arm.go
@@ -371,12 +371,11 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "cnum", TypeSize: 4}}, Buf: "ci"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ci", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}, Type: &StructType{Key: StructKey{Name: "bnep_conninfo", Dir: 1}}}},
}}},
- {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 20}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "target", TypeSize: 4}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
+ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", 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}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog2", TypeSize: 4}},
}}},
{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}}},
@@ -385,6 +384,11 @@ var structDescs_arm = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}},
}}},
+ {Key: StructKey{Name: "bpf_framed_program"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_framed_program"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "body"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ }}},
{Key: StructKey{Name: "bpf_get_map_info_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_get_map_info_arg", TypeSize: 16}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "prog", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
@@ -395,21 +399,86 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_prog_info", Dir: 1}}},
}}},
- {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 8}, Fields: []Type{
+ {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 16}, Fields: []Type{
&StructType{Key: StructKey{Name: "bpf_insn_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "bpf_insn_ldst"}, FldName: "ldst"},
+ &StructType{Key: StructKey{Name: "bpf_insn_alu"}, FldName: "alu"},
+ &StructType{Key: StructKey{Name: "bpf_insn_jmp"}, FldName: "jmp"},
+ &StructType{Key: StructKey{Name: "bpf_insn_call"}, FldName: "call"},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
&StructType{Key: StructKey{Name: "bpf_insn_map"}, FldName: "map"},
}}},
+ {Key: StructKey{Name: "bpf_insn_alu"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_alu", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{4, 7}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_call"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_call", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 58},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm", TypeSize: 4}}},
+ }}},
{Key: StructKey{Name: "bpf_insn_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_generic", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
}}},
- {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 8}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
+ {Key: StructKey{Name: "bpf_insn_init_r0"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_init_r0", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_jmp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_jmp", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Val: 5},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_jmp_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_ldst"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_ldst", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_size", FldName: "code_size", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_mode", FldName: "code_mode", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 3}, Vals: []uint64{0, 1, 2, 3, 6}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "imm", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_instructions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_instructions"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_framed_program"}, FldName: "framed"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "raw"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
}}},
{Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 44}, 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}},
@@ -474,16 +543,16 @@ var structDescs_arm = []*KeyedStruct{
}}},
{Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 72}, 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}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "ninsn", TypeSize: 4}}, Buf: "insns"},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string"}, Kind: 2}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, ByteSize: 8, 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"}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "loglev", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "logsize", TypeSize: 4}}, Buf: "log"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "log", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "kver", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_kern_version", FldName: "kern_version", TypeSize: 4}}, Vals: []uint64{265984, 266240, 266496}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}},
&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}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
}}},
{Key: StructKey{Name: "bpf_prog_info", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog_info", TypeSize: 80, ArgDir: 1}, Fields: []Type{
@@ -511,7 +580,7 @@ var structDescs_arm = []*KeyedStruct{
}, AlignAttr: 8}},
{Key: StructKey{Name: "bpf_test_prog_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_test_prog_arg", TypeSize: 40}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "retval", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "retval", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "insize", TypeSize: 4}}, Buf: "indata"},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "outsize", TypeSize: 4}}, Buf: "outdata"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "indata", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array"}}},
@@ -13995,13 +14064,25 @@ var consts_arm = []ConstValue{
{Name: "BNEPGETCONNINFO", Value: 2147762899},
{Name: "BNEPGETCONNLIST", Value: 2147762898},
{Name: "BNEPGETSUPPFEAT", Value: 2147762900},
+ {Name: "BPF_ABS0", Value: 1},
+ {Name: "BPF_ADD0"},
+ {Name: "BPF_ALU", Value: 4},
+ {Name: "BPF_ALU64", Value: 7},
+ {Name: "BPF_AND0", Value: 5},
{Name: "BPF_ANY"},
+ {Name: "BPF_ARSH0", Value: 12},
+ {Name: "BPF_B0", Value: 2},
+ {Name: "BPF_CALL0", Value: 8},
{Name: "BPF_CGROUP_DEVICE", Value: 6},
{Name: "BPF_CGROUP_INET_EGRESS", Value: 1},
{Name: "BPF_CGROUP_INET_INGRESS"},
{Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2},
{Name: "BPF_CGROUP_SOCK_OPS", Value: 3},
+ {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_F_ALLOW_MULTI", Value: 2},
{Name: "BPF_F_ALLOW_OVERRIDE", Value: 1},
{Name: "BPF_F_NO_COMMON_LRU", Value: 2},
@@ -14011,6 +14092,25 @@ var consts_arm = []ConstValue{
{Name: "BPF_F_RDONLY", Value: 8},
{Name: "BPF_F_STRICT_ALIGNMENT", Value: 1},
{Name: "BPF_F_WRONLY", Value: 16},
+ {Name: "BPF_H0", Value: 1},
+ {Name: "BPF_IMM0"},
+ {Name: "BPF_IND0", Value: 2},
+ {Name: "BPF_JA0"},
+ {Name: "BPF_JEQ0", Value: 1},
+ {Name: "BPF_JGE0", Value: 3},
+ {Name: "BPF_JGT0", Value: 2},
+ {Name: "BPF_JLE0", Value: 11},
+ {Name: "BPF_JLT0", Value: 10},
+ {Name: "BPF_JMP", Value: 5},
+ {Name: "BPF_JNE0", Value: 5},
+ {Name: "BPF_JSET0", Value: 4},
+ {Name: "BPF_JSGE0", Value: 7},
+ {Name: "BPF_JSGT0", Value: 6},
+ {Name: "BPF_JSLE0", Value: 13},
+ {Name: "BPF_JSLT0", Value: 12},
+ {Name: "BPF_LD"},
+ {Name: "BPF_LDX", Value: 1},
+ {Name: "BPF_LSH0", Value: 6},
{Name: "BPF_MAP_CREATE"},
{Name: "BPF_MAP_DELETE_ELEM", Value: 3},
{Name: "BPF_MAP_GET_FD_BY_ID", Value: 14},
@@ -14034,11 +14134,17 @@ var consts_arm = []ConstValue{
{Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15},
{Name: "BPF_MAP_TYPE_STACK_TRACE", Value: 7},
{Name: "BPF_MAP_UPDATE_ELEM", Value: 2},
+ {Name: "BPF_MEM0", Value: 3},
+ {Name: "BPF_MOD0", Value: 9},
+ {Name: "BPF_MOV0", Value: 11},
+ {Name: "BPF_MUL0", Value: 2},
+ {Name: "BPF_NEG0", Value: 8},
{Name: "BPF_NOEXIST", Value: 1},
{Name: "BPF_OBJ_GET", Value: 7},
{Name: "BPF_OBJ_GET_INFO_BY_FD", Value: 15},
{Name: "BPF_OBJ_NAME_LEN", Value: 16},
{Name: "BPF_OBJ_PIN", Value: 6},
+ {Name: "BPF_OR0", Value: 4},
{Name: "BPF_PROG_ATTACH", Value: 8},
{Name: "BPF_PROG_DETACH", Value: 9},
{Name: "BPF_PROG_GET_FD_BY_ID", Value: 13},
@@ -14062,8 +14168,26 @@ var consts_arm = []ConstValue{
{Name: "BPF_PROG_TYPE_TRACEPOINT", Value: 5},
{Name: "BPF_PROG_TYPE_XDP", Value: 6},
{Name: "BPF_PSEUDO_MAP_FD", Value: 1},
+ {Name: "BPF_REG_0"},
+ {Name: "BPF_REG_1", Value: 1},
+ {Name: "BPF_REG_10", Value: 10},
+ {Name: "BPF_REG_2", Value: 2},
+ {Name: "BPF_REG_3", Value: 3},
+ {Name: "BPF_REG_4", Value: 4},
+ {Name: "BPF_REG_5", Value: 5},
+ {Name: "BPF_REG_6", Value: 6},
+ {Name: "BPF_REG_7", Value: 7},
+ {Name: "BPF_REG_8", Value: 8},
+ {Name: "BPF_REG_9", Value: 9},
+ {Name: "BPF_RSH0", Value: 7},
{Name: "BPF_SK_SKB_STREAM_PARSER", Value: 4},
{Name: "BPF_SK_SKB_STREAM_VERDICT", Value: 5},
+ {Name: "BPF_ST", Value: 2},
+ {Name: "BPF_STX", Value: 3},
+ {Name: "BPF_SUB0", Value: 1},
+ {Name: "BPF_W0"},
+ {Name: "BPF_XADD0", Value: 6},
+ {Name: "BPF_XOR0", Value: 10},
{Name: "BRCTL_ADD_BRIDGE", Value: 2},
{Name: "BRCTL_DEL_BRIDGE", Value: 3},
{Name: "BRCTL_GET_BRIDGES", Value: 1},
@@ -16615,6 +16739,7 @@ var consts_arm = []ConstValue{
{Name: "_DRM_VBLANK_SECONDARY", Value: 536870912},
{Name: "_DRM_VBLANK_SIGNAL", Value: 1073741824},
{Name: "_DRM_WRITE_COMBINING", Value: 16},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 58},
{Name: "__NR_accept", Value: 285},
{Name: "__NR_accept4", Value: 366},
{Name: "__NR_acct", Value: 51},
@@ -16901,6 +17026,9 @@ var consts_arm = []ConstValue{
{Name: "__WALL", Value: 1073741824},
{Name: "__WCLONE", Value: 2147483648},
{Name: "__WNOTHREAD", Value: 536870912},
+ {Name: "bpf_call_code", Value: 133},
+ {Name: "bpf_exit_code", Value: 149},
+ {Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "8febfc81b14bfa9b307cbda7ad4c6479a20cbb6b"
+const revision_arm = "53bafa795203ec45b62cf141542793ae901f5f98"
diff --git a/sys/linux/arm64.go b/sys/linux/arm64.go
index df91c8167..d9db6a453 100644
--- a/sys/linux/arm64.go
+++ b/sys/linux/arm64.go
@@ -375,12 +375,11 @@ var structDescs_arm64 = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ci", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}, Type: &StructType{Key: StructKey{Name: "bnep_conninfo", Dir: 1}}}},
}}},
- {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 20}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "target", TypeSize: 4}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
+ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", 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}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog2", TypeSize: 4}},
}}},
{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}}},
@@ -389,6 +388,11 @@ var structDescs_arm64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}},
}}},
+ {Key: StructKey{Name: "bpf_framed_program"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_framed_program"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "body"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ }}},
{Key: StructKey{Name: "bpf_get_map_info_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_get_map_info_arg", TypeSize: 16}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "prog", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
@@ -399,21 +403,86 @@ var structDescs_arm64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_prog_info", Dir: 1}}},
}}},
- {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 8}, Fields: []Type{
+ {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 16}, Fields: []Type{
&StructType{Key: StructKey{Name: "bpf_insn_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "bpf_insn_ldst"}, FldName: "ldst"},
+ &StructType{Key: StructKey{Name: "bpf_insn_alu"}, FldName: "alu"},
+ &StructType{Key: StructKey{Name: "bpf_insn_jmp"}, FldName: "jmp"},
+ &StructType{Key: StructKey{Name: "bpf_insn_call"}, FldName: "call"},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
&StructType{Key: StructKey{Name: "bpf_insn_map"}, FldName: "map"},
}}},
+ {Key: StructKey{Name: "bpf_insn_alu"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_alu", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{4, 7}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_call"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_call", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 58},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm", TypeSize: 4}}},
+ }}},
{Key: StructKey{Name: "bpf_insn_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_generic", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
}}},
- {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 8}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
+ {Key: StructKey{Name: "bpf_insn_init_r0"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_init_r0", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_jmp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_jmp", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Val: 5},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_jmp_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_ldst"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_ldst", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_size", FldName: "code_size", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_mode", FldName: "code_mode", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 3}, Vals: []uint64{0, 1, 2, 3, 6}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "imm", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_instructions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_instructions"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_framed_program"}, FldName: "framed"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "raw"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
}}},
{Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 44}, 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}},
@@ -478,16 +547,16 @@ var structDescs_arm64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 72}, 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}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "ninsn", TypeSize: 4}}, Buf: "insns"},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string"}, Kind: 2}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, ByteSize: 8, 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"}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "loglev", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "logsize", TypeSize: 4}}, Buf: "log"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "log", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "kver", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_kern_version", FldName: "kern_version", TypeSize: 4}}, Vals: []uint64{265984, 266240, 266496}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}},
&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}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
}}},
{Key: StructKey{Name: "bpf_prog_info", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog_info", TypeSize: 80, ArgDir: 1}, Fields: []Type{
@@ -515,7 +584,7 @@ var structDescs_arm64 = []*KeyedStruct{
}, AlignAttr: 8}},
{Key: StructKey{Name: "bpf_test_prog_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_test_prog_arg", TypeSize: 40}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "retval", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "retval", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "insize", TypeSize: 4}}, Buf: "indata"},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "outsize", TypeSize: 4}}, Buf: "outdata"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "indata", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array"}}},
@@ -14039,13 +14108,25 @@ var consts_arm64 = []ConstValue{
{Name: "BNEPGETCONNINFO", Value: 2147762899},
{Name: "BNEPGETCONNLIST", Value: 2147762898},
{Name: "BNEPGETSUPPFEAT", Value: 2147762900},
+ {Name: "BPF_ABS0", Value: 1},
+ {Name: "BPF_ADD0"},
+ {Name: "BPF_ALU", Value: 4},
+ {Name: "BPF_ALU64", Value: 7},
+ {Name: "BPF_AND0", Value: 5},
{Name: "BPF_ANY"},
+ {Name: "BPF_ARSH0", Value: 12},
+ {Name: "BPF_B0", Value: 2},
+ {Name: "BPF_CALL0", Value: 8},
{Name: "BPF_CGROUP_DEVICE", Value: 6},
{Name: "BPF_CGROUP_INET_EGRESS", Value: 1},
{Name: "BPF_CGROUP_INET_INGRESS"},
{Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2},
{Name: "BPF_CGROUP_SOCK_OPS", Value: 3},
+ {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_F_ALLOW_MULTI", Value: 2},
{Name: "BPF_F_ALLOW_OVERRIDE", Value: 1},
{Name: "BPF_F_NO_COMMON_LRU", Value: 2},
@@ -14055,6 +14136,25 @@ var consts_arm64 = []ConstValue{
{Name: "BPF_F_RDONLY", Value: 8},
{Name: "BPF_F_STRICT_ALIGNMENT", Value: 1},
{Name: "BPF_F_WRONLY", Value: 16},
+ {Name: "BPF_H0", Value: 1},
+ {Name: "BPF_IMM0"},
+ {Name: "BPF_IND0", Value: 2},
+ {Name: "BPF_JA0"},
+ {Name: "BPF_JEQ0", Value: 1},
+ {Name: "BPF_JGE0", Value: 3},
+ {Name: "BPF_JGT0", Value: 2},
+ {Name: "BPF_JLE0", Value: 11},
+ {Name: "BPF_JLT0", Value: 10},
+ {Name: "BPF_JMP", Value: 5},
+ {Name: "BPF_JNE0", Value: 5},
+ {Name: "BPF_JSET0", Value: 4},
+ {Name: "BPF_JSGE0", Value: 7},
+ {Name: "BPF_JSGT0", Value: 6},
+ {Name: "BPF_JSLE0", Value: 13},
+ {Name: "BPF_JSLT0", Value: 12},
+ {Name: "BPF_LD"},
+ {Name: "BPF_LDX", Value: 1},
+ {Name: "BPF_LSH0", Value: 6},
{Name: "BPF_MAP_CREATE"},
{Name: "BPF_MAP_DELETE_ELEM", Value: 3},
{Name: "BPF_MAP_GET_FD_BY_ID", Value: 14},
@@ -14078,11 +14178,17 @@ var consts_arm64 = []ConstValue{
{Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15},
{Name: "BPF_MAP_TYPE_STACK_TRACE", Value: 7},
{Name: "BPF_MAP_UPDATE_ELEM", Value: 2},
+ {Name: "BPF_MEM0", Value: 3},
+ {Name: "BPF_MOD0", Value: 9},
+ {Name: "BPF_MOV0", Value: 11},
+ {Name: "BPF_MUL0", Value: 2},
+ {Name: "BPF_NEG0", Value: 8},
{Name: "BPF_NOEXIST", Value: 1},
{Name: "BPF_OBJ_GET", Value: 7},
{Name: "BPF_OBJ_GET_INFO_BY_FD", Value: 15},
{Name: "BPF_OBJ_NAME_LEN", Value: 16},
{Name: "BPF_OBJ_PIN", Value: 6},
+ {Name: "BPF_OR0", Value: 4},
{Name: "BPF_PROG_ATTACH", Value: 8},
{Name: "BPF_PROG_DETACH", Value: 9},
{Name: "BPF_PROG_GET_FD_BY_ID", Value: 13},
@@ -14106,8 +14212,26 @@ var consts_arm64 = []ConstValue{
{Name: "BPF_PROG_TYPE_TRACEPOINT", Value: 5},
{Name: "BPF_PROG_TYPE_XDP", Value: 6},
{Name: "BPF_PSEUDO_MAP_FD", Value: 1},
+ {Name: "BPF_REG_0"},
+ {Name: "BPF_REG_1", Value: 1},
+ {Name: "BPF_REG_10", Value: 10},
+ {Name: "BPF_REG_2", Value: 2},
+ {Name: "BPF_REG_3", Value: 3},
+ {Name: "BPF_REG_4", Value: 4},
+ {Name: "BPF_REG_5", Value: 5},
+ {Name: "BPF_REG_6", Value: 6},
+ {Name: "BPF_REG_7", Value: 7},
+ {Name: "BPF_REG_8", Value: 8},
+ {Name: "BPF_REG_9", Value: 9},
+ {Name: "BPF_RSH0", Value: 7},
{Name: "BPF_SK_SKB_STREAM_PARSER", Value: 4},
{Name: "BPF_SK_SKB_STREAM_VERDICT", Value: 5},
+ {Name: "BPF_ST", Value: 2},
+ {Name: "BPF_STX", Value: 3},
+ {Name: "BPF_SUB0", Value: 1},
+ {Name: "BPF_W0"},
+ {Name: "BPF_XADD0", Value: 6},
+ {Name: "BPF_XOR0", Value: 10},
{Name: "BRCTL_ADD_BRIDGE", Value: 2},
{Name: "BRCTL_DEL_BRIDGE", Value: 3},
{Name: "BRCTL_GET_BRIDGES", Value: 1},
@@ -16685,6 +16809,7 @@ var consts_arm64 = []ConstValue{
{Name: "_DRM_VBLANK_SECONDARY", Value: 536870912},
{Name: "_DRM_VBLANK_SIGNAL", Value: 1073741824},
{Name: "_DRM_WRITE_COMBINING", Value: 16},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 58},
{Name: "__NR_accept", Value: 202},
{Name: "__NR_accept4", Value: 242},
{Name: "__NR_acct", Value: 89},
@@ -16942,6 +17067,9 @@ var consts_arm64 = []ConstValue{
{Name: "__WALL", Value: 1073741824},
{Name: "__WCLONE", Value: 2147483648},
{Name: "__WNOTHREAD", Value: 536870912},
+ {Name: "bpf_call_code", Value: 133},
+ {Name: "bpf_exit_code", Value: 149},
+ {Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "bda7869f2724a7f0323b7ad38c64464d097b96c4"
+const revision_arm64 = "88bc0e2f6cfc4b223275d48bde865611a84ef15d"
diff --git a/sys/linux/bpf.txt b/sys/linux/bpf.txt
index 90e0db334..312cb2c33 100644
--- a/sys/linux/bpf.txt
+++ b/sys/linux/bpf.txt
@@ -76,25 +76,44 @@ bpf_map_get_next_arg {
bpf_prog {
type flags[bpf_prog_type, int32]
- ninsn len[insns, int32]
- insns ptr64[in, array[bpf_insn]]
- license ptr64[in, string]
+ ninsn bytesize8[insns, int32]
+ insns ptr64[in, bpf_instructions]
+ license ptr64[in, string[bpf_licenses]]
loglev int32
logsize len[log, int32]
log ptr64[out, array[int8]]
- kver int32
+ kern_version flags[bpf_kern_version, int32]
flags flags[bpf_prog_load_flags, int32]
prog_name array[const[0, int8], BPF_OBJ_NAME_LEN]
- prog_ifindex ifindex
+# TODO: should be ifindex
+ prog_ifindex const[0, int32]
}
+bpf_licenses = "GPL", "syzkaller"
+bpf_kern_version = 0x40f00, 0x41000, 0x41100
+
+bpf_instructions [
+ framed bpf_framed_program
+ raw array[bpf_insn]
+] [varlen]
+
+bpf_framed_program {
+ initr0 bpf_insn_init_r0
+ body array[bpf_insn]
+ exit bpf_insn_exit
+} [packed]
+
bpf_insn [
generic bpf_insn_generic
+ ldst bpf_insn_ldst
+ alu bpf_insn_alu
+ jmp bpf_insn_jmp
+ call bpf_insn_call
+ exit bpf_insn_exit
+ initr0 bpf_insn_init_r0
map bpf_insn_map
]
-#TODO: consider providing specialized structs for all opcodes (or opcode groups)
-# For example, for lots of opcodes some fields must be 0, otherwise verifier will bark
bpf_insn_generic {
code int8
regs int8
@@ -102,14 +121,136 @@ bpf_insn_generic {
imm int32
}
+bpf_insn_ldst {
+ code_class flags[bpf_ldst_insn, int8:3]
+ code_size flags[bpf_ldst_size, int8:2]
+ code_mode flags[bpf_ldst_mode, int8:3]
+ dst flags[bpf_reg, int8:4]
+ src flags[bpf_reg, int8:4]
+ off flags[bpf_insn_offsets, int16]
+ imm flags[bpf_insn_immediates, int32]
+}
+
+bpf_ldst_insn = BPF_LD, BPF_LDX, BPF_ST, BPF_STX
+bpf_ldst_size = BPF_W0, BPF_H0, BPF_B0, BPF_DW0
+bpf_ldst_mode = BPF_IMM0, BPF_ABS0, BPF_IND0, BPF_MEM0, BPF_XADD0
+
+define BPF_W0 BPF_W >> 3
+define BPF_H0 BPF_H >> 3
+define BPF_B0 BPF_B >> 3
+define BPF_DW0 BPF_DW >> 3
+
+define BPF_IMM0 BPF_IMM >> 5
+define BPF_ABS0 BPF_ABS >> 5
+define BPF_IND0 BPF_IND >> 5
+define BPF_MEM0 BPF_MEM >> 5
+define BPF_XADD0 BPF_XADD >> 5
+
+bpf_insn_alu {
+ code_class flags[bpf_alu_insn, int8:3]
+ code_s int8:1
+ code_op flags[bpf_alu_op, int8:4]
+ dst flags[bpf_reg, int8:4]
+ src flags[bpf_reg, int8:4]
+ off flags[bpf_insn_offsets, int16]
+ imm flags[bpf_insn_immediates, int32]
+}
+
+bpf_alu_insn = BPF_ALU, BPF_ALU64
+bpf_alu_op = BPF_ADD0, BPF_SUB0, BPF_MUL0, BPF_DIV0, BPF_OR0, BPF_AND0, BPF_LSH0, BPF_RSH0, BPF_NEG0, BPF_MOD0, BPF_XOR0, BPF_MOV0, BPF_ARSH0, BPF_END0
+
+define BPF_ADD0 BPF_ADD >> 4
+define BPF_SUB0 BPF_SUB >> 4
+define BPF_MUL0 BPF_MUL >> 4
+define BPF_DIV0 BPF_DIV >> 4
+define BPF_OR0 BPF_OR >> 4
+define BPF_AND0 BPF_AND >> 4
+define BPF_LSH0 BPF_LSH >> 4
+define BPF_RSH0 BPF_RSH >> 4
+define BPF_NEG0 BPF_NEG >> 4
+define BPF_MOD0 BPF_MOD >> 4
+define BPF_XOR0 BPF_XOR >> 4
+define BPF_MOV0 BPF_MOV >> 4
+define BPF_ARSH0 BPF_ARSH >> 4
+define BPF_END0 BPF_END >> 4
+
+bpf_insn_jmp {
+ code_class const[BPF_JMP, int8:3]
+ code_s int8:1
+ code_op flags[bpf_jmp_op, int8:4]
+ dst flags[bpf_reg, int8:4]
+ src flags[bpf_reg, int8:4]
+ off flags[bpf_insn_offsets, int16]
+ imm flags[bpf_insn_immediates, int32]
+}
+
+bpf_jmp_op = BPF_JA0, BPF_JEQ0, BPF_JGT0, BPF_JGE0, BPF_JSET0, BPF_JNE0, BPF_JSGT0, BPF_JSGE0, BPF_CALL0, BPF_EXIT0, BPF_JLT0, BPF_JLE0, BPF_JSLT0, BPF_JSLE0
+
+define BPF_JA0 BPF_JA >> 4
+define BPF_JEQ0 BPF_JEQ >> 4
+define BPF_JGT0 BPF_JGT >> 4
+define BPF_JGE0 BPF_JGE >> 4
+define BPF_JSET0 BPF_JSET >> 4
+define BPF_JNE0 BPF_JNE >> 4
+define BPF_JSGT0 BPF_JSGT >> 4
+define BPF_JSGE0 BPF_JSGE >> 4
+define BPF_CALL0 BPF_CALL >> 4
+define BPF_EXIT0 BPF_EXIT >> 4
+define BPF_JLT0 BPF_JLT >> 4
+define BPF_JLE0 BPF_JLE >> 4
+define BPF_JSLT0 BPF_JSLT >> 4
+define BPF_JSLE0 BPF_JSLE >> 4
+
+bpf_insn_call {
+ code const[bpf_call_code, int8]
+ regs const[0, int8]
+ off const[0, int16]
+ func int32[0:__BPF_FUNC_MAX_ID]
+}
+
+define bpf_call_code BPF_JMP | BPF_CALL
+
+bpf_insn_exit {
+ code const[bpf_exit_code, int8]
+ regs const[0, int8]
+ off const[0, int16]
+ imm const[0, int32]
+}
+
+define bpf_exit_code BPF_JMP | BPF_EXIT
+
+bpf_insn_init_r0 {
+ code const[bpf_insn_load_imm_dw, int8]
+ dst const[BPF_REG_0, int8:4]
+ src const[0, int8:4]
+ off const[0, int16]
+ imm int32
+ code2 const[0, int8]
+ regs2 const[0, int8]
+ off2 const[0, int16]
+ imm2 int32
+}
+
bpf_insn_map {
- code int8
- regs int8
- off int16
+ code const[bpf_insn_load_imm_dw, int8]
+ dst flags[bpf_reg, int8:4]
+ src const[BPF_PSEUDO_MAP_FD, int8:4]
+ off const[0, int16]
imm fd_bpf_map
+ code2 const[0, int8]
+ regs2 const[0, int8]
+ off2 const[0, int16]
+ imm2 const[0, int32]
}
-# Note: these filenames must be on bpf filesystem
+define bpf_insn_load_imm_dw BPF_LD | BPF_DW | BPF_IMM
+
+# Slightly prune state space, these values frequently must be 0.
+bpf_insn_offsets = 0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 0xffffffff, 0xfffffffe, 0xfffffffc, 0xfffffff8, 0xfffffff4, 0xfffffff0, 0xffffffc0
+bpf_insn_immediates = 0, 1, 4, 8, 16, 0xffffffffffffffff, 0xfffffffffffffffc, 0xfffffffffffffff0
+bpf_reg = BPF_REG_0, BPF_REG_1, BPF_REG_2, BPF_REG_3, BPF_REG_4, BPF_REG_5, BPF_REG_6, BPF_REG_7, BPF_REG_8, BPF_REG_9, BPF_REG_10
+
+# TODO: these filenames must be on bpf filesystem
bpf_obj_pin_map {
path ptr64[in, filename]
fd fd_bpf_map
@@ -127,11 +268,11 @@ bpf_obj_get {
}
bpf_attach_arg {
- target fd
- prog fd_bpf_prog
- type flags[bpf_attach_type, int32]
- flags flags[bpf_attach_flags, int32]
- prog2 fd_bpf_prog
+# TODO: this must be cgroup fd (obtained by opening cgroup dir)
+ target_fd fd
+ attach_bpf_fd fd_bpf_prog
+ type flags[bpf_attach_type, int32]
+ flags flags[bpf_attach_flags, int32]
}
bpf_detach_arg {
@@ -144,7 +285,7 @@ bpf_detach_arg {
bpf_test_prog_arg {
prog fd_bpf_prog
- retval int32
+ retval const[0, int32]
insize len[indata, int32]
outsize len[outdata, int32]
indata ptr64[in, array[int8]]
diff --git a/sys/linux/bpf_386.const b/sys/linux/bpf_386.const
index 2c6525c26..aafbc74b5 100644
--- a/sys/linux/bpf_386.const
+++ b/sys/linux/bpf_386.const
@@ -1,11 +1,23 @@
# AUTOGENERATED FILE
+BPF_ABS0 = 1
+BPF_ADD0 = 0
+BPF_ALU = 4
+BPF_ALU64 = 7
+BPF_AND0 = 5
BPF_ANY = 0
+BPF_ARSH0 = 12
+BPF_B0 = 2
+BPF_CALL0 = 8
BPF_CGROUP_DEVICE = 6
BPF_CGROUP_INET_EGRESS = 1
BPF_CGROUP_INET_INGRESS = 0
BPF_CGROUP_INET_SOCK_CREATE = 2
BPF_CGROUP_SOCK_OPS = 3
+BPF_DIV0 = 3
+BPF_DW0 = 3
+BPF_END0 = 13
BPF_EXIST = 2
+BPF_EXIT0 = 9
BPF_F_ALLOW_MULTI = 2
BPF_F_ALLOW_OVERRIDE = 1
BPF_F_NO_COMMON_LRU = 2
@@ -15,6 +27,25 @@ BPF_F_QUERY_EFFECTIVE = 1
BPF_F_RDONLY = 8
BPF_F_STRICT_ALIGNMENT = 1
BPF_F_WRONLY = 16
+BPF_H0 = 1
+BPF_IMM0 = 0
+BPF_IND0 = 2
+BPF_JA0 = 0
+BPF_JEQ0 = 1
+BPF_JGE0 = 3
+BPF_JGT0 = 2
+BPF_JLE0 = 11
+BPF_JLT0 = 10
+BPF_JMP = 5
+BPF_JNE0 = 5
+BPF_JSET0 = 4
+BPF_JSGE0 = 7
+BPF_JSGT0 = 6
+BPF_JSLE0 = 13
+BPF_JSLT0 = 12
+BPF_LD = 0
+BPF_LDX = 1
+BPF_LSH0 = 6
BPF_MAP_CREATE = 0
BPF_MAP_DELETE_ELEM = 3
BPF_MAP_GET_FD_BY_ID = 14
@@ -38,11 +69,17 @@ BPF_MAP_TYPE_PROG_ARRAY = 3
BPF_MAP_TYPE_SOCKMAP = 15
BPF_MAP_TYPE_STACK_TRACE = 7
BPF_MAP_UPDATE_ELEM = 2
+BPF_MEM0 = 3
+BPF_MOD0 = 9
+BPF_MOV0 = 11
+BPF_MUL0 = 2
+BPF_NEG0 = 8
BPF_NOEXIST = 1
BPF_OBJ_GET = 7
BPF_OBJ_GET_INFO_BY_FD = 15
BPF_OBJ_NAME_LEN = 16
BPF_OBJ_PIN = 6
+BPF_OR0 = 4
BPF_PROG_ATTACH = 8
BPF_PROG_DETACH = 9
BPF_PROG_GET_FD_BY_ID = 13
@@ -66,6 +103,28 @@ BPF_PROG_TYPE_SOCK_OPS = 13
BPF_PROG_TYPE_TRACEPOINT = 5
BPF_PROG_TYPE_XDP = 6
BPF_PSEUDO_MAP_FD = 1
+BPF_REG_0 = 0
+BPF_REG_1 = 1
+BPF_REG_10 = 10
+BPF_REG_2 = 2
+BPF_REG_3 = 3
+BPF_REG_4 = 4
+BPF_REG_5 = 5
+BPF_REG_6 = 6
+BPF_REG_7 = 7
+BPF_REG_8 = 8
+BPF_REG_9 = 9
+BPF_RSH0 = 7
BPF_SK_SKB_STREAM_PARSER = 4
BPF_SK_SKB_STREAM_VERDICT = 5
+BPF_ST = 2
+BPF_STX = 3
+BPF_SUB0 = 1
+BPF_W0 = 0
+BPF_XADD0 = 6
+BPF_XOR0 = 10
+__BPF_FUNC_MAX_ID = 58
__NR_bpf = 357
+bpf_call_code = 133
+bpf_exit_code = 149
+bpf_insn_load_imm_dw = 24
diff --git a/sys/linux/bpf_amd64.const b/sys/linux/bpf_amd64.const
index 46b02227a..2e0426766 100644
--- a/sys/linux/bpf_amd64.const
+++ b/sys/linux/bpf_amd64.const
@@ -1,11 +1,23 @@
# AUTOGENERATED FILE
+BPF_ABS0 = 1
+BPF_ADD0 = 0
+BPF_ALU = 4
+BPF_ALU64 = 7
+BPF_AND0 = 5
BPF_ANY = 0
+BPF_ARSH0 = 12
+BPF_B0 = 2
+BPF_CALL0 = 8
BPF_CGROUP_DEVICE = 6
BPF_CGROUP_INET_EGRESS = 1
BPF_CGROUP_INET_INGRESS = 0
BPF_CGROUP_INET_SOCK_CREATE = 2
BPF_CGROUP_SOCK_OPS = 3
+BPF_DIV0 = 3
+BPF_DW0 = 3
+BPF_END0 = 13
BPF_EXIST = 2
+BPF_EXIT0 = 9
BPF_F_ALLOW_MULTI = 2
BPF_F_ALLOW_OVERRIDE = 1
BPF_F_NO_COMMON_LRU = 2
@@ -15,6 +27,25 @@ BPF_F_QUERY_EFFECTIVE = 1
BPF_F_RDONLY = 8
BPF_F_STRICT_ALIGNMENT = 1
BPF_F_WRONLY = 16
+BPF_H0 = 1
+BPF_IMM0 = 0
+BPF_IND0 = 2
+BPF_JA0 = 0
+BPF_JEQ0 = 1
+BPF_JGE0 = 3
+BPF_JGT0 = 2
+BPF_JLE0 = 11
+BPF_JLT0 = 10
+BPF_JMP = 5
+BPF_JNE0 = 5
+BPF_JSET0 = 4
+BPF_JSGE0 = 7
+BPF_JSGT0 = 6
+BPF_JSLE0 = 13
+BPF_JSLT0 = 12
+BPF_LD = 0
+BPF_LDX = 1
+BPF_LSH0 = 6
BPF_MAP_CREATE = 0
BPF_MAP_DELETE_ELEM = 3
BPF_MAP_GET_FD_BY_ID = 14
@@ -38,11 +69,17 @@ BPF_MAP_TYPE_PROG_ARRAY = 3
BPF_MAP_TYPE_SOCKMAP = 15
BPF_MAP_TYPE_STACK_TRACE = 7
BPF_MAP_UPDATE_ELEM = 2
+BPF_MEM0 = 3
+BPF_MOD0 = 9
+BPF_MOV0 = 11
+BPF_MUL0 = 2
+BPF_NEG0 = 8
BPF_NOEXIST = 1
BPF_OBJ_GET = 7
BPF_OBJ_GET_INFO_BY_FD = 15
BPF_OBJ_NAME_LEN = 16
BPF_OBJ_PIN = 6
+BPF_OR0 = 4
BPF_PROG_ATTACH = 8
BPF_PROG_DETACH = 9
BPF_PROG_GET_FD_BY_ID = 13
@@ -66,6 +103,28 @@ BPF_PROG_TYPE_SOCK_OPS = 13
BPF_PROG_TYPE_TRACEPOINT = 5
BPF_PROG_TYPE_XDP = 6
BPF_PSEUDO_MAP_FD = 1
+BPF_REG_0 = 0
+BPF_REG_1 = 1
+BPF_REG_10 = 10
+BPF_REG_2 = 2
+BPF_REG_3 = 3
+BPF_REG_4 = 4
+BPF_REG_5 = 5
+BPF_REG_6 = 6
+BPF_REG_7 = 7
+BPF_REG_8 = 8
+BPF_REG_9 = 9
+BPF_RSH0 = 7
BPF_SK_SKB_STREAM_PARSER = 4
BPF_SK_SKB_STREAM_VERDICT = 5
+BPF_ST = 2
+BPF_STX = 3
+BPF_SUB0 = 1
+BPF_W0 = 0
+BPF_XADD0 = 6
+BPF_XOR0 = 10
+__BPF_FUNC_MAX_ID = 58
__NR_bpf = 321
+bpf_call_code = 133
+bpf_exit_code = 149
+bpf_insn_load_imm_dw = 24
diff --git a/sys/linux/bpf_arm.const b/sys/linux/bpf_arm.const
index efdd2b993..6e57645e5 100644
--- a/sys/linux/bpf_arm.const
+++ b/sys/linux/bpf_arm.const
@@ -1,11 +1,23 @@
# AUTOGENERATED FILE
+BPF_ABS0 = 1
+BPF_ADD0 = 0
+BPF_ALU = 4
+BPF_ALU64 = 7
+BPF_AND0 = 5
BPF_ANY = 0
+BPF_ARSH0 = 12
+BPF_B0 = 2
+BPF_CALL0 = 8
BPF_CGROUP_DEVICE = 6
BPF_CGROUP_INET_EGRESS = 1
BPF_CGROUP_INET_INGRESS = 0
BPF_CGROUP_INET_SOCK_CREATE = 2
BPF_CGROUP_SOCK_OPS = 3
+BPF_DIV0 = 3
+BPF_DW0 = 3
+BPF_END0 = 13
BPF_EXIST = 2
+BPF_EXIT0 = 9
BPF_F_ALLOW_MULTI = 2
BPF_F_ALLOW_OVERRIDE = 1
BPF_F_NO_COMMON_LRU = 2
@@ -15,6 +27,25 @@ BPF_F_QUERY_EFFECTIVE = 1
BPF_F_RDONLY = 8
BPF_F_STRICT_ALIGNMENT = 1
BPF_F_WRONLY = 16
+BPF_H0 = 1
+BPF_IMM0 = 0
+BPF_IND0 = 2
+BPF_JA0 = 0
+BPF_JEQ0 = 1
+BPF_JGE0 = 3
+BPF_JGT0 = 2
+BPF_JLE0 = 11
+BPF_JLT0 = 10
+BPF_JMP = 5
+BPF_JNE0 = 5
+BPF_JSET0 = 4
+BPF_JSGE0 = 7
+BPF_JSGT0 = 6
+BPF_JSLE0 = 13
+BPF_JSLT0 = 12
+BPF_LD = 0
+BPF_LDX = 1
+BPF_LSH0 = 6
BPF_MAP_CREATE = 0
BPF_MAP_DELETE_ELEM = 3
BPF_MAP_GET_FD_BY_ID = 14
@@ -38,11 +69,17 @@ BPF_MAP_TYPE_PROG_ARRAY = 3
BPF_MAP_TYPE_SOCKMAP = 15
BPF_MAP_TYPE_STACK_TRACE = 7
BPF_MAP_UPDATE_ELEM = 2
+BPF_MEM0 = 3
+BPF_MOD0 = 9
+BPF_MOV0 = 11
+BPF_MUL0 = 2
+BPF_NEG0 = 8
BPF_NOEXIST = 1
BPF_OBJ_GET = 7
BPF_OBJ_GET_INFO_BY_FD = 15
BPF_OBJ_NAME_LEN = 16
BPF_OBJ_PIN = 6
+BPF_OR0 = 4
BPF_PROG_ATTACH = 8
BPF_PROG_DETACH = 9
BPF_PROG_GET_FD_BY_ID = 13
@@ -66,6 +103,28 @@ BPF_PROG_TYPE_SOCK_OPS = 13
BPF_PROG_TYPE_TRACEPOINT = 5
BPF_PROG_TYPE_XDP = 6
BPF_PSEUDO_MAP_FD = 1
+BPF_REG_0 = 0
+BPF_REG_1 = 1
+BPF_REG_10 = 10
+BPF_REG_2 = 2
+BPF_REG_3 = 3
+BPF_REG_4 = 4
+BPF_REG_5 = 5
+BPF_REG_6 = 6
+BPF_REG_7 = 7
+BPF_REG_8 = 8
+BPF_REG_9 = 9
+BPF_RSH0 = 7
BPF_SK_SKB_STREAM_PARSER = 4
BPF_SK_SKB_STREAM_VERDICT = 5
+BPF_ST = 2
+BPF_STX = 3
+BPF_SUB0 = 1
+BPF_W0 = 0
+BPF_XADD0 = 6
+BPF_XOR0 = 10
+__BPF_FUNC_MAX_ID = 58
__NR_bpf = 386
+bpf_call_code = 133
+bpf_exit_code = 149
+bpf_insn_load_imm_dw = 24
diff --git a/sys/linux/bpf_arm64.const b/sys/linux/bpf_arm64.const
index 570b183e3..94b712f84 100644
--- a/sys/linux/bpf_arm64.const
+++ b/sys/linux/bpf_arm64.const
@@ -1,11 +1,23 @@
# AUTOGENERATED FILE
+BPF_ABS0 = 1
+BPF_ADD0 = 0
+BPF_ALU = 4
+BPF_ALU64 = 7
+BPF_AND0 = 5
BPF_ANY = 0
+BPF_ARSH0 = 12
+BPF_B0 = 2
+BPF_CALL0 = 8
BPF_CGROUP_DEVICE = 6
BPF_CGROUP_INET_EGRESS = 1
BPF_CGROUP_INET_INGRESS = 0
BPF_CGROUP_INET_SOCK_CREATE = 2
BPF_CGROUP_SOCK_OPS = 3
+BPF_DIV0 = 3
+BPF_DW0 = 3
+BPF_END0 = 13
BPF_EXIST = 2
+BPF_EXIT0 = 9
BPF_F_ALLOW_MULTI = 2
BPF_F_ALLOW_OVERRIDE = 1
BPF_F_NO_COMMON_LRU = 2
@@ -15,6 +27,25 @@ BPF_F_QUERY_EFFECTIVE = 1
BPF_F_RDONLY = 8
BPF_F_STRICT_ALIGNMENT = 1
BPF_F_WRONLY = 16
+BPF_H0 = 1
+BPF_IMM0 = 0
+BPF_IND0 = 2
+BPF_JA0 = 0
+BPF_JEQ0 = 1
+BPF_JGE0 = 3
+BPF_JGT0 = 2
+BPF_JLE0 = 11
+BPF_JLT0 = 10
+BPF_JMP = 5
+BPF_JNE0 = 5
+BPF_JSET0 = 4
+BPF_JSGE0 = 7
+BPF_JSGT0 = 6
+BPF_JSLE0 = 13
+BPF_JSLT0 = 12
+BPF_LD = 0
+BPF_LDX = 1
+BPF_LSH0 = 6
BPF_MAP_CREATE = 0
BPF_MAP_DELETE_ELEM = 3
BPF_MAP_GET_FD_BY_ID = 14
@@ -38,11 +69,17 @@ BPF_MAP_TYPE_PROG_ARRAY = 3
BPF_MAP_TYPE_SOCKMAP = 15
BPF_MAP_TYPE_STACK_TRACE = 7
BPF_MAP_UPDATE_ELEM = 2
+BPF_MEM0 = 3
+BPF_MOD0 = 9
+BPF_MOV0 = 11
+BPF_MUL0 = 2
+BPF_NEG0 = 8
BPF_NOEXIST = 1
BPF_OBJ_GET = 7
BPF_OBJ_GET_INFO_BY_FD = 15
BPF_OBJ_NAME_LEN = 16
BPF_OBJ_PIN = 6
+BPF_OR0 = 4
BPF_PROG_ATTACH = 8
BPF_PROG_DETACH = 9
BPF_PROG_GET_FD_BY_ID = 13
@@ -66,6 +103,28 @@ BPF_PROG_TYPE_SOCK_OPS = 13
BPF_PROG_TYPE_TRACEPOINT = 5
BPF_PROG_TYPE_XDP = 6
BPF_PSEUDO_MAP_FD = 1
+BPF_REG_0 = 0
+BPF_REG_1 = 1
+BPF_REG_10 = 10
+BPF_REG_2 = 2
+BPF_REG_3 = 3
+BPF_REG_4 = 4
+BPF_REG_5 = 5
+BPF_REG_6 = 6
+BPF_REG_7 = 7
+BPF_REG_8 = 8
+BPF_REG_9 = 9
+BPF_RSH0 = 7
BPF_SK_SKB_STREAM_PARSER = 4
BPF_SK_SKB_STREAM_VERDICT = 5
+BPF_ST = 2
+BPF_STX = 3
+BPF_SUB0 = 1
+BPF_W0 = 0
+BPF_XADD0 = 6
+BPF_XOR0 = 10
+__BPF_FUNC_MAX_ID = 58
__NR_bpf = 280
+bpf_call_code = 133
+bpf_exit_code = 149
+bpf_insn_load_imm_dw = 24
diff --git a/sys/linux/bpf_ppc64le.const b/sys/linux/bpf_ppc64le.const
index 8b61e8556..2ecddfe10 100644
--- a/sys/linux/bpf_ppc64le.const
+++ b/sys/linux/bpf_ppc64le.const
@@ -1,11 +1,23 @@
# AUTOGENERATED FILE
+BPF_ABS0 = 1
+BPF_ADD0 = 0
+BPF_ALU = 4
+BPF_ALU64 = 7
+BPF_AND0 = 5
BPF_ANY = 0
+BPF_ARSH0 = 12
+BPF_B0 = 2
+BPF_CALL0 = 8
BPF_CGROUP_DEVICE = 6
BPF_CGROUP_INET_EGRESS = 1
BPF_CGROUP_INET_INGRESS = 0
BPF_CGROUP_INET_SOCK_CREATE = 2
BPF_CGROUP_SOCK_OPS = 3
+BPF_DIV0 = 3
+BPF_DW0 = 3
+BPF_END0 = 13
BPF_EXIST = 2
+BPF_EXIT0 = 9
BPF_F_ALLOW_MULTI = 2
BPF_F_ALLOW_OVERRIDE = 1
BPF_F_NO_COMMON_LRU = 2
@@ -15,6 +27,25 @@ BPF_F_QUERY_EFFECTIVE = 1
BPF_F_RDONLY = 8
BPF_F_STRICT_ALIGNMENT = 1
BPF_F_WRONLY = 16
+BPF_H0 = 1
+BPF_IMM0 = 0
+BPF_IND0 = 2
+BPF_JA0 = 0
+BPF_JEQ0 = 1
+BPF_JGE0 = 3
+BPF_JGT0 = 2
+BPF_JLE0 = 11
+BPF_JLT0 = 10
+BPF_JMP = 5
+BPF_JNE0 = 5
+BPF_JSET0 = 4
+BPF_JSGE0 = 7
+BPF_JSGT0 = 6
+BPF_JSLE0 = 13
+BPF_JSLT0 = 12
+BPF_LD = 0
+BPF_LDX = 1
+BPF_LSH0 = 6
BPF_MAP_CREATE = 0
BPF_MAP_DELETE_ELEM = 3
BPF_MAP_GET_FD_BY_ID = 14
@@ -38,11 +69,17 @@ BPF_MAP_TYPE_PROG_ARRAY = 3
BPF_MAP_TYPE_SOCKMAP = 15
BPF_MAP_TYPE_STACK_TRACE = 7
BPF_MAP_UPDATE_ELEM = 2
+BPF_MEM0 = 3
+BPF_MOD0 = 9
+BPF_MOV0 = 11
+BPF_MUL0 = 2
+BPF_NEG0 = 8
BPF_NOEXIST = 1
BPF_OBJ_GET = 7
BPF_OBJ_GET_INFO_BY_FD = 15
BPF_OBJ_NAME_LEN = 16
BPF_OBJ_PIN = 6
+BPF_OR0 = 4
BPF_PROG_ATTACH = 8
BPF_PROG_DETACH = 9
BPF_PROG_GET_FD_BY_ID = 13
@@ -66,6 +103,28 @@ BPF_PROG_TYPE_SOCK_OPS = 13
BPF_PROG_TYPE_TRACEPOINT = 5
BPF_PROG_TYPE_XDP = 6
BPF_PSEUDO_MAP_FD = 1
+BPF_REG_0 = 0
+BPF_REG_1 = 1
+BPF_REG_10 = 10
+BPF_REG_2 = 2
+BPF_REG_3 = 3
+BPF_REG_4 = 4
+BPF_REG_5 = 5
+BPF_REG_6 = 6
+BPF_REG_7 = 7
+BPF_REG_8 = 8
+BPF_REG_9 = 9
+BPF_RSH0 = 7
BPF_SK_SKB_STREAM_PARSER = 4
BPF_SK_SKB_STREAM_VERDICT = 5
+BPF_ST = 2
+BPF_STX = 3
+BPF_SUB0 = 1
+BPF_W0 = 0
+BPF_XADD0 = 6
+BPF_XOR0 = 10
+__BPF_FUNC_MAX_ID = 58
__NR_bpf = 361
+bpf_call_code = 133
+bpf_exit_code = 149
+bpf_insn_load_imm_dw = 24
diff --git a/sys/linux/ppc64le.go b/sys/linux/ppc64le.go
index 913c9b5f3..744b47270 100644
--- a/sys/linux/ppc64le.go
+++ b/sys/linux/ppc64le.go
@@ -366,12 +366,11 @@ var structDescs_ppc64le = []*KeyedStruct{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ci", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}, Type: &StructType{Key: StructKey{Name: "bnep_conninfo", Dir: 1}}}},
}}},
- {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 20}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "target", TypeSize: 4}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
+ {Key: StructKey{Name: "bpf_attach_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_attach_arg", TypeSize: 16}, Fields: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", 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}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog2", TypeSize: 4}},
}}},
{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}}},
@@ -380,6 +379,11 @@ var structDescs_ppc64le = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_attach_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog2", TypeSize: 4}}},
}}},
+ {Key: StructKey{Name: "bpf_framed_program"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_framed_program"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "body"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ }}},
{Key: StructKey{Name: "bpf_get_map_info_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_get_map_info_arg", TypeSize: 16}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "prog", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
@@ -390,21 +394,86 @@ var structDescs_ppc64le = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "info"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "info", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_prog_info", Dir: 1}}},
}}},
- {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 8}, Fields: []Type{
+ {Key: StructKey{Name: "bpf_insn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn", TypeSize: 16}, Fields: []Type{
&StructType{Key: StructKey{Name: "bpf_insn_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "bpf_insn_ldst"}, FldName: "ldst"},
+ &StructType{Key: StructKey{Name: "bpf_insn_alu"}, FldName: "alu"},
+ &StructType{Key: StructKey{Name: "bpf_insn_jmp"}, FldName: "jmp"},
+ &StructType{Key: StructKey{Name: "bpf_insn_call"}, FldName: "call"},
+ &StructType{Key: StructKey{Name: "bpf_insn_exit"}, FldName: "exit"},
+ &StructType{Key: StructKey{Name: "bpf_insn_init_r0"}, FldName: "initr0"},
&StructType{Key: StructKey{Name: "bpf_insn_map"}, FldName: "map"},
}}},
+ {Key: StructKey{Name: "bpf_insn_alu"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_alu", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{4, 7}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_alu_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_call"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_call", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 58},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm", TypeSize: 4}}},
+ }}},
{Key: StructKey{Name: "bpf_insn_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_generic", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
}}},
- {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 8}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "regs", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "off", TypeSize: 2}}},
+ {Key: StructKey{Name: "bpf_insn_init_r0"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_init_r0", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_jmp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_jmp", TypeSize: 8}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Val: 5},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "code_s", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 1, BitfieldMdl: true}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_jmp_op", FldName: "code_op", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_ldst"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_ldst", TypeSize: 8}, Fields: []Type{
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_insn", FldName: "code_class", TypeSize: 1}, BitfieldLen: 3, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_size", FldName: "code_size", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 2, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_ldst_mode", FldName: "code_mode", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 3}, Vals: []uint64{0, 1, 2, 3, 6}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_offsets", FldName: "off", TypeSize: 2}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 16, 24, 32, 48, 64, 80, 128, 256, 4294967295, 4294967294, 4294967292, 4294967288, 4294967284, 4294967280, 4294967232}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_insn_immediates", FldName: "imm", TypeSize: 4}}, Vals: []uint64{0, 1, 4, 8, 16, 18446744073709551615, 18446744073709551612, 18446744073709551600}},
+ }}},
+ {Key: StructKey{Name: "bpf_insn_map"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_map", TypeSize: 16}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 24},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_reg", FldName: "dst", TypeSize: 1}, BitfieldLen: 4, BitfieldMdl: true}, Vals: []uint64{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "src", TypeSize: 1}, BitfieldOff: 4, BitfieldLen: 4}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_map", FldName: "imm", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs2", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off2", TypeSize: 2}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "imm2", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "bpf_instructions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_instructions"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "bpf_framed_program"}, FldName: "framed"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "raw"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}},
}}},
{Key: StructKey{Name: "bpf_map_create_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_map_create_arg", TypeSize: 44}, 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}},
@@ -469,16 +538,16 @@ var structDescs_ppc64le = []*KeyedStruct{
}}},
{Key: StructKey{Name: "bpf_prog"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog", TypeSize: 72}, 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}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "ninsn", TypeSize: 4}}, Buf: "insns"},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "insns", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &UnionType{Key: StructKey{Name: "bpf_insn"}}}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "license", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string"}, Kind: 2}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "ninsn", TypeSize: 4}}, ByteSize: 8, 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"}, Kind: 2, SubKind: "bpf_licenses", Values: []string{"GPL\x00", "syzkaller\x00"}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "loglev", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "logsize", TypeSize: 4}}, Buf: "log"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "log", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "kver", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_kern_version", FldName: "kern_version", TypeSize: 4}}, Vals: []uint64{265984, 266240, 266496}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bpf_prog_load_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}},
&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}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
}}},
{Key: StructKey{Name: "bpf_prog_info", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_prog_info", TypeSize: 80, ArgDir: 1}, Fields: []Type{
@@ -506,7 +575,7 @@ var structDescs_ppc64le = []*KeyedStruct{
}, AlignAttr: 8}},
{Key: StructKey{Name: "bpf_test_prog_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_test_prog_arg", TypeSize: 40}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_bpf_prog", FldName: "prog", TypeSize: 4}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "retval", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "retval", TypeSize: 4}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "insize", TypeSize: 4}}, Buf: "indata"},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "outsize", TypeSize: 4}}, Buf: "outdata"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "indata", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array"}}},
@@ -13735,13 +13804,25 @@ var consts_ppc64le = []ConstValue{
{Name: "BNEPGETCONNINFO", Value: 1074021075},
{Name: "BNEPGETCONNLIST", Value: 1074021074},
{Name: "BNEPGETSUPPFEAT", Value: 1074021076},
+ {Name: "BPF_ABS0", Value: 1},
+ {Name: "BPF_ADD0"},
+ {Name: "BPF_ALU", Value: 4},
+ {Name: "BPF_ALU64", Value: 7},
+ {Name: "BPF_AND0", Value: 5},
{Name: "BPF_ANY"},
+ {Name: "BPF_ARSH0", Value: 12},
+ {Name: "BPF_B0", Value: 2},
+ {Name: "BPF_CALL0", Value: 8},
{Name: "BPF_CGROUP_DEVICE", Value: 6},
{Name: "BPF_CGROUP_INET_EGRESS", Value: 1},
{Name: "BPF_CGROUP_INET_INGRESS"},
{Name: "BPF_CGROUP_INET_SOCK_CREATE", Value: 2},
{Name: "BPF_CGROUP_SOCK_OPS", Value: 3},
+ {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_F_ALLOW_MULTI", Value: 2},
{Name: "BPF_F_ALLOW_OVERRIDE", Value: 1},
{Name: "BPF_F_NO_COMMON_LRU", Value: 2},
@@ -13751,6 +13832,25 @@ var consts_ppc64le = []ConstValue{
{Name: "BPF_F_RDONLY", Value: 8},
{Name: "BPF_F_STRICT_ALIGNMENT", Value: 1},
{Name: "BPF_F_WRONLY", Value: 16},
+ {Name: "BPF_H0", Value: 1},
+ {Name: "BPF_IMM0"},
+ {Name: "BPF_IND0", Value: 2},
+ {Name: "BPF_JA0"},
+ {Name: "BPF_JEQ0", Value: 1},
+ {Name: "BPF_JGE0", Value: 3},
+ {Name: "BPF_JGT0", Value: 2},
+ {Name: "BPF_JLE0", Value: 11},
+ {Name: "BPF_JLT0", Value: 10},
+ {Name: "BPF_JMP", Value: 5},
+ {Name: "BPF_JNE0", Value: 5},
+ {Name: "BPF_JSET0", Value: 4},
+ {Name: "BPF_JSGE0", Value: 7},
+ {Name: "BPF_JSGT0", Value: 6},
+ {Name: "BPF_JSLE0", Value: 13},
+ {Name: "BPF_JSLT0", Value: 12},
+ {Name: "BPF_LD"},
+ {Name: "BPF_LDX", Value: 1},
+ {Name: "BPF_LSH0", Value: 6},
{Name: "BPF_MAP_CREATE"},
{Name: "BPF_MAP_DELETE_ELEM", Value: 3},
{Name: "BPF_MAP_GET_FD_BY_ID", Value: 14},
@@ -13774,11 +13874,17 @@ var consts_ppc64le = []ConstValue{
{Name: "BPF_MAP_TYPE_SOCKMAP", Value: 15},
{Name: "BPF_MAP_TYPE_STACK_TRACE", Value: 7},
{Name: "BPF_MAP_UPDATE_ELEM", Value: 2},
+ {Name: "BPF_MEM0", Value: 3},
+ {Name: "BPF_MOD0", Value: 9},
+ {Name: "BPF_MOV0", Value: 11},
+ {Name: "BPF_MUL0", Value: 2},
+ {Name: "BPF_NEG0", Value: 8},
{Name: "BPF_NOEXIST", Value: 1},
{Name: "BPF_OBJ_GET", Value: 7},
{Name: "BPF_OBJ_GET_INFO_BY_FD", Value: 15},
{Name: "BPF_OBJ_NAME_LEN", Value: 16},
{Name: "BPF_OBJ_PIN", Value: 6},
+ {Name: "BPF_OR0", Value: 4},
{Name: "BPF_PROG_ATTACH", Value: 8},
{Name: "BPF_PROG_DETACH", Value: 9},
{Name: "BPF_PROG_GET_FD_BY_ID", Value: 13},
@@ -13802,8 +13908,26 @@ var consts_ppc64le = []ConstValue{
{Name: "BPF_PROG_TYPE_TRACEPOINT", Value: 5},
{Name: "BPF_PROG_TYPE_XDP", Value: 6},
{Name: "BPF_PSEUDO_MAP_FD", Value: 1},
+ {Name: "BPF_REG_0"},
+ {Name: "BPF_REG_1", Value: 1},
+ {Name: "BPF_REG_10", Value: 10},
+ {Name: "BPF_REG_2", Value: 2},
+ {Name: "BPF_REG_3", Value: 3},
+ {Name: "BPF_REG_4", Value: 4},
+ {Name: "BPF_REG_5", Value: 5},
+ {Name: "BPF_REG_6", Value: 6},
+ {Name: "BPF_REG_7", Value: 7},
+ {Name: "BPF_REG_8", Value: 8},
+ {Name: "BPF_REG_9", Value: 9},
+ {Name: "BPF_RSH0", Value: 7},
{Name: "BPF_SK_SKB_STREAM_PARSER", Value: 4},
{Name: "BPF_SK_SKB_STREAM_VERDICT", Value: 5},
+ {Name: "BPF_ST", Value: 2},
+ {Name: "BPF_STX", Value: 3},
+ {Name: "BPF_SUB0", Value: 1},
+ {Name: "BPF_W0"},
+ {Name: "BPF_XADD0", Value: 6},
+ {Name: "BPF_XOR0", Value: 10},
{Name: "BRCTL_ADD_BRIDGE", Value: 2},
{Name: "BRCTL_DEL_BRIDGE", Value: 3},
{Name: "BRCTL_GET_BRIDGES", Value: 1},
@@ -16344,6 +16468,7 @@ var consts_ppc64le = []ConstValue{
{Name: "_DRM_VBLANK_SECONDARY", Value: 536870912},
{Name: "_DRM_VBLANK_SIGNAL", Value: 1073741824},
{Name: "_DRM_WRITE_COMBINING", Value: 16},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 58},
{Name: "__NR_accept", Value: 330},
{Name: "__NR_accept4", Value: 344},
{Name: "__NR_acct", Value: 51},
@@ -16623,6 +16748,9 @@ var consts_ppc64le = []ConstValue{
{Name: "__WALL", Value: 1073741824},
{Name: "__WCLONE", Value: 2147483648},
{Name: "__WNOTHREAD", Value: 536870912},
+ {Name: "bpf_call_code", Value: 133},
+ {Name: "bpf_exit_code", Value: 149},
+ {Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "29228dcbab03c80074b4719c2dd75a6f186759de"
+const revision_ppc64le = "582c76a6684cad8a0a355724a1fcb5179169b2f1"