diff options
| author | Michael Tuexen <tuexen@fh-muenster.de> | 2019-09-16 09:59:32 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-09-16 10:39:16 +0200 |
| commit | cb93629971b93f04dfa44e2ef3a517a36ba32a8e (patch) | |
| tree | accec8938390abfaf77498f92a8600cd1f1dbb7a /sys | |
| parent | 55c50e708b27ac81e03fed298be9297520cbcc8e (diff) | |
sys/freebsd/sys.txt: update sendfile description
The signature of sendfile() on FreeBSD is different from the one
used on Linux.
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/freebsd/gen/386.go | 23 | ||||
| -rw-r--r-- | sys/freebsd/gen/amd64.go | 25 | ||||
| -rw-r--r-- | sys/freebsd/sys.txt | 10 | ||||
| -rw-r--r-- | sys/freebsd/sys_386.const | 4 | ||||
| -rw-r--r-- | sys/freebsd/sys_amd64.const | 4 |
5 files changed, 55 insertions, 11 deletions
diff --git a/sys/freebsd/gen/386.go b/sys/freebsd/gen/386.go index ff0013112..792382d8a 100644 --- a/sys/freebsd/gen/386.go +++ b/sys/freebsd/gen/386.go @@ -1461,6 +1461,12 @@ var structDescs_386 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "msg_controllen", TypeSize: 4}}, BitSize: 8, Path: []string{"msg_control"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_flags", TypeSize: 4}}}, }}}, + {Key: StructKey{Name: "sf_hdtr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sf_hdtr", TypeSize: 16}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "headers", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec_in"}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "hdr_cnt", TypeSize: 4}}, Path: []string{"headers"}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "trailers", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec_in"}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "trl_cnt", TypeSize: 4}}, Path: []string{"trailers"}}, + }}}, {Key: StructKey{Name: "shmid_ds"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "shmid_ds", TypeSize: 72}, Fields: []Type{ &StructType{Key: StructKey{Name: "ipc_perm"}, FldName: "perm"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "segsz", TypeSize: 4}}}, @@ -3498,10 +3504,13 @@ var syscalls_386 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nops", TypeSize: 4}}, Path: []string{"ops"}}, }}, {NR: 393, Name: "sendfile", CallName: "sendfile", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdout", TypeSize: 4}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdin", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "off", TypeSize: 4, IsOptional: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", TypeSize: 8, ArgDir: 2}}, Kind: 1}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "count", TypeSize: 8}}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "s", TypeSize: 4}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "nbytes", TypeSize: 8}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hdtr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sf_hdtr"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "sbytes", TypeSize: 4}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", TypeSize: 8, ArgDir: 1}}, Kind: 1}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sf_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 16, 4, 8}, BitMask: true}, }}, {NR: 28, Name: "sendmsg", CallName: "sendmsg", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, @@ -5441,6 +5450,10 @@ var consts_386 = []ConstValue{ {Name: "SEM_UNDO", Value: 4096}, {Name: "SETALL", Value: 9}, {Name: "SETVAL", Value: 8}, + {Name: "SF_NOCACHE", Value: 16}, + {Name: "SF_NODISKIO", Value: 1}, + {Name: "SF_SYNC", Value: 4}, + {Name: "SF_USER_READAHEAD", Value: 8}, {Name: "SHM_INFO", Value: 14}, {Name: "SHM_LOCK", Value: 11}, {Name: "SHM_RDONLY", Value: 4096}, @@ -5698,4 +5711,4 @@ var consts_386 = []ConstValue{ {Name: "WUNTRACED", Value: 2}, } -const revision_386 = "21175f04ae07157b426479c1f43eb01988da85e4" +const revision_386 = "499f5feaf81c9d39b33515503572aa8f6e24db8b" diff --git a/sys/freebsd/gen/amd64.go b/sys/freebsd/gen/amd64.go index 0f267afbb..c060c6809 100644 --- a/sys/freebsd/gen/amd64.go +++ b/sys/freebsd/gen/amd64.go @@ -1476,6 +1476,14 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_flags", TypeSize: 4}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, }}}, + {Key: StructKey{Name: "sf_hdtr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sf_hdtr", TypeSize: 32}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "headers", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec_in"}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "hdr_cnt", TypeSize: 4}}, Path: []string{"headers"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "trailers", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec_in"}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "trl_cnt", TypeSize: 4}}, Path: []string{"trailers"}}, + &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{ &StructType{Key: StructKey{Name: "ipc_perm"}, FldName: "perm"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "segsz", TypeSize: 4}}}, @@ -3515,10 +3523,13 @@ var syscalls_amd64 = []*Syscall{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nops", TypeSize: 8}}, Path: []string{"ops"}}, }}, {NR: 393, Name: "sendfile", CallName: "sendfile", Args: []Type{ - &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdout", TypeSize: 4}}, - &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdin", TypeSize: 4}}, - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "off", TypeSize: 8, IsOptional: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", TypeSize: 8, ArgDir: 2}}, Kind: 1}}, - &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "count", TypeSize: 8}}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_in", FldName: "s", TypeSize: 4}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "nbytes", TypeSize: 8}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "hdtr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sf_hdtr"}}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "sbytes", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", TypeSize: 8, ArgDir: 1}}, Kind: 1}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sf_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 16, 4, 8}, BitMask: true}, }}, {NR: 28, Name: "sendmsg", CallName: "sendmsg", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, @@ -5458,6 +5469,10 @@ var consts_amd64 = []ConstValue{ {Name: "SEM_UNDO", Value: 4096}, {Name: "SETALL", Value: 9}, {Name: "SETVAL", Value: 8}, + {Name: "SF_NOCACHE", Value: 16}, + {Name: "SF_NODISKIO", Value: 1}, + {Name: "SF_SYNC", Value: 4}, + {Name: "SF_USER_READAHEAD", Value: 8}, {Name: "SHM_INFO", Value: 14}, {Name: "SHM_LOCK", Value: 11}, {Name: "SHM_RDONLY", Value: 4096}, @@ -5715,4 +5730,4 @@ var consts_amd64 = []ConstValue{ {Name: "WUNTRACED", Value: 2}, } -const revision_amd64 = "894df9c93925b59c1559c7005392d1c68f694738" +const revision_amd64 = "2e14e2564bc17dbe2e7f172b18cd8e410c5f67fb" diff --git a/sys/freebsd/sys.txt b/sys/freebsd/sys.txt index 65e3951f1..3d7401975 100644 --- a/sys/freebsd/sys.txt +++ b/sys/freebsd/sys.txt @@ -19,7 +19,15 @@ include <sys/wait.h> syz_execute_func(text ptr[in, text[target]]) -sendfile(fdout fd, fdin fd, off ptr[inout, fileoff[int64], opt], count int64) +sf_hdtr { + headers ptr[in, array[iovec_in]] + hdr_cnt len[headers, int32] + trailers ptr[in, array[iovec_in]] + trl_cnt len[trailers, int32] +} + +sf_flags = SF_NODISKIO, SF_NOCACHE, SF_SYNC, SF_USER_READAHEAD +sendfile(fd fd, s sock_in, offset fileoff, nbytes int64, hdtr ptr[in, sf_hdtr], sbytes ptr[out, fileoff[int64]], flags flags[sf_flags]) poll(fds ptr[in, array[pollfd]], nfds len[fds], timeout int32) ppoll(fds ptr[in, array[pollfd]], nfds len[fds], tsp ptr[in, timespec], sigmask ptr[in, sigset], size len[sigmask]) diff --git a/sys/freebsd/sys_386.const b/sys/freebsd/sys_386.const index 57dd9a8b9..3b62723a5 100644 --- a/sys/freebsd/sys_386.const +++ b/sys/freebsd/sys_386.const @@ -56,6 +56,10 @@ RLIMIT_STACK = 3 RUSAGE_CHILDREN = 18446744073709551615 RUSAGE_SELF = 0 RUSAGE_THREAD = 1 +SF_NOCACHE = 16 +SF_NODISKIO = 1 +SF_SYNC = 4 +SF_USER_READAHEAD = 8 SYS___getcwd = 326 SYS_chdir = 12 SYS_chmod = 15 diff --git a/sys/freebsd/sys_amd64.const b/sys/freebsd/sys_amd64.const index 57dd9a8b9..3b62723a5 100644 --- a/sys/freebsd/sys_amd64.const +++ b/sys/freebsd/sys_amd64.const @@ -56,6 +56,10 @@ RLIMIT_STACK = 3 RUSAGE_CHILDREN = 18446744073709551615 RUSAGE_SELF = 0 RUSAGE_THREAD = 1 +SF_NOCACHE = 16 +SF_NODISKIO = 1 +SF_SYNC = 4 +SF_USER_READAHEAD = 8 SYS___getcwd = 326 SYS_chdir = 12 SYS_chmod = 15 |
