aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Johnston <markjdb@gmail.com>2020-03-26 14:53:46 -0400
committerDmitry Vyukov <dvyukov@google.com>2020-03-27 05:51:58 +0100
commitf2e4c4ea821f1f6814423cc7c67f77e7d12e7691 (patch)
tree8ee6ea5f63fbe141d36b84405e3403fd5617c0db
parent0645e7c7e9d4962b64e28fde9a86b428296854bd (diff)
sys/freebsd: add posix_fadvise(2) and posix_fallocate(2)
-rw-r--r--executor/defs.h4
-rw-r--r--executor/syscalls.h4
-rw-r--r--sys/freebsd/gen/386.go21
-rw-r--r--sys/freebsd/gen/amd64.go21
-rw-r--r--sys/freebsd/posix_fs.txt3
-rw-r--r--sys/freebsd/posix_fs_386.const8
-rw-r--r--sys/freebsd/posix_fs_amd64.const8
7 files changed, 65 insertions, 4 deletions
diff --git a/executor/defs.h b/executor/defs.h
index 648948664..cf3563c10 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -20,7 +20,7 @@
#if GOARCH_386
#define GOARCH "386"
-#define SYZ_REVISION "55084199fb3df403fce43c2d2a214d5c4737485a"
+#define SYZ_REVISION "ce7560b0a32eb01017cb21cee645788bf75a7ed9"
#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 "2eac7eb52a6f14fbda41ca51d881aaddb9a442d4"
+#define SYZ_REVISION "649ca6e7f658089a75150592b5117517423f96be"
#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 aa3f54183..29e8ec8f0 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -521,6 +521,8 @@ const call_t syscalls[] = {
{"openat$ptmx", 499},
{"pipe2", 542},
{"poll", 209},
+ {"posix_fadvise", 531},
+ {"posix_fallocate", 530},
{"ppoll", 545},
{"preadv", 289},
{"pwritev", 290},
@@ -1031,6 +1033,8 @@ const call_t syscalls[] = {
{"openat$ptmx", 499},
{"pipe2", 542},
{"poll", 209},
+ {"posix_fadvise", 531},
+ {"posix_fallocate", 530},
{"ppoll", 545},
{"preadv", 289},
{"pwritev", 290},
diff --git a/sys/freebsd/gen/386.go b/sys/freebsd/gen/386.go
index 06636ad9d..07be4e5fc 100644
--- a/sys/freebsd/gen/386.go
+++ b/sys/freebsd/gen/386.go
@@ -3418,6 +3418,17 @@ var syscalls_386 = []*Syscall{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nfds", TypeSize: 4}}, Path: []string{"fds"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "timeout", TypeSize: 4}}},
}},
+ {NR: 531, Name: "posix_fadvise", CallName: "posix_fadvise", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "offset", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "len", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fadvise_advice", FldName: "advice", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 3, 4, 5}},
+ }},
+ {NR: 530, Name: "posix_fallocate", CallName: "posix_fallocate", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "offset", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "len", TypeSize: 4}}},
+ }},
{NR: 545, Name: "ppoll", CallName: "ppoll", Args: []Type{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 4}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "pollfd"}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nfds", TypeSize: 4}}, Path: []string{"fds"}},
@@ -5378,6 +5389,12 @@ var consts_386 = []ConstValue{
{"POLLRDNORM", 64},
{"POLLWRBAND", 256},
{"POLLWRNORM", 4},
+ {"POSIX_FADV_DONTNEED", 4},
+ {"POSIX_FADV_NOREUSE", 5},
+ {Name: "POSIX_FADV_NORMAL"},
+ {"POSIX_FADV_RANDOM", 1},
+ {"POSIX_FADV_SEQUENTIAL", 2},
+ {"POSIX_FADV_WILLNEED", 3},
{"PROT_EXEC", 4},
{"PROT_READ", 1},
{"PROT_WRITE", 2},
@@ -5651,6 +5668,8 @@ var consts_386 = []ConstValue{
{"SYS_openat", 499},
{"SYS_pipe2", 542},
{"SYS_poll", 209},
+ {"SYS_posix_fadvise", 531},
+ {"SYS_posix_fallocate", 530},
{"SYS_ppoll", 545},
{"SYS_preadv", 289},
{"SYS_pwritev", 290},
@@ -5778,4 +5797,4 @@ var consts_386 = []ConstValue{
{"WUNTRACED", 2},
}
-const revision_386 = "55084199fb3df403fce43c2d2a214d5c4737485a"
+const revision_386 = "ce7560b0a32eb01017cb21cee645788bf75a7ed9"
diff --git a/sys/freebsd/gen/amd64.go b/sys/freebsd/gen/amd64.go
index d696d7c3e..8f2508512 100644
--- a/sys/freebsd/gen/amd64.go
+++ b/sys/freebsd/gen/amd64.go
@@ -3445,6 +3445,17 @@ var syscalls_amd64 = []*Syscall{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nfds", TypeSize: 8}}, Path: []string{"fds"}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "timeout", TypeSize: 4}}},
}},
+ {NR: 531, Name: "posix_fadvise", CallName: "posix_fadvise", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "offset", TypeSize: 8}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "len", TypeSize: 8}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fadvise_advice", FldName: "advice", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 3, 4, 5}},
+ }},
+ {NR: 530, Name: "posix_fallocate", CallName: "posix_fallocate", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "offset", TypeSize: 8}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "len", TypeSize: 8}}},
+ }},
{NR: 545, Name: "ppoll", CallName: "ppoll", Args: []Type{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "fds", TypeSize: 8}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "pollfd"}}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nfds", TypeSize: 8}}, Path: []string{"fds"}},
@@ -5405,6 +5416,12 @@ var consts_amd64 = []ConstValue{
{"POLLRDNORM", 64},
{"POLLWRBAND", 256},
{"POLLWRNORM", 4},
+ {"POSIX_FADV_DONTNEED", 4},
+ {"POSIX_FADV_NOREUSE", 5},
+ {Name: "POSIX_FADV_NORMAL"},
+ {"POSIX_FADV_RANDOM", 1},
+ {"POSIX_FADV_SEQUENTIAL", 2},
+ {"POSIX_FADV_WILLNEED", 3},
{"PROT_EXEC", 4},
{"PROT_READ", 1},
{"PROT_WRITE", 2},
@@ -5678,6 +5695,8 @@ var consts_amd64 = []ConstValue{
{"SYS_openat", 499},
{"SYS_pipe2", 542},
{"SYS_poll", 209},
+ {"SYS_posix_fadvise", 531},
+ {"SYS_posix_fallocate", 530},
{"SYS_ppoll", 545},
{"SYS_preadv", 289},
{"SYS_pwritev", 290},
@@ -5805,4 +5824,4 @@ var consts_amd64 = []ConstValue{
{"WUNTRACED", 2},
}
-const revision_amd64 = "2eac7eb52a6f14fbda41ca51d881aaddb9a442d4"
+const revision_amd64 = "649ca6e7f658089a75150592b5117517423f96be"
diff --git a/sys/freebsd/posix_fs.txt b/sys/freebsd/posix_fs.txt
index 41ffa5d56..14cb29fe0 100644
--- a/sys/freebsd/posix_fs.txt
+++ b/sys/freebsd/posix_fs.txt
@@ -33,6 +33,8 @@ fstat(fd fd, statbuf ptr[out, stat])
freebsd11_stat(file ptr[in, filename], statbuf ptr[out, freebsd11_stat])
freebsd11_fstat(fd fd, statbuf ptr[out, freebsd11_stat])
freebsd11_lstat(file ptr[in, filename], statbuf ptr[out, freebsd11_stat])
+posix_fallocate(fd fd, offset fileoff, len intptr)
+posix_fadvise(fd fd, offset fileoff, len intptr, advice flags[fadvise_advice])
pipefd {
rfd fd
@@ -103,3 +105,4 @@ open_flags = O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, FASYNC, O_CLOEXEC, O_CREAT, O
open_mode = S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
seek_whence = SEEK_SET, SEEK_CUR, SEEK_END, SEEK_DATA, SEEK_HOLE
pipe_flags = O_NONBLOCK, O_CLOEXEC
+fadvise_advice = POSIX_FADV_NORMAL, POSIX_FADV_RANDOM, POSIX_FADV_SEQUENTIAL, POSIX_FADV_WILLNEED, POSIX_FADV_DONTNEED, POSIX_FADV_NOREUSE
diff --git a/sys/freebsd/posix_fs_386.const b/sys/freebsd/posix_fs_386.const
index b56d3f7cc..77786b1af 100644
--- a/sys/freebsd/posix_fs_386.const
+++ b/sys/freebsd/posix_fs_386.const
@@ -19,6 +19,12 @@ O_TRUNC = 1024
O_TTY_INIT = 524288
O_VERIFY = 2097152
O_WRONLY = 1
+POSIX_FADV_DONTNEED = 4
+POSIX_FADV_NOREUSE = 5
+POSIX_FADV_NORMAL = 0
+POSIX_FADV_RANDOM = 1
+POSIX_FADV_SEQUENTIAL = 2
+POSIX_FADV_WILLNEED = 3
SEEK_CUR = 1
SEEK_DATA = 3
SEEK_END = 2
@@ -36,6 +42,8 @@ SYS_lseek = 478
SYS_open = 5
SYS_openat = 499
SYS_pipe2 = 542
+SYS_posix_fadvise = 531
+SYS_posix_fallocate = 530
SYS_preadv = 289
SYS_pwritev = 290
SYS_read = 3
diff --git a/sys/freebsd/posix_fs_amd64.const b/sys/freebsd/posix_fs_amd64.const
index b56d3f7cc..77786b1af 100644
--- a/sys/freebsd/posix_fs_amd64.const
+++ b/sys/freebsd/posix_fs_amd64.const
@@ -19,6 +19,12 @@ O_TRUNC = 1024
O_TTY_INIT = 524288
O_VERIFY = 2097152
O_WRONLY = 1
+POSIX_FADV_DONTNEED = 4
+POSIX_FADV_NOREUSE = 5
+POSIX_FADV_NORMAL = 0
+POSIX_FADV_RANDOM = 1
+POSIX_FADV_SEQUENTIAL = 2
+POSIX_FADV_WILLNEED = 3
SEEK_CUR = 1
SEEK_DATA = 3
SEEK_END = 2
@@ -36,6 +42,8 @@ SYS_lseek = 478
SYS_open = 5
SYS_openat = 499
SYS_pipe2 = 542
+SYS_posix_fadvise = 531
+SYS_posix_fallocate = 530
SYS_preadv = 289
SYS_pwritev = 290
SYS_read = 3