aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-01-07 21:01:56 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-01-08 12:52:31 +0100
commit95a1be6aa48e5fb070d65a27efa4172a46be5ae2 (patch)
tree10a6a16c3ae561b2b03ada21e6f7714c0b940649
parent8ac12551c242ee54ea65b21c4c81ab41b838a602 (diff)
sys/linux: resolve few TODOs
-rw-r--r--executor/syscalls_linux.h10
-rw-r--r--sys/linux/386.go24
-rw-r--r--sys/linux/amd64.go24
-rw-r--r--sys/linux/arm.go24
-rw-r--r--sys/linux/arm64.go24
-rw-r--r--sys/linux/bpf.txt3
-rw-r--r--sys/linux/ppc64le.go24
-rw-r--r--sys/linux/socket.txt2
-rw-r--r--sys/linux/socket_netlink_xfrm.txt20
9 files changed, 74 insertions, 81 deletions
diff --git a/executor/syscalls_linux.h b/executor/syscalls_linux.h
index bdabb385b..faef476f8 100644
--- a/executor/syscalls_linux.h
+++ b/executor/syscalls_linux.h
@@ -2,7 +2,7 @@
#if defined(__i386__) || 0
#define GOARCH "386"
-#define SYZ_REVISION "19761e9c6fa7b5c23efe209122f70a87cb728def"
+#define SYZ_REVISION "4c64822c6b707ad89072a21db3874258929c0129"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
@@ -1489,7 +1489,7 @@ call_t syscalls[] = {
#if defined(__x86_64__) || 0
#define GOARCH "amd64"
-#define SYZ_REVISION "0714be62d1ae856270b2c18f1a45c59385724af1"
+#define SYZ_REVISION "040bde910c2bab847ddef91adf9b959305032f1b"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
@@ -3036,7 +3036,7 @@ call_t syscalls[] = {
#if defined(__arm__) || 0
#define GOARCH "arm"
-#define SYZ_REVISION "12b7fe7bdf6b5c79596458c63dfc99bba78c839c"
+#define SYZ_REVISION "0225b0af4514cf8d3f74eb14a51f7f2df957d336"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
@@ -4533,7 +4533,7 @@ call_t syscalls[] = {
#if defined(__aarch64__) || 0
#define GOARCH "arm64"
-#define SYZ_REVISION "d5bd05e8121551b6452423ab02a6329e0c83b9f3"
+#define SYZ_REVISION "aa1ba146297e92cb7b1c944b45fa6b8517d20b5f"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
@@ -6009,7 +6009,7 @@ call_t syscalls[] = {
#if defined(__ppc64__) || defined(__PPC64__) || defined(__powerpc64__) || 0
#define GOARCH "ppc64le"
-#define SYZ_REVISION "1b7a982ce2e430beb9a37e8638061439d69e011b"
+#define SYZ_REVISION "2d8dca03f154194cf3a43c13d7b6c3addf3eda6a"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
diff --git a/sys/linux/386.go b/sys/linux/386.go
index 27d784d57..3254e2143 100644
--- a/sys/linux/386.go
+++ b/sys/linux/386.go
@@ -557,7 +557,7 @@ var structDescs_386 = []*KeyedStruct{
&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},
- &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}},
&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{
@@ -6187,7 +6187,7 @@ var structDescs_386 = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs"}, Type: &UnionType{Key: StructKey{Name: "xfrm_attr"}}},
}, AlignAttr: 4}},
{Key: StructKey{Name: "xfrm_encap_tmpl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_encap_tmpl", TypeSize: 24}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "encap_type", TypeSize: 2}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_encap_type", FldName: "encap_type", TypeSize: 2}}, Vals: []uint64{18446744073709551613, 18446744073709551614, 18446744073709551615, 0, 1, 2, 3}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
@@ -6350,30 +6350,30 @@ var structDescs_386 = []*KeyedStruct{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4}},
}}},
{Key: StructKey{Name: "xfrm_selector", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_selector", TypeSize: 56, ArgDir: 1}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4, ArgDir: 1}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, ArgDir: 1, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4, ArgDir: 1}},
}}},
{Key: StructKey{Name: "xfrm_stats"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_stats", TypeSize: 12}, Fields: []Type{
@@ -6405,15 +6405,15 @@ var structDescs_386 = []*KeyedStruct{
{Key: StructKey{Name: "xfrm_user_migrate"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_migrate", TypeSize: 44}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "old_daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "new_saddr"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "mode", TypeSize: 1}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_proto", FldName: "proto", TypeSize: 1}}, Vals: []uint64{51, 50, 108, 60, 43, 255}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_mode", FldName: "mode", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "reqid", TypeSize: 4, IsOptional: true}}, ValuesStart: 13567, ValuesPerProc: 8},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "old_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "new_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
}}},
{Key: StructKey{Name: "xfrm_user_offload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_offload", TypeSize: 5}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_offload_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{1, 2}},
}}},
{Key: StructKey{Name: "xfrm_user_polexpire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_polexpire", TypeSize: 169}, Fields: []Type{
@@ -17920,4 +17920,4 @@ var consts_386 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "19761e9c6fa7b5c23efe209122f70a87cb728def"
+const revision_386 = "4c64822c6b707ad89072a21db3874258929c0129"
diff --git a/sys/linux/amd64.go b/sys/linux/amd64.go
index d52e4350c..b69363858 100644
--- a/sys/linux/amd64.go
+++ b/sys/linux/amd64.go
@@ -566,7 +566,7 @@ var structDescs_amd64 = []*KeyedStruct{
&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},
- &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}},
&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{
@@ -6375,7 +6375,7 @@ var structDescs_amd64 = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs"}, Type: &UnionType{Key: StructKey{Name: "xfrm_attr"}}},
}, AlignAttr: 4}},
{Key: StructKey{Name: "xfrm_encap_tmpl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_encap_tmpl", TypeSize: 24}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "encap_type", TypeSize: 2}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_encap_type", FldName: "encap_type", TypeSize: 2}}, Vals: []uint64{18446744073709551613, 18446744073709551614, 18446744073709551615, 0, 1, 2, 3}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
@@ -6538,30 +6538,30 @@ var structDescs_amd64 = []*KeyedStruct{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4}},
}}},
{Key: StructKey{Name: "xfrm_selector", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_selector", TypeSize: 56, ArgDir: 1}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4, ArgDir: 1}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, ArgDir: 1, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4, ArgDir: 1}},
}}},
{Key: StructKey{Name: "xfrm_stats"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_stats", TypeSize: 12}, Fields: []Type{
@@ -6593,15 +6593,15 @@ var structDescs_amd64 = []*KeyedStruct{
{Key: StructKey{Name: "xfrm_user_migrate"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_migrate", TypeSize: 44}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "old_daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "new_saddr"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "mode", TypeSize: 1}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_proto", FldName: "proto", TypeSize: 1}}, Vals: []uint64{51, 50, 108, 60, 43, 255}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_mode", FldName: "mode", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "reqid", TypeSize: 4, IsOptional: true}}, ValuesStart: 13567, ValuesPerProc: 8},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "old_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "new_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
}}},
{Key: StructKey{Name: "xfrm_user_offload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_offload", TypeSize: 5}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_offload_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{1, 2}},
}}},
{Key: StructKey{Name: "xfrm_user_polexpire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_polexpire", TypeSize: 169}, Fields: []Type{
@@ -18449,4 +18449,4 @@ var consts_amd64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "0714be62d1ae856270b2c18f1a45c59385724af1"
+const revision_amd64 = "040bde910c2bab847ddef91adf9b959305032f1b"
diff --git a/sys/linux/arm.go b/sys/linux/arm.go
index e32efab01..11e543f2b 100644
--- a/sys/linux/arm.go
+++ b/sys/linux/arm.go
@@ -562,7 +562,7 @@ var structDescs_arm = []*KeyedStruct{
&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},
- &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}},
&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{
@@ -6036,7 +6036,7 @@ var structDescs_arm = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs"}, Type: &UnionType{Key: StructKey{Name: "xfrm_attr"}}},
}, AlignAttr: 4}},
{Key: StructKey{Name: "xfrm_encap_tmpl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_encap_tmpl", TypeSize: 24}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "encap_type", TypeSize: 2}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_encap_type", FldName: "encap_type", TypeSize: 2}}, Vals: []uint64{18446744073709551613, 18446744073709551614, 18446744073709551615, 0, 1, 2, 3}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
@@ -6199,30 +6199,30 @@ var structDescs_arm = []*KeyedStruct{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4}},
}}},
{Key: StructKey{Name: "xfrm_selector", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_selector", TypeSize: 56, ArgDir: 1}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4, ArgDir: 1}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, ArgDir: 1, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4, ArgDir: 1}},
}}},
{Key: StructKey{Name: "xfrm_stats"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_stats", TypeSize: 12}, Fields: []Type{
@@ -6254,15 +6254,15 @@ var structDescs_arm = []*KeyedStruct{
{Key: StructKey{Name: "xfrm_user_migrate"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_migrate", TypeSize: 44}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "old_daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "new_saddr"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "mode", TypeSize: 1}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_proto", FldName: "proto", TypeSize: 1}}, Vals: []uint64{51, 50, 108, 60, 43}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_mode", FldName: "mode", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "reqid", TypeSize: 4, IsOptional: true}}, ValuesStart: 13567, ValuesPerProc: 8},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "old_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "new_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
}}},
{Key: StructKey{Name: "xfrm_user_offload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_offload", TypeSize: 5}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_offload_flags", FldName: "flags", TypeSize: 1}}},
}}},
{Key: StructKey{Name: "xfrm_user_polexpire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_polexpire", TypeSize: 169}, Fields: []Type{
@@ -17717,4 +17717,4 @@ var consts_arm = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "12b7fe7bdf6b5c79596458c63dfc99bba78c839c"
+const revision_arm = "0225b0af4514cf8d3f74eb14a51f7f2df957d336"
diff --git a/sys/linux/arm64.go b/sys/linux/arm64.go
index e937d50d0..6633593a4 100644
--- a/sys/linux/arm64.go
+++ b/sys/linux/arm64.go
@@ -566,7 +566,7 @@ var structDescs_arm64 = []*KeyedStruct{
&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},
- &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}},
&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{
@@ -6151,7 +6151,7 @@ var structDescs_arm64 = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs"}, Type: &UnionType{Key: StructKey{Name: "xfrm_attr"}}},
}, AlignAttr: 4}},
{Key: StructKey{Name: "xfrm_encap_tmpl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_encap_tmpl", TypeSize: 24}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "encap_type", TypeSize: 2}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_encap_type", FldName: "encap_type", TypeSize: 2}}, Vals: []uint64{18446744073709551613, 18446744073709551614, 18446744073709551615, 0, 1, 2, 3}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
@@ -6314,30 +6314,30 @@ var structDescs_arm64 = []*KeyedStruct{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4}},
}}},
{Key: StructKey{Name: "xfrm_selector", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_selector", TypeSize: 56, ArgDir: 1}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4, ArgDir: 1}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, ArgDir: 1, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4, ArgDir: 1}},
}}},
{Key: StructKey{Name: "xfrm_stats"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_stats", TypeSize: 12}, Fields: []Type{
@@ -6369,15 +6369,15 @@ var structDescs_arm64 = []*KeyedStruct{
{Key: StructKey{Name: "xfrm_user_migrate"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_migrate", TypeSize: 44}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "old_daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "new_saddr"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "mode", TypeSize: 1}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_proto", FldName: "proto", TypeSize: 1}}, Vals: []uint64{51, 50, 108, 60, 43, 255}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_mode", FldName: "mode", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "reqid", TypeSize: 4, IsOptional: true}}, ValuesStart: 13567, ValuesPerProc: 8},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "old_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "new_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
}}},
{Key: StructKey{Name: "xfrm_user_offload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_offload", TypeSize: 5}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_offload_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{1, 2}},
}}},
{Key: StructKey{Name: "xfrm_user_polexpire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_polexpire", TypeSize: 169}, Fields: []Type{
@@ -17831,4 +17831,4 @@ var consts_arm64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "d5bd05e8121551b6452423ab02a6329e0c83b9f3"
+const revision_arm64 = "aa1ba146297e92cb7b1c944b45fa6b8517d20b5f"
diff --git a/sys/linux/bpf.txt b/sys/linux/bpf.txt
index 312cb2c33..9cf7ba372 100644
--- a/sys/linux/bpf.txt
+++ b/sys/linux/bpf.txt
@@ -85,8 +85,7 @@ bpf_prog {
kern_version flags[bpf_kern_version, int32]
flags flags[bpf_prog_load_flags, int32]
prog_name array[const[0, int8], BPF_OBJ_NAME_LEN]
-# TODO: should be ifindex
- prog_ifindex const[0, int32]
+ prog_ifindex ifindex[opt]
}
bpf_licenses = "GPL", "syzkaller"
diff --git a/sys/linux/ppc64le.go b/sys/linux/ppc64le.go
index 59d3449d0..82edcef24 100644
--- a/sys/linux/ppc64le.go
+++ b/sys/linux/ppc64le.go
@@ -557,7 +557,7 @@ var structDescs_ppc64le = []*KeyedStruct{
&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},
- &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "prog_ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "prog_ifindex", TypeSize: 4, IsOptional: true}},
&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{
@@ -5996,7 +5996,7 @@ var structDescs_ppc64le = []*KeyedStruct{
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs"}, Type: &UnionType{Key: StructKey{Name: "xfrm_attr"}}},
}, AlignAttr: 4}},
{Key: StructKey{Name: "xfrm_encap_tmpl"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_encap_tmpl", TypeSize: 24}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "encap_type", TypeSize: 2}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_encap_type", FldName: "encap_type", TypeSize: 2}}, Vals: []uint64{18446744073709551613, 18446744073709551614, 18446744073709551615, 0, 1, 2, 3}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "encap_dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
@@ -6159,30 +6159,30 @@ var structDescs_ppc64le = []*KeyedStruct{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4}},
}}},
{Key: StructKey{Name: "xfrm_selector", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_selector", TypeSize: 56, ArgDir: 1}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address", Dir: 1}, FldName: "saddr"},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "dport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "dport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "sport", TypeSize: 2, ArgDir: 1}, BigEndian: true}, ValuesStart: 20000, ValuesPerProc: 4},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "sport_mask", TypeSize: 2, ArgDir: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "sport_mask", TypeSize: 2, ArgDir: 1, IsOptional: true}, BigEndian: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "family", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_d", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_prefixlens", FldName: "prefixlen_s", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{32, 128}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1, ArgDir: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4, ArgDir: 1}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, ArgDir: 1, IsOptional: true}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "user", TypeSize: 4, ArgDir: 1}},
}}},
{Key: StructKey{Name: "xfrm_stats"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_stats", TypeSize: 12}, Fields: []Type{
@@ -6214,15 +6214,15 @@ var structDescs_ppc64le = []*KeyedStruct{
{Key: StructKey{Name: "xfrm_user_migrate"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_migrate", TypeSize: 44}, Fields: []Type{
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "old_daddr"},
&UnionType{Key: StructKey{Name: "xfrm_address"}, FldName: "new_saddr"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "proto", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "mode", TypeSize: 1}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_proto", FldName: "proto", TypeSize: 1}}, Vals: []uint64{51, 50, 108, 60, 43, 255}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_mode", FldName: "mode", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 3, 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "reqid", TypeSize: 4, IsOptional: true}}, ValuesStart: 13567, ValuesPerProc: 8},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "old_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_family", FldName: "new_family", TypeSize: 2}}, Vals: []uint64{2, 10}},
}}},
{Key: StructKey{Name: "xfrm_user_offload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_offload", TypeSize: 5}, Fields: []Type{
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "ifindex", TypeSize: 4}}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "ifindex", TypeSize: 4, IsOptional: true}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xfrm_offload_flags", FldName: "flags", TypeSize: 1}}, Vals: []uint64{1, 2}},
}}},
{Key: StructKey{Name: "xfrm_user_polexpire"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_user_polexpire", TypeSize: 169}, Fields: []Type{
@@ -17512,4 +17512,4 @@ var consts_ppc64le = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "1b7a982ce2e430beb9a37e8638061439d69e011b"
+const revision_ppc64le = "2d8dca03f154194cf3a43c13d7b6c3addf3eda6a"
diff --git a/sys/linux/socket.txt b/sys/linux/socket.txt
index d9a01d5dc..36118441d 100644
--- a/sys/linux/socket.txt
+++ b/sys/linux/socket.txt
@@ -1,8 +1,6 @@
# Copyright 2017 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
-# TODO: due to autobind a socket can bind to port 0, that will result in a random port which is not reproducible
-
include <asm/ioctls.h>
include <linux/if_tun.h>
include <linux/if_bridge.h>
diff --git a/sys/linux/socket_netlink_xfrm.txt b/sys/linux/socket_netlink_xfrm.txt
index ceb9d6f11..e4ddffae6 100644
--- a/sys/linux/socket_netlink_xfrm.txt
+++ b/sys/linux/socket_netlink_xfrm.txt
@@ -363,8 +363,7 @@ xfrm_attr_encap {
} [align_4]
xfrm_encap_tmpl {
-# TODO: what's this?
- encap_type int16
+ encap_type flags[xfrm_encap_type, int16]
encap_sport sock_port
encap_dport sock_port
encap_oa xfrm_address
@@ -377,8 +376,7 @@ xfrm_attr_offload {
} [align_4]
xfrm_user_offload {
-# TODO: replace int32 with ifindex once I figure out how to get ifindex'es
- ifindex int32
+ ifindex ifindex[opt]
flags flags[xfrm_offload_flags, int8]
}
@@ -464,9 +462,8 @@ xfrm_attr_migrate {
xfrm_user_migrate {
old_daddr xfrm_address
new_saddr xfrm_address
-# TODO: what proto is this? all or only xfrm_proto's?
- proto flags[ipv6_types, int8]
- mode int8
+ proto flags[xfrm_proto, int8]
+ mode flags[xfrm_mode, int8]
reserved const[0, int16]
reqid proc[13567, 8, int32, opt]
old_family flags[xfrm_family, int16]
@@ -543,16 +540,14 @@ xfrm_selector {
daddr xfrm_address
saddr xfrm_address
dport sock_port
-# TODO: dport_mask/sport_mask are some be16, what should we pass here?
- dport_mask int16
+ dport_mask int16be[opt]
sport sock_port
- sport_mask int16
+ sport_mask int16be[opt]
family flags[xfrm_family, int16]
prefixlen_d flags[xfrm_prefixlens, int8]
prefixlen_s flags[xfrm_prefixlens, int8]
proto flags[ipv6_types, int8]
-# TODO: pass real ifindex or 0 (but ifindex is hard to get)
- ifindex int32
+ ifindex ifindex[opt]
user uid
}
@@ -665,3 +660,4 @@ xfrm_policy_flags = XFRM_POLICY_LOCALOK, XFRM_POLICY_ICMP
xfrm_policy_shares = XFRM_SHARE_ANY, XFRM_SHARE_SESSION, XFRM_SHARE_USER, XFRM_SHARE_UNIQUE
xfrm_policy_dir = XFRM_POLICY_IN, XFRM_POLICY_OUT, XFRM_POLICY_FWD
xfrm_prefixlens = 32, 128
+xfrm_encap_type = 0xfffffffffffffffd, 0xfffffffffffffffe, 0xffffffffffffffff, 0, 1, 2, 3