aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAyushi Sharma <35501599+ais2397@users.noreply.github.com>2020-04-04 03:37:51 +0530
committerGitHub <noreply@github.com>2020-04-04 00:07:51 +0200
commitd9ed075d1a287f63cfa1dc84cbf609e624b26bc7 (patch)
treed0757db442d0d4f7bc3540e849358524a2dd6883
parentef26b61025bac4c6bb1a0ef7eccc45f43f84c841 (diff)
sys/netbsd: adding chflags(2) syscalls (#1661)
-rw-r--r--executor/defs.h16
-rw-r--r--executor/syscalls.h3
-rw-r--r--sys/netbsd/gen/amd64.go24
-rw-r--r--sys/netbsd/sys.txt4
-rw-r--r--sys/netbsd/sys_amd64.const10
5 files changed, 48 insertions, 9 deletions
diff --git a/executor/defs.h b/executor/defs.h
index c52e75eb2..21d15d8fa 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -20,7 +20,7 @@
#if GOARCH_386
#define GOARCH "386"
-#define SYZ_REVISION "d737bca3a95d7c1527152553af5fd06ed07e0240"
+#define SYZ_REVISION "5f26711960673de44fd31f907a28d31ee0961cfd"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -70,7 +70,7 @@
#if GOARCH_386
#define GOARCH "386"
-#define SYZ_REVISION "873172817a75c81835969c440f232721601a7e13"
+#define SYZ_REVISION "75e98c93608f41659c3d7252029fc6e39e7a7ead"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -80,7 +80,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
-#define SYZ_REVISION "670a1e865c0bc7d60e9886acf4666ee3677e346e"
+#define SYZ_REVISION "f787d115f9efa49fdd59261850f5c05f43fbe327"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -90,7 +90,7 @@
#if GOARCH_arm
#define GOARCH "arm"
-#define SYZ_REVISION "2acbffd4e98df57974fbda9a9c4c9430f308ca4b"
+#define SYZ_REVISION "b0c8cefbe08d7cd934dbaf9fe40658f598df8182"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -100,7 +100,7 @@
#if GOARCH_arm64
#define GOARCH "arm64"
-#define SYZ_REVISION "1cd77b584307efb2405e0d88b55e10dce8803d4b"
+#define SYZ_REVISION "959bb3c00fa0ad1179ddcbeecd12a9677d877ac6"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -110,7 +110,7 @@
#if GOARCH_mips64le
#define GOARCH "mips64le"
-#define SYZ_REVISION "27db5f8e0ad7e7466d8fee26159a8361a0e6366f"
+#define SYZ_REVISION "46efe6d91b9f65afa502f9ec4e36c1c3b6c75399"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -120,7 +120,7 @@
#if GOARCH_ppc64le
#define GOARCH "ppc64le"
-#define SYZ_REVISION "2efe0bc0e3fe08437712654ac1ed750ccb17190f"
+#define SYZ_REVISION "f44aca874a4396900cf431e0ac6e5d13b57b0f87"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -135,7 +135,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
-#define SYZ_REVISION "a99885ca1ee8b334947a9227591964a15f788ff0"
+#define SYZ_REVISION "02007478c36366bd9b420e8c59574fd04a9a8014"
#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 32d999303..09390288d 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -21911,6 +21911,7 @@ const call_t syscalls[] = {
{"bind$inet6", 104},
{"bind$unix", 104},
{"chdir", 12},
+ {"chflags", 34},
{"chmod", 15},
{"chown", 16},
{"chroot", 61},
@@ -21931,6 +21932,7 @@ const call_t syscalls[] = {
{"exit", 1},
{"faccessat", 462},
{"fchdir", 13},
+ {"fchflags", 35},
{"fchmod", 124},
{"fchmodat", 463},
{"fchown", 123},
@@ -21976,6 +21978,7 @@ const call_t syscalls[] = {
{"getsockopt$sock_linger", 118},
{"getsockopt$sock_timeval", 118},
{"getuid", 24},
+ {"lchflags", 304},
{"lchown", 275},
{"link", 9},
{"linkat", 457},
diff --git a/sys/netbsd/gen/amd64.go b/sys/netbsd/gen/amd64.go
index 87199d6d3..2a9582b45 100644
--- a/sys/netbsd/gen/amd64.go
+++ b/sys/netbsd/gen/amd64.go
@@ -545,6 +545,10 @@ var syscalls_amd64 = []*Syscall{
{NR: 12, Name: "chdir", CallName: "chdir", Args: []Type{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "dir", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
}},
+ {NR: 34, Name: "chflags", CallName: "chflags", Args: []Type{
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
+ &FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflags_flags", FldName: "flags", TypeSize: 8}}, []uint64{1, 2, 4, 8, 65536, 131072, 262144}, true},
+ }},
{NR: 15, Name: "chmod", CallName: "chmod", Args: []Type{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
&FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_mode", FldName: "mode", TypeSize: 8}}, []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256}, true},
@@ -634,6 +638,10 @@ var syscalls_amd64 = []*Syscall{
{NR: 13, Name: "fchdir", CallName: "fchdir", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
}},
+ {NR: 35, Name: "fchflags", CallName: "fchflags", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
+ &FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflags_flags", FldName: "flags", TypeSize: 8}}, []uint64{1, 2, 4, 8, 65536, 131072, 262144}, true},
+ }},
{NR: 124, Name: "fchmod", CallName: "fchmod", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_mode", FldName: "mode", TypeSize: 8}}, []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256}, true},
@@ -827,6 +835,10 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Path: []string{"optval"}}},
}},
{NR: 24, Name: "getuid", CallName: "getuid", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 304, Name: "lchflags", CallName: "lchflags", Args: []Type{
+ &PtrType{TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
+ &FlagsType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "chflags_flags", FldName: "flags", TypeSize: 8}}, []uint64{1, 2, 4, 8, 65536, 131072, 262144}, true},
+ }},
{NR: 275, Name: "lchown", CallName: "lchown", Args: []Type{
&PtrType{TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}},
&ResourceType{TypeCommon: TypeCommon{TypeName: "uid", FldName: "uid", TypeSize: 4}},
@@ -1678,6 +1690,9 @@ var consts_amd64 = []ConstValue{
{"SEM_UNDO", 4096},
{"SETALL", 9},
{"SETVAL", 8},
+ {"SF_APPEND", 262144},
+ {"SF_ARCHIVED", 65536},
+ {"SF_IMMUTABLE", 131072},
{"SHM_LOCK", 3},
{"SHM_RDONLY", 4096},
{"SHM_RND", 8192},
@@ -1737,6 +1752,7 @@ var consts_amd64 = []ConstValue{
{"SYS_accept", 30},
{"SYS_bind", 104},
{"SYS_chdir", 12},
+ {"SYS_chflags", 34},
{"SYS_chmod", 15},
{"SYS_chown", 16},
{"SYS_chroot", 61},
@@ -1754,6 +1770,7 @@ var consts_amd64 = []ConstValue{
{"SYS_exit", 1},
{"SYS_faccessat", 462},
{"SYS_fchdir", 13},
+ {"SYS_fchflags", 35},
{"SYS_fchmod", 124},
{"SYS_fchmodat", 463},
{"SYS_fchown", 123},
@@ -1781,6 +1798,7 @@ var consts_amd64 = []ConstValue{
{"SYS_getsockname", 32},
{"SYS_getsockopt", 118},
{"SYS_getuid", 24},
+ {"SYS_lchflags", 304},
{"SYS_lchown", 275},
{"SYS_link", 9},
{"SYS_linkat", 457},
@@ -1878,6 +1896,10 @@ var consts_amd64 = []ConstValue{
{"S_IXOTH", 1},
{"S_IXUSR", 64},
{"TIMER_ABSTIME", 1},
+ {"UF_APPEND", 4},
+ {"UF_IMMUTABLE", 2},
+ {"UF_NODUMP", 1},
+ {"UF_OPAQUE", 8},
{"WALLSIG", 8},
{"WALTSIG", 4},
{"WCONTINUED", 16},
@@ -1894,4 +1916,4 @@ var consts_amd64 = []ConstValue{
{"_UC_STACK", 2},
}
-const revision_amd64 = "a99885ca1ee8b334947a9227591964a15f788ff0"
+const revision_amd64 = "02007478c36366bd9b420e8c59574fd04a9a8014"
diff --git a/sys/netbsd/sys.txt b/sys/netbsd/sys.txt
index cc007a0d2..0ff50e59e 100644
--- a/sys/netbsd/sys.txt
+++ b/sys/netbsd/sys.txt
@@ -50,6 +50,9 @@ chown(file ptr[in, filename], uid uid, gid gid)
lchown(file ptr[in, filename], uid uid, gid gid)
fchown(fd fd, uid uid, gid gid)
fchownat(dirfd fd_dir, file ptr[in, filename], uid uid, gid gid, flags flags[at_flags])
+chflags(file ptr[in, filename], flags flags[chflags_flags])
+fchflags(fd fd, flags flags[chflags_flags])
+lchflags(file ptr[in, filename], flags flags[chflags_flags])
faccessat(dirfd fd_dir, pathname ptr[in, filename], mode flags[open_mode], flags flags[faccessat_flags])
utimes(filename ptr[in, filename], times ptr[in, itimerval])
utimensat(dir fd_dir, pathname ptr[in, filename], times ptr[in, itimerval], flags flags[utimensat_flags])
@@ -262,5 +265,6 @@ fcntl_lock = F_SETLK, F_SETLKW, F_GETLK
fcntl_flags = FD_CLOEXEC
fcntl_status = O_APPEND, O_ASYNC, O_NONBLOCK, O_DSYNC, O_RSYNC, O_ALT_IO, O_DIRECT, O_NOSIGPIPE
flock_type = F_RDLCK, F_WRLCK, F_UNLCK
+chflags_flags = SF_APPEND, SF_IMMUTABLE, SF_ARCHIVED, UF_OPAQUE, UF_APPEND, UF_IMMUTABLE, UF_NODUMP
clone_flags = CLONE_CSIGNAL, CLONE_VM, CLONE_FS, CLONE_FILES, CLONE_SIGHAND, CLONE_PID, CLONE_PTRACE, CLONE_VFORK
sa_flags = SA_ONSTACK, SA_RESTART, SA_RESETHAND, SA_NODEFER, SA_NOCLDSTOP, SA_NOCLDWAIT, SA_SIGINFO, SA_NOKERNINFO, SA_ALLBITS
diff --git a/sys/netbsd/sys_amd64.const b/sys/netbsd/sys_amd64.const
index e783d58cc..faecf351b 100644
--- a/sys/netbsd/sys_amd64.const
+++ b/sys/netbsd/sys_amd64.const
@@ -83,9 +83,13 @@ SA_ONSTACK = 1
SA_RESETHAND = 4
SA_RESTART = 2
SA_SIGINFO = 64
+SF_APPEND = 262144
+SF_ARCHIVED = 65536
+SF_IMMUTABLE = 131072
SYS___clone = 287
SYS___vfork14 = 282
SYS_chdir = 12
+SYS_chflags = 34
SYS_chmod = 15
SYS_chown = 16
SYS_chroot = 61
@@ -97,6 +101,7 @@ SYS_execve = 59
SYS_exit = 1
SYS_faccessat = 462
SYS_fchdir = 13
+SYS_fchflags = 35
SYS_fchmod = 124
SYS_fchmodat = 463
SYS_fchown = 123
@@ -121,6 +126,7 @@ SYS_getppid = 39
SYS_getrlimit = 194
SYS_getrusage = 445
SYS_getuid = 24
+SYS_lchflags = 304
SYS_lchown = 275
SYS_link = 9
SYS_linkat = 457
@@ -177,6 +183,10 @@ S_IXGRP = 8
S_IXOTH = 1
S_IXUSR = 64
TIMER_ABSTIME = 1
+UF_APPEND = 4
+UF_IMMUTABLE = 2
+UF_NODUMP = 1
+UF_OPAQUE = 8
WALLSIG = 8
WALTSIG = 4
WCONTINUED = 16