aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@freebsd.org>2018-12-07 22:33:27 +0100
committerDmitry Vyukov <dvyukov@google.com>2018-12-08 11:33:41 +0100
commit6f379080a99dd2f5b413cbcabbd94f72fe7c1c61 (patch)
treec180214510d5b5c813899c2616a12d3eb6fbf35a
parent6ae0ca72a1d509a52a8dacab63f81ce6348f4d09 (diff)
sys/freebsd: Improve socket related tests for FreeBSD.
-rw-r--r--executor/defs.h2
-rw-r--r--executor/syscalls.h5
-rw-r--r--sys/freebsd/gen/amd64.go177
-rw-r--r--sys/freebsd/socket.txt30
-rw-r--r--sys/freebsd/socket_amd64.const80
-rw-r--r--sys/freebsd/sys.txt8
-rw-r--r--sys/freebsd/sys_amd64.const20
7 files changed, 104 insertions, 218 deletions
diff --git a/executor/defs.h b/executor/defs.h
index 847171302..8fb19b221 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -20,7 +20,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
-#define SYZ_REVISION "b002874fa6625d0210f2708e91ece47d21ba1a64"
+#define SYZ_REVISION "f71f0054afcc787e14a5077d417bbf12680393f7"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
diff --git a/executor/syscalls.h b/executor/syscalls.h
index 682f95a2f..3849533df 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -297,7 +297,6 @@ const call_t syscalls[] = {
{"getsockname$inet6", 32},
{"getsockname$unix", 32},
{"getsockopt", 118},
- {"getsockopt$SO_PEERCRED", 118},
{"getsockopt$inet6_buf", 118},
{"getsockopt$inet6_int", 118},
{"getsockopt$inet6_tcp_buf", 118},
@@ -314,7 +313,7 @@ const call_t syscalls[] = {
{"getsockopt$inet_tcp_int", 118},
{"getsockopt$inet_udp", 118},
{"getsockopt$inet_udplite", 118},
- {"getsockopt$sock_cred", 118},
+ {"getsockopt$sock_accept_filter", 118},
{"getsockopt$sock_int", 118},
{"getsockopt$sock_linger", 118},
{"getsockopt$sock_timeval", 118},
@@ -437,7 +436,7 @@ const call_t syscalls[] = {
{"setsockopt$inet_tcp_int", 105},
{"setsockopt$inet_udp", 105},
{"setsockopt$inet_udplite", 105},
- {"setsockopt$sock_cred", 105},
+ {"setsockopt$sock_accept_filter", 105},
{"setsockopt$sock_int", 105},
{"setsockopt$sock_linger", 105},
{"setsockopt$sock_timeval", 105},
diff --git a/sys/freebsd/gen/amd64.go b/sys/freebsd/gen/amd64.go
index ce4633ab7..1d1a75d7e 100644
--- a/sys/freebsd/gen/amd64.go
+++ b/sys/freebsd/gen/amd64.go
@@ -38,9 +38,17 @@ var resources_amd64 = []*ResourceDesc{
}
var structDescs_amd64 = []*KeyedStruct{
+ {Key: StructKey{Name: "accept_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "accept_filter", TypeSize: 256}, Fields: []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "af_name", TypeSize: 16}, Kind: 2, SubKind: "accept_filter_names", Values: []string{"accf_data\x00\x00\x00\x00\x00\x00\x00", "accf_dns\x00\x00\x00\x00\x00\x00\x00\x00", "accf_http\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "af_arg", TypeSize: 240}, Kind: 1, RangeBegin: 240, RangeEnd: 240},
+ }}},
+ {Key: StructKey{Name: "accept_filter", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "accept_filter", TypeSize: 256, ArgDir: 1}, Fields: []Type{
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "af_name", TypeSize: 16, ArgDir: 1}, Kind: 2, SubKind: "accept_filter_names", Values: []string{"accf_data\x00\x00\x00\x00\x00\x00\x00", "accf_dns\x00\x00\x00\x00\x00\x00\x00\x00", "accf_http\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "af_arg", TypeSize: 240, ArgDir: 1}, Kind: 1, RangeBegin: 240, RangeEnd: 240},
+ }}},
{Key: StructKey{Name: "cmsghdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "cmsghdr", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "cmsg_len", TypeSize: 8}}, Buf: "parent"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "cmsg_levels", FldName: "cmsg_level", TypeSize: 4}}, Vals: []uint64{65535, 1, 0, 6, 17, 41, 256, 257}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "cmsg_levels", FldName: "cmsg_level", TypeSize: 4}}, Vals: []uint64{65535, 0, 41, 1, 58, 132, 6, 17, 136}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "cmsg_type", TypeSize: 4}}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}, AlignAttr: 8}},
@@ -309,7 +317,7 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "vlen", TypeSize: 8}}, Buf: "vec"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ctrl", TypeSize: 8, IsOptional: true}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "cmsghdr_un"}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "ctrllen", TypeSize: 8}}, BitSize: 8, Buf: "ctrl"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 128, 8, 131072, 1}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{1, 4, 8, 128, 256, 131072}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
}}},
{Key: StructKey{Name: "msqid_ds"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msqid_ds", TypeSize: 120}, Fields: []Type{
@@ -334,15 +342,15 @@ var structDescs_amd64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pollfd_events", FldName: "events", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 4, 256, 8192}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "revents", TypeSize: 2}}},
}}},
- {Key: StructKey{Name: "recv_msghdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "recv_msghdr", TypeSize: 56}, Fields: []Type{
+ {Key: StructKey{Name: "recv_msghdr", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "recv_msghdr", TypeSize: 56, ArgDir: 2}, Fields: []Type{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_name", TypeSize: 8, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "sockaddr_storage", Dir: 1}}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_namelen", TypeSize: 4}}, Buf: "msg_name"},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_namelen", TypeSize: 4, ArgDir: 2}}, Buf: "msg_name"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_iov", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec_out"}}}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_iovlen", TypeSize: 8}}, Buf: "msg_iov"},
- &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "msg_control", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_controllen", TypeSize: 8}}, Buf: "msg_control"},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "msg_flags", TypeSize: 4}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_iovlen", TypeSize: 8, ArgDir: 2}}, Buf: "msg_iov"},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "msg_control", TypeSize: 8, ArgDir: 2}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_controllen", TypeSize: 8, ArgDir: 2}}, Buf: "msg_control"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "msg_flags", TypeSize: 4, ArgDir: 2}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
}}},
{Key: StructKey{Name: "rlimit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "rlimit", TypeSize: 16}, Fields: []Type{
@@ -392,7 +400,7 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_iovlen", TypeSize: 8}}, Buf: "msg_iov"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_control", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "cmsghdr"}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "msg_controllen", TypeSize: 8}}, BitSize: 8, Buf: "msg_control"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "msg_flags", TypeSize: 4}}, Vals: []uint64{2048, 4, 128, 8, 131072, 1}, BitMask: true},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "msg_flags", TypeSize: 4}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
}}},
{Key: StructKey{Name: "shmid_ds"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "shmid_ds", TypeSize: 112}, Fields: []Type{
@@ -540,16 +548,6 @@ var structDescs_amd64 = []*KeyedStruct{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "sec", TypeSize: 8, ArgDir: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "usec", TypeSize: 8, ArgDir: 2}}},
}}},
- {Key: StructKey{Name: "ucred"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ucred", TypeSize: 12}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "pid", TypeSize: 4}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", TypeSize: 4}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "gid", TypeSize: 4}},
- }}},
- {Key: StructKey{Name: "ucred", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ucred", TypeSize: 12, ArgDir: 1}, Fields: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "pid", TypeSize: 4, ArgDir: 1}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", TypeSize: 4, ArgDir: 1}},
- &ResourceType{TypeCommon: TypeCommon{TypeName: "gid", FldName: "gid", TypeSize: 4, ArgDir: 1}},
- }}},
{Key: StructKey{Name: "unix_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "unix_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd0", TypeSize: 4, ArgDir: 1}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd1", TypeSize: 4, ArgDir: 1}},
@@ -870,13 +868,6 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "optval", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}},
}},
- {NR: 118, Name: "getsockopt$SO_PEERCRED", CallName: "getsockopt", Args: []Type{
- &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
- &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 65535},
- &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 8}}, Val: 17},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ucred", Dir: 1}}},
- &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"},
- }},
{NR: 118, Name: "getsockopt$inet6_buf", CallName: "getsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in6", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 41},
@@ -989,17 +980,17 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}},
}},
- {NR: 118, Name: "getsockopt$sock_cred", CallName: "getsockopt", Args: []Type{
+ {NR: 118, Name: "getsockopt$sock_accept_filter", CallName: "getsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 65535},
- &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 8}}, Val: 17},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ucred", Dir: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 8}}, Val: 4096},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "accept_filter", Dir: 1}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}},
}},
{NR: 118, Name: "getsockopt$sock_int", CallName: "getsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 65535},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sockopt_opt_sock_int", FldName: "optname", TypeSize: 8}}, Vals: []uint64{2, 32, 1, 4103, 16, 8, 12, 4118, 4098, 4100, 4099, 4, 4097, 29, 4104, 512, 256, 11, 16}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sockopt_opt_sock_int", FldName: "optname", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 256, 512, 1024, 2048, 8192, 16384, 32768, 65536, 4097, 4098, 4099, 4100, 4103, 4104, 4113, 4114, 4115, 4116, 4117, 4118, 4118, 4119, 4120, 4121}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}},
}},
@@ -1232,7 +1223,7 @@ var syscalls_amd64 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "buf"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{262144, 128, 8192, 1, 2, 16, 64, 524288}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 128, 262144}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "sockaddr_storage"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"},
}},
@@ -1240,7 +1231,7 @@ var syscalls_amd64 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "buf"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{262144, 128, 8192, 1, 2, 16, 64, 524288}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 128, 262144}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_in"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"},
}},
@@ -1248,7 +1239,7 @@ var syscalls_amd64 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in6", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "buf"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{262144, 128, 8192, 1, 2, 16, 64, 524288}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 128, 262144}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_in6"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"},
}},
@@ -1256,14 +1247,14 @@ var syscalls_amd64 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "buf"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{262144, 128, 8192, 1, 2, 16, 64, 524288}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 128, 262144}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "sockaddr_un"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"},
}},
{NR: 27, Name: "recvmsg", CallName: "recvmsg", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "recv_msghdr"}}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{262144, 128, 8192, 1, 2, 16, 64, 524288}, BitMask: true},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "recv_msghdr", Dir: 2}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "recv_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 128, 262144}, BitMask: true},
}},
{NR: 128, Name: "rename", CallName: "rename", Args: []Type{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
@@ -1386,18 +1377,18 @@ var syscalls_amd64 = []*Syscall{
{NR: 28, Name: "sendmsg", CallName: "sendmsg", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "send_msghdr"}}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 128, 8, 131072, 1}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 4, 8, 128, 256, 131072}, BitMask: true},
}},
{NR: 28, Name: "sendmsg$unix", CallName: "sendmsg", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_un"}}},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 128, 8, 131072, 1}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 4, 8, 128, 256, 131072}, BitMask: true},
}},
{NR: 133, Name: "sendto", CallName: "sendto", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "buf"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 128, 8, 131072, 1}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 4, 8, 128, 256, 131072}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "sockaddr_storage"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"},
}},
@@ -1405,7 +1396,7 @@ var syscalls_amd64 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "buf"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 128, 8, 131072, 1}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 4, 8, 128, 256, 131072}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_in"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"},
}},
@@ -1413,7 +1404,7 @@ var syscalls_amd64 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in6", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "buf"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 128, 8, 131072, 1}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 4, 8, 128, 256, 131072}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_in6"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"},
}},
@@ -1421,7 +1412,7 @@ var syscalls_amd64 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd", TypeSize: 4}},
&PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "buf"},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 128, 8, 131072, 1}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 4, 8, 128, 256, 131072}, BitMask: true},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8, IsOptional: true}, Type: &UnionType{Key: StructKey{Name: "sockaddr_un"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"},
}},
@@ -1701,17 +1692,17 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"},
}},
- {NR: 105, Name: "setsockopt$sock_cred", CallName: "setsockopt", Args: []Type{
+ {NR: 105, Name: "setsockopt$sock_accept_filter", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 65535},
- &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 8}}, Val: 17},
- &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ucred"}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "optname", TypeSize: 8}}, Val: 4096},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "accept_filter"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"},
}},
{NR: 105, Name: "setsockopt$sock_int", CallName: "setsockopt", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 65535},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sockopt_opt_sock_int", FldName: "optname", TypeSize: 8}}, Vals: []uint64{2, 32, 1, 4103, 16, 8, 12, 4118, 4098, 4100, 4099, 4, 4097, 29, 4104, 512, 256, 11, 16}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sockopt_opt_sock_int", FldName: "optname", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 256, 512, 1024, 2048, 8192, 16384, 32768, 65536, 4097, 4098, 4099, 4100, 4103, 4104, 4113, 4114, 4115, 4116, 4117, 4118, 4118, 4119, 4120, 4121}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "optlen", TypeSize: 8}}, Buf: "optval"},
}},
@@ -1798,7 +1789,7 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "oss", TypeSize: 8, IsOptional: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8, ArgDir: 1}}}},
}},
{NR: 97, Name: "socket", CallName: "socket", Args: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_domain", FldName: "domain", TypeSize: 8}}, Vals: []uint64{1, 2, 28, 23, 3, 16}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_domain", FldName: "domain", TypeSize: 8}}, Vals: []uint64{1, 2, 16, 23, 28}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 536870912, 268435456}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "proto", TypeSize: 1}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
@@ -1868,7 +1859,7 @@ var syscalls_amd64 = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 135, Name: "socketpair", CallName: "socketpair", Args: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_domain", FldName: "domain", TypeSize: 8}}, Vals: []uint64{1, 2, 28, 23, 3, 16}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_domain", FldName: "domain", TypeSize: 8}}, Vals: []uint64{1, 2, 16, 23, 28}},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 536870912, 268435456}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "proto", TypeSize: 1}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "pipefd", Dir: 1}}},
@@ -1952,7 +1943,6 @@ var syscalls_amd64 = []*Syscall{
var consts_amd64 = []ConstValue{
{Name: "AF_APPLETALK", Value: 16},
- {Name: "AF_AX25", Value: 3},
{Name: "AF_INET", Value: 2},
{Name: "AF_INET6", Value: 28},
{Name: "AF_IPX", Value: 23},
@@ -1999,6 +1989,7 @@ var consts_amd64 = []ConstValue{
{Name: "IPPROTO_ICMPV6", Value: 58},
{Name: "IPPROTO_IP"},
{Name: "IPPROTO_IPV6", Value: 41},
+ {Name: "IPPROTO_SCTP", Value: 132},
{Name: "IPPROTO_TCP", Value: 6},
{Name: "IPPROTO_UDP", Value: 17},
{Name: "IPPROTO_UDPLITE", Value: 136},
@@ -2056,10 +2047,7 @@ var consts_amd64 = []ConstValue{
{Name: "ITIMER_PROF", Value: 2},
{Name: "ITIMER_REAL"},
{Name: "ITIMER_VIRTUAL", Value: 1},
- {Name: "LINUX_AF_APPLETALK", Value: 5},
- {Name: "LINUX_AF_INET", Value: 2},
{Name: "LINUX_AF_INET6", Value: 10},
- {Name: "LINUX_AF_IPX", Value: 4},
{Name: "LINUX_AF_UNIX", Value: 1},
{Name: "LINUX_AF_UNSPEC"},
{Name: "LINUX_IPV6_CHECKSUM", Value: 7},
@@ -2083,64 +2071,12 @@ var consts_amd64 = []ConstValue{
{Name: "LINUX_IPV6_RTHDRDSTOPTS", Value: 55},
{Name: "LINUX_IPV6_UNICAST_HOPS", Value: 16},
{Name: "LINUX_IPV6_V6ONLY", Value: 26},
- {Name: "LINUX_MSG_CMSG_CLOEXEC", Value: 1073741824},
- {Name: "LINUX_MSG_DONTROUTE", Value: 4},
- {Name: "LINUX_MSG_DONTWAIT", Value: 64},
- {Name: "LINUX_MSG_EOR", Value: 128},
- {Name: "LINUX_MSG_NOSIGNAL", Value: 16384},
- {Name: "LINUX_MSG_OOB", Value: 1},
- {Name: "LINUX_MSG_PEEK", Value: 2},
- {Name: "LINUX_MSG_TRUNC", Value: 32},
- {Name: "LINUX_MSG_WAITALL", Value: 256},
- {Name: "LINUX_MSG_WAITFORONE", Value: 65536},
- {Name: "LINUX_POLLERR", Value: 8},
- {Name: "LINUX_POLLHUP", Value: 16},
- {Name: "LINUX_POLLIN", Value: 1},
- {Name: "LINUX_POLLNVAL", Value: 32},
- {Name: "LINUX_POLLOUT", Value: 4},
- {Name: "LINUX_POLLPRI", Value: 2},
- {Name: "LINUX_POLLRDBAND", Value: 128},
- {Name: "LINUX_POLLRDNORM", Value: 64},
- {Name: "LINUX_POLLWRBAND", Value: 512},
- {Name: "LINUX_POLLWRNORM", Value: 256},
- {Name: "LINUX_RLIMIT_AS", Value: 9},
- {Name: "LINUX_RLIMIT_CORE", Value: 4},
- {Name: "LINUX_RLIMIT_CPU"},
- {Name: "LINUX_RLIMIT_DATA", Value: 2},
- {Name: "LINUX_RLIMIT_FSIZE", Value: 1},
- {Name: "LINUX_RLIMIT_MEMLOCK", Value: 8},
- {Name: "LINUX_RLIMIT_NOFILE", Value: 7},
- {Name: "LINUX_RLIMIT_NPROC", Value: 6},
- {Name: "LINUX_RLIMIT_RSS", Value: 5},
- {Name: "LINUX_RLIMIT_STACK", Value: 3},
{Name: "LINUX_SCM_CREDENTIALS", Value: 2},
{Name: "LINUX_SCM_RIGHTS", Value: 1},
- {Name: "LINUX_SOCK_CLOEXEC", Value: 524288},
{Name: "LINUX_SOCK_DGRAM", Value: 2},
- {Name: "LINUX_SOCK_NONBLOCK", Value: 2048},
- {Name: "LINUX_SOCK_RAW", Value: 3},
- {Name: "LINUX_SOCK_RDM", Value: 4},
{Name: "LINUX_SOCK_SEQPACKET", Value: 5},
{Name: "LINUX_SOCK_STREAM", Value: 1},
{Name: "LINUX_SOL_SOCKET", Value: 1},
- {Name: "LINUX_SOL_UDP", Value: 17},
- {Name: "LINUX_SO_ACCEPTCONN", Value: 30},
- {Name: "LINUX_SO_BROADCAST", Value: 6},
- {Name: "LINUX_SO_DEBUG", Value: 1},
- {Name: "LINUX_SO_DONTROUTE", Value: 5},
- {Name: "LINUX_SO_ERROR", Value: 4},
- {Name: "LINUX_SO_KEEPALIVE", Value: 9},
- {Name: "LINUX_SO_LINGER", Value: 13},
- {Name: "LINUX_SO_OOBINLINE", Value: 10},
- {Name: "LINUX_SO_RCVBUF", Value: 8},
- {Name: "LINUX_SO_RCVLOWAT", Value: 18},
- {Name: "LINUX_SO_RCVTIMEO", Value: 20},
- {Name: "LINUX_SO_REUSEADDR", Value: 2},
- {Name: "LINUX_SO_SNDBUF", Value: 7},
- {Name: "LINUX_SO_SNDLOWAT", Value: 19},
- {Name: "LINUX_SO_SNDTIMEO", Value: 21},
- {Name: "LINUX_SO_TIMESTAMP", Value: 29},
- {Name: "LINUX_SO_TYPE", Value: 3},
{Name: "LOCK_EX", Value: 2},
{Name: "LOCK_NB", Value: 4},
{Name: "LOCK_SH", Value: 1},
@@ -2172,18 +2108,15 @@ var consts_amd64 = []ConstValue{
{Name: "MRT6_ADD_MIF", Value: 102},
{Name: "MRT6_DEL_MFC", Value: 105},
{Name: "MSG_CMSG_CLOEXEC", Value: 262144},
- {Name: "MSG_CONFIRM", Value: 2048},
{Name: "MSG_DONTROUTE", Value: 4},
{Name: "MSG_DONTWAIT", Value: 128},
+ {Name: "MSG_EOF", Value: 256},
{Name: "MSG_EOR", Value: 8},
- {Name: "MSG_ERRQUEUE", Value: 8192},
{Name: "MSG_NOERROR", Value: 4096},
{Name: "MSG_NOSIGNAL", Value: 131072},
{Name: "MSG_OOB", Value: 1},
{Name: "MSG_PEEK", Value: 2},
- {Name: "MSG_TRUNC", Value: 16},
{Name: "MSG_WAITALL", Value: 64},
- {Name: "MSG_WAITFORONE", Value: 524288},
{Name: "MS_ASYNC", Value: 1},
{Name: "MS_INVALIDATE", Value: 2},
{Name: "MS_SYNC"},
@@ -2254,34 +2187,42 @@ var consts_amd64 = []ConstValue{
{Name: "SOCK_RDM", Value: 4},
{Name: "SOCK_SEQPACKET", Value: 5},
{Name: "SOCK_STREAM", Value: 1},
- {Name: "SOL_AX25", Value: 257},
- {Name: "SOL_IP"},
- {Name: "SOL_IPV6", Value: 41},
- {Name: "SOL_IPX", Value: 256},
{Name: "SOL_SOCKET", Value: 65535},
- {Name: "SOL_TCP", Value: 6},
{Name: "SO_ACCEPTCONN", Value: 2},
+ {Name: "SO_ACCEPTFILTER", Value: 4096},
+ {Name: "SO_BINTIME", Value: 8192},
{Name: "SO_BROADCAST", Value: 32},
{Name: "SO_DEBUG", Value: 1},
+ {Name: "SO_DOMAIN", Value: 4121},
{Name: "SO_DONTROUTE", Value: 16},
{Name: "SO_ERROR", Value: 4103},
{Name: "SO_KEEPALIVE", Value: 8},
{Name: "SO_LINGER", Value: 128},
- {Name: "SO_NO_CHECK", Value: 11},
+ {Name: "SO_LISTENINCQLEN", Value: 4115},
+ {Name: "SO_LISTENQLEN", Value: 4114},
+ {Name: "SO_LISTENQLIMIT", Value: 4113},
+ {Name: "SO_MAX_PACING_RATE", Value: 4120},
+ {Name: "SO_NOSIGPIPE", Value: 2048},
+ {Name: "SO_NO_DDP", Value: 32768},
+ {Name: "SO_NO_OFFLOAD", Value: 16384},
{Name: "SO_OOBINLINE", Value: 256},
- {Name: "SO_PASSCRED", Value: 16},
- {Name: "SO_PEERCRED", Value: 17},
- {Name: "SO_PRIORITY", Value: 12},
{Name: "SO_PROTOCOL", Value: 4118},
+ {Name: "SO_PROTOTYPE", Value: 4118},
{Name: "SO_RCVBUF", Value: 4098},
{Name: "SO_RCVLOWAT", Value: 4100},
{Name: "SO_RCVTIMEO", Value: 4102},
{Name: "SO_REUSEADDR", Value: 4},
{Name: "SO_REUSEPORT", Value: 512},
+ {Name: "SO_REUSEPORT_LB", Value: 65536},
+ {Name: "SO_SETFIB", Value: 4116},
{Name: "SO_SNDBUF", Value: 4097},
{Name: "SO_SNDLOWAT", Value: 4099},
{Name: "SO_SNDTIMEO", Value: 4101},
+ {Name: "SO_TIMESTAMP", Value: 1024},
+ {Name: "SO_TS_CLOCK", Value: 4119},
{Name: "SO_TYPE", Value: 4104},
+ {Name: "SO_USELOOPBACK", Value: 64},
+ {Name: "SO_USER_COOKIE", Value: 4117},
{Name: "SYS___semctl", Value: 510},
{Name: "SYS_accept", Value: 30},
{Name: "SYS_accept4", Value: 541},
@@ -2465,4 +2406,4 @@ var consts_amd64 = []ConstValue{
{Name: "WUNTRACED", Value: 2},
}
-const revision_amd64 = "b002874fa6625d0210f2708e91ece47d21ba1a64"
+const revision_amd64 = "f71f0054afcc787e14a5077d417bbf12680393f7"
diff --git a/sys/freebsd/socket.txt b/sys/freebsd/socket.txt
index 6fee81437..e7775250f 100644
--- a/sys/freebsd/socket.txt
+++ b/sys/freebsd/socket.txt
@@ -8,8 +8,6 @@ include <sys/socket.h>
include <sys/sockio.h>
include <netinet/in.h>
include <linux/linux.h>
-include <compat/linux/linux_file.h>
-include <compat/linux/linux_socket.h>
resource sock[fd]
type sock_port proc[20000, 4, int16be]
@@ -28,7 +26,7 @@ getsockname(fd sock, addr ptr[out, sockaddr_storage], addrlen ptr[inout, len[add
getpeername(fd sock, peer ptr[out, sockaddr_storage], peerlen ptr[inout, len[peer, int32]])
sendmsg(fd sock, msg ptr[in, send_msghdr], f flags[send_flags])
-recvmsg(fd sock, msg ptr[in, recv_msghdr], f flags[recv_flags])
+recvmsg(fd sock, msg ptr[inout, recv_msghdr], f flags[recv_flags])
listen(fd sock, backlog int32)
shutdown(fd sock, how flags[shutdown_flags])
@@ -36,13 +34,14 @@ shutdown(fd sock, how flags[shutdown_flags])
getsockopt(fd sock, level int32, optname int32, optval buffer[out], optlen ptr[inout, len[optval, int32]])
setsockopt(fd sock, level int32, optname int32, optval buffer[in], optlen len[optval])
-socket_domain = AF_UNIX, AF_INET, AF_INET6, AF_IPX, AF_AX25, AF_APPLETALK
+socket_domain = AF_UNIX, AF_INET, AF_APPLETALK, AF_IPX, AF_INET6
socket_type = SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, SOCK_RDM, SOCK_SEQPACKET, SOCK_NONBLOCK, SOCK_CLOEXEC
accept_flags = SOCK_NONBLOCK, SOCK_CLOEXEC
shutdown_flags = SHUT_RD, SHUT_WR
-send_flags = MSG_CONFIRM, MSG_DONTROUTE, MSG_DONTWAIT, MSG_EOR, MSG_NOSIGNAL, MSG_OOB
-recv_flags = MSG_CMSG_CLOEXEC, MSG_DONTWAIT, MSG_ERRQUEUE, MSG_OOB, MSG_PEEK, MSG_TRUNC, MSG_WAITALL, MSG_WAITFORONE
-cmsg_levels = SOL_SOCKET, IPPROTO_ICMP, SOL_IP, SOL_TCP, LINUX_SOL_UDP, SOL_IPV6, SOL_IPX, SOL_AX25
+send_flags = MSG_OOB, MSG_DONTROUTE, MSG_EOR, MSG_DONTWAIT, MSG_EOF, MSG_NOSIGNAL
+recv_flags = MSG_OOB, MSG_PEEK, MSG_WAITALL, MSG_DONTWAIT, MSG_CMSG_CLOEXEC
+
+cmsg_levels = SOL_SOCKET, IPPROTO_IP, IPPROTO_IPV6, IPPROTO_ICMP, IPPROTO_ICMPV6, IPPROTO_SCTP, IPPROTO_TCP, IPPROTO_UDP, IPPROTO_UDPLITE
# This sockaddr type corresponds to the sockaddr_storage type and is 128 bytes size.
sockaddr_storage [
@@ -58,7 +57,7 @@ send_msghdr {
msg_iovlen len[msg_iov, intptr]
msg_control ptr[in, array[cmsghdr]]
msg_controllen bytesize[msg_control, intptr]
- msg_flags flags[send_flags, int32]
+ msg_flags int32
}
recv_msghdr {
@@ -78,17 +77,22 @@ cmsghdr {
data array[int8]
} [align_ptr]
+accept_filter {
+ af_name string[accept_filter_names, 16]
+ af_arg array[int8, 240]
+}
+
+accept_filter_names = "accf_data", "accf_dns", "accf_http"
+
# Socket options
getsockopt$sock_int(fd sock, level const[SOL_SOCKET], optname flags[sockopt_opt_sock_int], optval ptr[out, int32], optlen ptr[inout, len[optval, int32]])
setsockopt$sock_int(fd sock, level const[SOL_SOCKET], optname flags[sockopt_opt_sock_int], optval ptr[in, int32], optlen len[optval])
getsockopt$sock_linger(fd sock, level const[SOL_SOCKET], optname const[SO_LINGER], optval ptr[out, linger], optlen ptr[inout, len[optval, int32]])
setsockopt$sock_linger(fd sock, level const[SOL_SOCKET], optname const[SO_LINGER], optval ptr[in, linger], optlen len[optval])
-getsockopt$sock_cred(fd sock, level const[SOL_SOCKET], optname const[SO_PEERCRED], optval ptr[out, ucred], optlen ptr[inout, len[optval, int32]])
-setsockopt$sock_cred(fd sock, level const[SOL_SOCKET], optname const[SO_PEERCRED], optval ptr[in, ucred], optlen len[optval])
getsockopt$sock_timeval(fd sock, level const[SOL_SOCKET], optname flags[sockopt_opt_sock_timeval], optval ptr[out, timeval], optlen ptr[inout, len[optval, int32]])
setsockopt$sock_timeval(fd sock, level const[SOL_SOCKET], optname flags[sockopt_opt_sock_timeval], optval ptr[in, timeval], optlen len[optval])
-getsockopt$SO_PEERCRED(fd sock, level const[SOL_SOCKET], optname const[SO_PEERCRED], optval ptr[out, ucred], optlen len[optval])
-
-sockopt_opt_sock_int = SO_ACCEPTCONN, SO_BROADCAST, SO_DEBUG, SO_ERROR, SO_DONTROUTE, SO_KEEPALIVE, SO_PRIORITY, SO_PROTOCOL, SO_RCVBUF, SO_RCVLOWAT, SO_SNDLOWAT, SO_REUSEADDR, SO_SNDBUF, LINUX_SO_TIMESTAMP, SO_TYPE, SO_REUSEPORT, SO_OOBINLINE, SO_NO_CHECK, SO_PASSCRED
+getsockopt$sock_accept_filter(fd sock, level const[SOL_SOCKET], optname const[SO_ACCEPTFILTER], optval ptr[out, accept_filter], optlen ptr[inout, len[optval, int32]])
+setsockopt$sock_accept_filter(fd sock, level const[SOL_SOCKET], optname const[SO_ACCEPTFILTER], optval ptr[in, accept_filter], optlen len[optval])
+sockopt_opt_sock_int = SO_DEBUG, SO_ACCEPTCONN, SO_REUSEADDR, SO_KEEPALIVE, SO_DONTROUTE, SO_BROADCAST, SO_USELOOPBACK, SO_OOBINLINE, SO_REUSEPORT, SO_TIMESTAMP, SO_NOSIGPIPE, SO_BINTIME, SO_NO_OFFLOAD, SO_NO_DDP, SO_REUSEPORT_LB, SO_SNDBUF, SO_RCVBUF, SO_SNDLOWAT, SO_RCVLOWAT, SO_ERROR, SO_TYPE, SO_LISTENQLIMIT, SO_LISTENQLEN, SO_LISTENINCQLEN, SO_SETFIB, SO_USER_COOKIE, SO_PROTOCOL, SO_PROTOTYPE, SO_TS_CLOCK, SO_MAX_PACING_RATE, SO_DOMAIN
sockopt_opt_sock_timeval = SO_RCVTIMEO, SO_SNDTIMEO
diff --git a/sys/freebsd/socket_amd64.const b/sys/freebsd/socket_amd64.const
index d19b81705..f34f4fc60 100644
--- a/sys/freebsd/socket_amd64.const
+++ b/sys/freebsd/socket_amd64.const
@@ -1,64 +1,26 @@
# AUTOGENERATED FILE
AF_APPLETALK = 16
-AF_AX25 = 3
AF_INET = 2
AF_INET6 = 28
AF_IPX = 23
AF_UNIX = 1
IPPROTO_ICMP = 1
-LINUX_AF_APPLETALK = 5
-LINUX_AF_INET = 2
-LINUX_AF_INET6 = 10
-LINUX_AF_IPX = 4
-LINUX_AF_UNIX = 1
-LINUX_MSG_CMSG_CLOEXEC = 1073741824
-LINUX_MSG_DONTROUTE = 4
-LINUX_MSG_DONTWAIT = 64
-LINUX_MSG_EOR = 128
-LINUX_MSG_NOSIGNAL = 16384
-LINUX_MSG_OOB = 1
-LINUX_MSG_PEEK = 2
-LINUX_MSG_TRUNC = 32
-LINUX_MSG_WAITALL = 256
-LINUX_MSG_WAITFORONE = 65536
-LINUX_SOCK_CLOEXEC = 524288
-LINUX_SOCK_DGRAM = 2
-LINUX_SOCK_NONBLOCK = 2048
-LINUX_SOCK_RAW = 3
-LINUX_SOCK_RDM = 4
-LINUX_SOCK_SEQPACKET = 5
-LINUX_SOCK_STREAM = 1
-LINUX_SOL_SOCKET = 1
-LINUX_SOL_UDP = 17
-LINUX_SO_ACCEPTCONN = 30
-LINUX_SO_BROADCAST = 6
-LINUX_SO_DEBUG = 1
-LINUX_SO_DONTROUTE = 5
-LINUX_SO_ERROR = 4
-LINUX_SO_KEEPALIVE = 9
-LINUX_SO_LINGER = 13
-LINUX_SO_OOBINLINE = 10
-LINUX_SO_RCVBUF = 8
-LINUX_SO_RCVLOWAT = 18
-LINUX_SO_RCVTIMEO = 20
-LINUX_SO_REUSEADDR = 2
-LINUX_SO_SNDBUF = 7
-LINUX_SO_SNDLOWAT = 19
-LINUX_SO_SNDTIMEO = 21
-LINUX_SO_TIMESTAMP = 29
-LINUX_SO_TYPE = 3
+IPPROTO_ICMPV6 = 58
+IPPROTO_IP = 0
+IPPROTO_IPV6 = 41
+IPPROTO_SCTP = 132
+IPPROTO_TCP = 6
+IPPROTO_UDP = 17
+IPPROTO_UDPLITE = 136
MSG_CMSG_CLOEXEC = 262144
-MSG_CONFIRM = 2048
MSG_DONTROUTE = 4
MSG_DONTWAIT = 128
+MSG_EOF = 256
MSG_EOR = 8
-MSG_ERRQUEUE = 8192
MSG_NOSIGNAL = 131072
MSG_OOB = 1
MSG_PEEK = 2
-MSG_TRUNC = 16
MSG_WAITALL = 64
-MSG_WAITFORONE = 524288
SHUT_RD = 0
SHUT_WR = 1
SOCK_CLOEXEC = 268435456
@@ -68,34 +30,42 @@ SOCK_RAW = 3
SOCK_RDM = 4
SOCK_SEQPACKET = 5
SOCK_STREAM = 1
-SOL_AX25 = 257
-SOL_IP = 0
-SOL_IPV6 = 41
-SOL_IPX = 256
SOL_SOCKET = 65535
-SOL_TCP = 6
SO_ACCEPTCONN = 2
+SO_ACCEPTFILTER = 4096
+SO_BINTIME = 8192
SO_BROADCAST = 32
SO_DEBUG = 1
+SO_DOMAIN = 4121
SO_DONTROUTE = 16
SO_ERROR = 4103
SO_KEEPALIVE = 8
SO_LINGER = 128
-SO_NO_CHECK = 11
+SO_LISTENINCQLEN = 4115
+SO_LISTENQLEN = 4114
+SO_LISTENQLIMIT = 4113
+SO_MAX_PACING_RATE = 4120
+SO_NOSIGPIPE = 2048
+SO_NO_DDP = 32768
+SO_NO_OFFLOAD = 16384
SO_OOBINLINE = 256
-SO_PASSCRED = 16
-SO_PEERCRED = 17
-SO_PRIORITY = 12
SO_PROTOCOL = 4118
+SO_PROTOTYPE = 4118
SO_RCVBUF = 4098
SO_RCVLOWAT = 4100
SO_RCVTIMEO = 4102
SO_REUSEADDR = 4
SO_REUSEPORT = 512
+SO_REUSEPORT_LB = 65536
+SO_SETFIB = 4116
SO_SNDBUF = 4097
SO_SNDLOWAT = 4099
SO_SNDTIMEO = 4101
+SO_TIMESTAMP = 1024
+SO_TS_CLOCK = 4119
SO_TYPE = 4104
+SO_USELOOPBACK = 64
+SO_USER_COOKIE = 4117
SYS_accept = 30
SYS_accept4 = 541
SYS_bind = 104
diff --git a/sys/freebsd/sys.txt b/sys/freebsd/sys.txt
index cf1dd960e..985236ad3 100644
--- a/sys/freebsd/sys.txt
+++ b/sys/freebsd/sys.txt
@@ -16,8 +16,6 @@ include <sys/resource.h>
include <time.h>
include <signal.h>
include <sys/wait.h>
-include <linux/linux.h>
-include <compat/linux/linux_event.h>
syz_execute_func(text ptr[in, text[target]])
@@ -192,12 +190,6 @@ linger {
linger int32
}
-ucred {
- pid pid
- uid uid
- gid gid
-}
-
pollfd_events = POLLIN, POLLPRI, POLLOUT, POLLERR, POLLHUP, POLLNVAL, POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND, POLLINIGNEOF
mknod_mode = S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO, S_IFSOCK, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
at_flags = AT_SYMLINK_NOFOLLOW, AT_SYMLINK_FOLLOW
diff --git a/sys/freebsd/sys_amd64.const b/sys/freebsd/sys_amd64.const
index 74aebbbae..6da9d4992 100644
--- a/sys/freebsd/sys_amd64.const
+++ b/sys/freebsd/sys_amd64.const
@@ -25,26 +25,6 @@ F_WRLCK = 3
ITIMER_PROF = 2
ITIMER_REAL = 0
ITIMER_VIRTUAL = 1
-LINUX_POLLERR = 8
-LINUX_POLLHUP = 16
-LINUX_POLLIN = 1
-LINUX_POLLNVAL = 32
-LINUX_POLLOUT = 4
-LINUX_POLLPRI = 2
-LINUX_POLLRDBAND = 128
-LINUX_POLLRDNORM = 64
-LINUX_POLLWRBAND = 512
-LINUX_POLLWRNORM = 256
-LINUX_RLIMIT_AS = 9
-LINUX_RLIMIT_CORE = 4
-LINUX_RLIMIT_CPU = 0
-LINUX_RLIMIT_DATA = 2
-LINUX_RLIMIT_FSIZE = 1
-LINUX_RLIMIT_MEMLOCK = 8
-LINUX_RLIMIT_NOFILE = 7
-LINUX_RLIMIT_NPROC = 6
-LINUX_RLIMIT_RSS = 5
-LINUX_RLIMIT_STACK = 3
LOCK_EX = 2
LOCK_NB = 4
LOCK_SH = 1