aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Johnston <markjdb@gmail.com>2020-03-26 14:59:17 -0400
committerDmitry Vyukov <dvyukov@google.com>2020-03-27 05:51:58 +0100
commited2c77ae5935789c2f5ecc6000e300ab78deef68 (patch)
tree2b5c7e98175482a39798a8bbd9f7695996f0d324
parentf2e4c4ea821f1f6814423cc7c67f77e7d12e7691 (diff)
sys/freebsd: add connectat(2)
-rw-r--r--executor/defs.h4
-rw-r--r--executor/syscalls.h4
-rw-r--r--sys/freebsd/gen/386.go15
-rw-r--r--sys/freebsd/gen/amd64.go15
-rw-r--r--sys/freebsd/socket.txt1
-rw-r--r--sys/freebsd/socket_386.const1
-rw-r--r--sys/freebsd/socket_amd64.const1
-rw-r--r--sys/freebsd/socket_unix.txt1
-rw-r--r--sys/freebsd/socket_unix_386.const1
-rw-r--r--sys/freebsd/socket_unix_amd64.const1
10 files changed, 40 insertions, 4 deletions
diff --git a/executor/defs.h b/executor/defs.h
index cf3563c10..4069e573c 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -20,7 +20,7 @@
#if GOARCH_386
#define GOARCH "386"
-#define SYZ_REVISION "ce7560b0a32eb01017cb21cee645788bf75a7ed9"
+#define SYZ_REVISION "9aa913dd00fd9a77ce8244e6e146d09fdad95e8f"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -30,7 +30,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
-#define SYZ_REVISION "649ca6e7f658089a75150592b5117517423f96be"
+#define SYZ_REVISION "d6baa2c780ceca787d2bfc2b770607581ff9e055"
#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 29e8ec8f0..e58566d53 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -267,6 +267,8 @@ const call_t syscalls[] = {
{"connect$inet", 98},
{"connect$inet6", 98},
{"connect$unix", 98},
+ {"connectat", 539},
+ {"connectat$unix", 539},
{"copy_file_range", 569},
{"dup", 41},
{"dup2", 90},
@@ -779,6 +781,8 @@ const call_t syscalls[] = {
{"connect$inet", 98},
{"connect$inet6", 98},
{"connect$unix", 98},
+ {"connectat", 539},
+ {"connectat$unix", 539},
{"copy_file_range", 569},
{"dup", 41},
{"dup2", 90},
diff --git a/sys/freebsd/gen/386.go b/sys/freebsd/gen/386.go
index 07be4e5fc..ea4fbb88e 100644
--- a/sys/freebsd/gen/386.go
+++ b/sys/freebsd/gen/386.go
@@ -1986,6 +1986,18 @@ var syscalls_386 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, &UnionType{Key: StructKey{Name: "sockaddr_un"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
}},
+ {NR: 539, Name: "connectat", CallName: "connectat", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "dirfd", TypeSize: 4}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, &UnionType{Key: StructKey{Name: "sockaddr_storage"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+ }},
+ {NR: 539, Name: "connectat$unix", CallName: "connectat", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "dirfd", TypeSize: 4}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, &UnionType{Key: StructKey{Name: "sockaddr_un"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+ }},
{NR: 569, Name: "copy_file_range", CallName: "copy_file_range", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "infd", TypeSize: 4}},
&PtrType{TypeCommon{TypeName: "ptr", FldName: "inoffp", TypeSize: 4}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8, ArgDir: 2}}}},
@@ -5595,6 +5607,7 @@ var consts_386 = []ConstValue{
{"SYS_clock_settime", 233},
{"SYS_close", 6},
{"SYS_connect", 98},
+ {"SYS_connectat", 539},
{"SYS_copy_file_range", 569},
{"SYS_dup", 41},
{"SYS_dup2", 90},
@@ -5797,4 +5810,4 @@ var consts_386 = []ConstValue{
{"WUNTRACED", 2},
}
-const revision_386 = "ce7560b0a32eb01017cb21cee645788bf75a7ed9"
+const revision_386 = "9aa913dd00fd9a77ce8244e6e146d09fdad95e8f"
diff --git a/sys/freebsd/gen/amd64.go b/sys/freebsd/gen/amd64.go
index 8f2508512..48dc844be 100644
--- a/sys/freebsd/gen/amd64.go
+++ b/sys/freebsd/gen/amd64.go
@@ -2013,6 +2013,18 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, &UnionType{Key: StructKey{Name: "sockaddr_un"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Path: []string{"addr"}},
}},
+ {NR: 539, Name: "connectat", CallName: "connectat", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "dirfd", TypeSize: 4}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, &UnionType{Key: StructKey{Name: "sockaddr_storage"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Path: []string{"addr"}},
+ }},
+ {NR: 539, Name: "connectat$unix", CallName: "connectat", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "dirfd", TypeSize: 4}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, &UnionType{Key: StructKey{Name: "sockaddr_un"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Path: []string{"addr"}},
+ }},
{NR: 569, Name: "copy_file_range", CallName: "copy_file_range", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "infd", TypeSize: 4}},
&PtrType{TypeCommon{TypeName: "ptr", FldName: "inoffp", TypeSize: 8}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8, ArgDir: 2}}}},
@@ -5622,6 +5634,7 @@ var consts_amd64 = []ConstValue{
{"SYS_clock_settime", 233},
{"SYS_close", 6},
{"SYS_connect", 98},
+ {"SYS_connectat", 539},
{"SYS_copy_file_range", 569},
{"SYS_dup", 41},
{"SYS_dup2", 90},
@@ -5824,4 +5837,4 @@ var consts_amd64 = []ConstValue{
{"WUNTRACED", 2},
}
-const revision_amd64 = "649ca6e7f658089a75150592b5117517423f96be"
+const revision_amd64 = "d6baa2c780ceca787d2bfc2b770607581ff9e055"
diff --git a/sys/freebsd/socket.txt b/sys/freebsd/socket.txt
index 18a35c3eb..decce4da1 100644
--- a/sys/freebsd/socket.txt
+++ b/sys/freebsd/socket.txt
@@ -18,6 +18,7 @@ socket(domain flags[socket_domain], type flags[socket_type], proto int8) sock
socketpair(domain flags[socket_domain], type flags[socket_type], proto int8, fds ptr[out, sock_pair])
bind(fd sock, addr ptr[in, sockaddr_storage], addrlen len[addr])
connect(fd sock, addr ptr[in, sockaddr_storage], addrlen len[addr])
+connectat(dirfd fd, fd sock, addr ptr[in, sockaddr_storage], addrlen len[addr])
accept(fd sock, peer ptr[out, sockaddr_storage, opt], peerlen ptr[inout, len[peer, int32]]) sock
accept4(fd sock, peer ptr[out, sockaddr_storage, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock
sendto(fd sock, buf buffer[in], len len[buf], f flags[send_flags], addr ptr[in, sockaddr_storage, opt], addrlen len[addr])
diff --git a/sys/freebsd/socket_386.const b/sys/freebsd/socket_386.const
index f34f4fc60..c1cc05d32 100644
--- a/sys/freebsd/socket_386.const
+++ b/sys/freebsd/socket_386.const
@@ -70,6 +70,7 @@ SYS_accept = 30
SYS_accept4 = 541
SYS_bind = 104
SYS_connect = 98
+SYS_connectat = 539
SYS_getpeername = 31
SYS_getsockname = 32
SYS_getsockopt = 118
diff --git a/sys/freebsd/socket_amd64.const b/sys/freebsd/socket_amd64.const
index f34f4fc60..c1cc05d32 100644
--- a/sys/freebsd/socket_amd64.const
+++ b/sys/freebsd/socket_amd64.const
@@ -70,6 +70,7 @@ SYS_accept = 30
SYS_accept4 = 541
SYS_bind = 104
SYS_connect = 98
+SYS_connectat = 539
SYS_getpeername = 31
SYS_getsockname = 32
SYS_getsockopt = 118
diff --git a/sys/freebsd/socket_unix.txt b/sys/freebsd/socket_unix.txt
index ff2282330..833015046 100644
--- a/sys/freebsd/socket_unix.txt
+++ b/sys/freebsd/socket_unix.txt
@@ -15,6 +15,7 @@ socket$unix(domain const[AF_UNIX], type flags[unix_socket_type], proto const[0])
socketpair$unix(domain const[AF_UNIX], type flags[unix_socket_type], proto const[0], fds ptr[out, unix_pair])
bind$unix(fd sock_unix, addr ptr[in, sockaddr_un], addrlen len[addr])
connect$unix(fd sock_unix, addr ptr[in, sockaddr_un], addrlen len[addr])
+connectat$unix(dirfd fd, fd sock_unix, addr ptr[in, sockaddr_un], addrlen len[addr])
accept$unix(fd sock_unix, peer ptr[out, sockaddr_un, opt], peerlen ptr[inout, len[peer, int32]]) sock_unix
accept4$unix(fd sock_unix, peer ptr[out, sockaddr_un, opt], peerlen ptr[inout, len[peer, int32]], flags flags[accept_flags]) sock_unix
diff --git a/sys/freebsd/socket_unix_386.const b/sys/freebsd/socket_unix_386.const
index e2b7f38fa..655cf43ca 100644
--- a/sys/freebsd/socket_unix_386.const
+++ b/sys/freebsd/socket_unix_386.const
@@ -11,6 +11,7 @@ SYS_accept = 30
SYS_accept4 = 541
SYS_bind = 104
SYS_connect = 98
+SYS_connectat = 539
SYS_getpeername = 31
SYS_getsockname = 32
SYS_recvfrom = 29
diff --git a/sys/freebsd/socket_unix_amd64.const b/sys/freebsd/socket_unix_amd64.const
index e2b7f38fa..655cf43ca 100644
--- a/sys/freebsd/socket_unix_amd64.const
+++ b/sys/freebsd/socket_unix_amd64.const
@@ -11,6 +11,7 @@ SYS_accept = 30
SYS_accept4 = 541
SYS_bind = 104
SYS_connect = 98
+SYS_connectat = 539
SYS_getpeername = 31
SYS_getsockname = 32
SYS_recvfrom = 29