sys/freebsd: add __realpathat system call

This commit is contained in:
Mark Johnston 2020-03-26 15:25:42 -04:00 committed by Dmitry Vyukov
parent 87abd520f8
commit be07a9be5e
7 changed files with 26 additions and 4 deletions

4
executor/defs.h generated
View File

@ -20,7 +20,7 @@
#if GOARCH_386
#define GOARCH "386"
#define SYZ_REVISION "9153d8fbbe6b117424690a313cf2b7a3a1f02c34"
#define SYZ_REVISION "27b0c289c0d78fe767ad2fbe062383e89cef0180"
#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 "b3574571fbfa175bbf91c857af8d5e6db2d92ccf"
#define SYZ_REVISION "5d7c29fe9b21a5007b1d3b4f13d51931ecd5d703"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096

2
executor/syscalls.h generated
View File

@ -227,6 +227,7 @@ const call_t syscalls[] = {
#if GOARCH_386
const call_t syscalls[] = {
{"__getcwd", 326},
{"__realpathat", 574},
{"__semctl$GETALL", 510},
{"__semctl$GETNCNT", 510},
{"__semctl$GETPID", 510},
@ -747,6 +748,7 @@ const call_t syscalls[] = {
#if GOARCH_amd64
const call_t syscalls[] = {
{"__getcwd", 326},
{"__realpathat", 574},
{"__semctl$GETALL", 510},
{"__semctl$GETNCNT", 510},
{"__semctl$GETPID", 510},

10
sys/freebsd/gen/386.go generated
View File

@ -1779,6 +1779,13 @@ var syscalls_386 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Path: []string{"buf"}},
}},
{NR: 574, Name: "__realpathat", CallName: "__realpathat", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "dirfd", TypeSize: 4}},
&PtrType{TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
&PtrType{TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 4}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", ArgDir: 1, IsVarlen: true}, Kind: 2}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Path: []string{"buf"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "realpathat_flags", FldName: "flags", TypeSize: 4}}},
}},
{NR: 510, Name: "__semctl$GETALL", CallName: "__semctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_sem", FldName: "semid", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "semnum", TypeSize: 4}}},
@ -5626,6 +5633,7 @@ var consts_386 = []ConstValue{
{"SPP_PMTUD_DISABLE", 16},
{"SPP_PMTUD_ENABLE", 8},
{"SYS___getcwd", 326},
{"SYS___realpathat", 574},
{"SYS___semctl", 510},
{"SYS_accept", 30},
{"SYS_accept4", 541},
@ -5850,4 +5858,4 @@ var consts_386 = []ConstValue{
{"WUNTRACED", 2},
}
const revision_386 = "9153d8fbbe6b117424690a313cf2b7a3a1f02c34"
const revision_386 = "27b0c289c0d78fe767ad2fbe062383e89cef0180"

View File

@ -1806,6 +1806,13 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Path: []string{"buf"}},
}},
{NR: 574, Name: "__realpathat", CallName: "__realpathat", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "dirfd", TypeSize: 4}},
&PtrType{TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
&PtrType{TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", ArgDir: 1, IsVarlen: true}, Kind: 2}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Path: []string{"buf"}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "realpathat_flags", FldName: "flags", TypeSize: 8}}},
}},
{NR: 510, Name: "__semctl$GETALL", CallName: "__semctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "ipc_sem", FldName: "semid", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "semnum", TypeSize: 8}}},
@ -5653,6 +5660,7 @@ var consts_amd64 = []ConstValue{
{"SPP_PMTUD_DISABLE", 16},
{"SPP_PMTUD_ENABLE", 8},
{"SYS___getcwd", 326},
{"SYS___realpathat", 574},
{"SYS___semctl", 510},
{"SYS_accept", 30},
{"SYS_accept4", 541},
@ -5877,4 +5885,4 @@ var consts_amd64 = []ConstValue{
{"WUNTRACED", 2},
}
const revision_amd64 = "b3574571fbfa175bbf91c857af8d5e6db2d92ccf"
const revision_amd64 = "5d7c29fe9b21a5007b1d3b4f13d51931ecd5d703"

View File

@ -110,6 +110,7 @@ __getcwd(buf buffer[out], size len[buf])
chdir(dir ptr[in, filename])
fchdir(fd fd)
copy_file_range(infd fd, inoffp ptr[inout, fileoff[int64]], outfd fd, outoffp ptr[inout, fileoff[int64]], len int64, flags flags[copy_file_range_flags])
__realpathat(dirfd fd, path ptr[in, filename], buf ptr[out, string], size len[buf], flags flags[realpathat_flags])
getrusage(who flags[rusage_who], usage ptr[out, rusage])
getrlimit(res flags[rlimit_type], rlim ptr[out, rlimit])
@ -222,4 +223,5 @@ fcntl_status = O_APPEND, FASYNC, O_DIRECT, O_NONBLOCK
flock_type = F_RDLCK, F_WRLCK, F_UNLCK
minherit_flags = INHERIT_SHARE, INHERIT_NONE, INHERIT_COPY, INHERIT_ZERO
copy_file_range_flags = 0
realpathat_flags = 0
chflags_flags = SF_APPEND, SF_ARCHIVED, SF_IMMUTABLE, SF_NOUNLINK, SF_SNAPSHOT, UF_APPEND, UF_ARCHIVE, UF_HIDDEN, UF_IMMUTABLE, UF_NODUMP, UF_NOUNLINK, UF_OFFLINE, UF_OPAQUE, UF_READONLY, UF_REPARSE, UF_SPARSE, UF_SYSTEM

View File

@ -72,6 +72,7 @@ SF_SNAPSHOT = 2097152
SF_SYNC = 4
SF_USER_READAHEAD = 8
SYS___getcwd = 326
SYS___realpathat = 574
SYS_chdir = 12
SYS_chflags = 34
SYS_chflagsat = 540

View File

@ -72,6 +72,7 @@ SF_SNAPSHOT = 2097152
SF_SYNC = 4
SF_USER_READAHEAD = 8
SYS___getcwd = 326
SYS___realpathat = 574
SYS_chdir = 12
SYS_chflags = 34
SYS_chflagsat = 540