Gerrit Bot has uploaded this change for review.
unix: add Getresuid, Getresgid on linux
Fixes golang/go#60483
Change-Id: Id4c1bf8367066485a16bedeea337c384a3555942
GitHub-Last-Rev: e380c2787f927cfa45045fc4a9d33fc6fc4a16e9
GitHub-Pull-Request: golang/sys#159
---
M unix/syscall_linux_386.go
M unix/syscall_linux_amd64.go
M unix/syscall_linux_arm.go
M unix/syscall_linux_arm64.go
M unix/syscall_linux_loong64.go
M unix/syscall_linux_mips64x.go
M unix/syscall_linux_mipsx.go
M unix/syscall_linux_ppc.go
M unix/syscall_linux_ppc64x.go
M unix/syscall_linux_riscv64.go
M unix/syscall_linux_s390x.go
M unix/syscall_linux_sparc64.go
M unix/zsyscall_linux.go
13 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/unix/syscall_linux_386.go b/unix/syscall_linux_386.go
index c7d9945..3086117 100644
--- a/unix/syscall_linux_386.go
+++ b/unix/syscall_linux_386.go
@@ -31,6 +31,8 @@
//sysnb Geteuid() (euid int) = SYS_GETEUID32
//sysnb Getgid() (gid int) = SYS_GETGID32
//sysnb Getuid() (uid int) = SYS_GETUID32
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Ioperm(from int, num int, on int) (err error)
//sys Iopl(level int) (err error)
//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32
diff --git a/unix/syscall_linux_amd64.go b/unix/syscall_linux_amd64.go
index 5b21fcf..57fd3dc 100644
--- a/unix/syscall_linux_amd64.go
+++ b/unix/syscall_linux_amd64.go
@@ -19,6 +19,8 @@
//sysnb Getgid() (gid int)
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Ioperm(from int, num int, on int) (err error)
//sys Iopl(level int) (err error)
//sys Lchown(path string, uid int, gid int) (err error)
diff --git a/unix/syscall_linux_arm.go b/unix/syscall_linux_arm.go
index da29864..cf211da 100644
--- a/unix/syscall_linux_arm.go
+++ b/unix/syscall_linux_arm.go
@@ -53,6 +53,8 @@
//sysnb Geteuid() (euid int) = SYS_GETEUID32
//sysnb Getgid() (gid int) = SYS_GETGID32
//sysnb Getuid() (uid int) = SYS_GETUID32
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Lchown(path string, uid int, gid int) (err error) = SYS_LCHOWN32
//sys Listen(s int, n int) (err error)
//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
diff --git a/unix/syscall_linux_arm64.go b/unix/syscall_linux_arm64.go
index a81f574..ea7f415 100644
--- a/unix/syscall_linux_arm64.go
+++ b/unix/syscall_linux_arm64.go
@@ -21,6 +21,8 @@
//sysnb Getgid() (gid int)
//sysnb getrlimit(resource int, rlim *Rlimit) (err error)
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Listen(s int, n int) (err error)
//sys MemfdSecret(flags int) (fd int, err error)
//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
diff --git a/unix/syscall_linux_loong64.go b/unix/syscall_linux_loong64.go
index 69d2d7c..444285b 100644
--- a/unix/syscall_linux_loong64.go
+++ b/unix/syscall_linux_loong64.go
@@ -18,6 +18,8 @@
//sysnb Geteuid() (euid int)
//sysnb Getgid() (gid int)
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Listen(s int, n int) (err error)
//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
//sys pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
diff --git a/unix/syscall_linux_mips64x.go b/unix/syscall_linux_mips64x.go
index 76d5640..7508e27 100644
--- a/unix/syscall_linux_mips64x.go
+++ b/unix/syscall_linux_mips64x.go
@@ -18,6 +18,8 @@
//sysnb Getgid() (gid int)
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Lchown(path string, uid int, gid int) (err error)
//sys Listen(s int, n int) (err error)
//sys Pause() (err error)
diff --git a/unix/syscall_linux_mipsx.go b/unix/syscall_linux_mipsx.go
index aae7f0f..fd85491 100644
--- a/unix/syscall_linux_mipsx.go
+++ b/unix/syscall_linux_mipsx.go
@@ -23,6 +23,8 @@
//sysnb Geteuid() (euid int)
//sysnb Getgid() (gid int)
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Lchown(path string, uid int, gid int) (err error)
//sys Listen(s int, n int) (err error)
//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
diff --git a/unix/syscall_linux_ppc.go b/unix/syscall_linux_ppc.go
index 66eff19..095a6c7 100644
--- a/unix/syscall_linux_ppc.go
+++ b/unix/syscall_linux_ppc.go
@@ -21,6 +21,8 @@
//sysnb Geteuid() (euid int)
//sysnb Getgid() (gid int)
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Ioperm(from int, num int, on int) (err error)
//sys Iopl(level int) (err error)
//sys Lchown(path string, uid int, gid int) (err error)
diff --git a/unix/syscall_linux_ppc64x.go b/unix/syscall_linux_ppc64x.go
index 806aa25..944544f 100644
--- a/unix/syscall_linux_ppc64x.go
+++ b/unix/syscall_linux_ppc64x.go
@@ -20,6 +20,8 @@
//sysnb Getgid() (gid int)
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = SYS_UGETRLIMIT
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Ioperm(from int, num int, on int) (err error)
//sys Iopl(level int) (err error)
//sys Lchown(path string, uid int, gid int) (err error)
diff --git a/unix/syscall_linux_riscv64.go b/unix/syscall_linux_riscv64.go
index 35851ef..41c9638 100644
--- a/unix/syscall_linux_riscv64.go
+++ b/unix/syscall_linux_riscv64.go
@@ -21,6 +21,8 @@
//sysnb Getgid() (gid int)
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Listen(s int, n int) (err error)
//sys MemfdSecret(flags int) (fd int, err error)
//sys pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
diff --git a/unix/syscall_linux_s390x.go b/unix/syscall_linux_s390x.go
index 2f89e8f..7c15539 100644
--- a/unix/syscall_linux_s390x.go
+++ b/unix/syscall_linux_s390x.go
@@ -23,6 +23,8 @@
//sysnb Getgid() (gid int)
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Lchown(path string, uid int, gid int) (err error)
//sys Lstat(path string, stat *Stat_t) (err error)
//sys Pause() (err error)
diff --git a/unix/syscall_linux_sparc64.go b/unix/syscall_linux_sparc64.go
index 7ca064a..fd29213 100644
--- a/unix/syscall_linux_sparc64.go
+++ b/unix/syscall_linux_sparc64.go
@@ -19,6 +19,8 @@
//sysnb Getgid() (gid int)
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
//sysnb Getuid() (uid int)
+//sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
+//sysnb Getresgid(rgid *int, egid *int, sgid *int) (err error)
//sys Lchown(path string, uid int, gid int) (err error)
//sys Listen(s int, n int) (err error)
//sys Lstat(path string, stat *Stat_t) (err error)
diff --git a/unix/zsyscall_linux.go b/unix/zsyscall_linux.go
index da63d9d..14b3eae 100644
--- a/unix/zsyscall_linux.go
+++ b/unix/zsyscall_linux.go
@@ -2172,3 +2172,23 @@
}
return
}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getresuid(ruid *int, euid *int, suid *int) (err error) {
+ _, _, e1 := RawSyscall(SYS_GETRESUID, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid)))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Getresgid(rgid *int, egid *int, sgid *int) (err error) {
+ _, _, e1 := RawSyscall(SYS_GETRESGID, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid)))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
To view, visit change 499055. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick, Ian Lance Taylor, Tobias Klauser.
Gerrit Bot uploaded patch set #2 to this change.
unix: add Getresuid, Getresgid for linux
Fixes golang/go#60483
Change-Id: Id4c1bf8367066485a16bedeea337c384a3555942
GitHub-Last-Rev: e380c2787f927cfa45045fc4a9d33fc6fc4a16e9
GitHub-Pull-Request: golang/sys#159
---
M unix/syscall_linux_386.go
M unix/syscall_linux_amd64.go
M unix/syscall_linux_arm.go
M unix/syscall_linux_arm64.go
M unix/syscall_linux_loong64.go
M unix/syscall_linux_mips64x.go
M unix/syscall_linux_mipsx.go
M unix/syscall_linux_ppc.go
M unix/syscall_linux_ppc64x.go
M unix/syscall_linux_riscv64.go
M unix/syscall_linux_s390x.go
M unix/syscall_linux_sparc64.go
M unix/zsyscall_linux.go
13 files changed, 44 insertions(+), 0 deletions(-)
To view, visit change 499055. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick, Tobias Klauser.
2 comments:
File unix/syscall_linux_386.go:
Patch Set #2, Line 34: //sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
In Go it seems more natural to have
func Getresuid() (int, int, int)
Any reason not to do that?
The simplest way would be for this to rename this line to getresuid and have a Getresuid in syscall_linux.go that calls getresuid. Actually if we do it this way this line should be
//sysnb getresuid(ruid *_C_int, euid *_C_int, suid *_C_int)
because using *int will do the wrong thing on a big-endian 64-bit system.
File unix/syscall_linux_sparc64.go:
Patch Set #2, Line 22: //sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
All of these //sysnb lines seem to be the same, so there should be one copy in syscall_linux.go, not a bunch of different copies.
To view, visit change 499055. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick, Ian Lance Taylor, Tobias Klauser.
Gerrit Bot uploaded patch set #3 to this change.
unix: add Getresuid, Getresgid for linux
Fixes golang/go#60483
Change-Id: Id4c1bf8367066485a16bedeea337c384a3555942
GitHub-Last-Rev: 61f0fe6f6a5be1cd34ddf99e72a75cfd32355793
GitHub-Pull-Request: golang/sys#159
---
M unix/syscall_linux.go
M unix/zsyscall_linux.go
2 files changed, 29 insertions(+), 0 deletions(-)
To view, visit change 499055. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick, Ian Lance Taylor, Tobias Klauser.
Patch Set #2, Line 34: //sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
In Go it seems more natural to have […]
Done
File unix/syscall_linux_sparc64.go:
Patch Set #2, Line 22: //sysnb Getresuid(ruid *int, euid *int, suid *int) (err error)
All of these //sysnb lines seem to be the same, so there should be one copy in syscall_linux. […]
Ah right, done
To view, visit change 499055. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick, Tobias Klauser.
Patch set 3:Run-TryBot +1
Attention is currently required from: Brad Fitzpatrick, Tobias Klauser.
Patch set 3:Run-TryBot +1Auto-Submit +1Code-Review +2
1 comment:
Patchset:
Thanks.
To view, visit change 499055. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick.
Patch set 3:Code-Review +2
To view, visit change 499055. To unsubscribe, or for help writing mail filters, visit settings.
Attention is currently required from: Brad Fitzpatrick.
Patch set 3:Code-Review +1
Gopher Robot submitted this change.
unix: add Getresuid, Getresgid for linux
Fixes golang/go#60483
Change-Id: Id4c1bf8367066485a16bedeea337c384a3555942
GitHub-Last-Rev: 61f0fe6f6a5be1cd34ddf99e72a75cfd32355793
GitHub-Pull-Request: golang/sys#159
Reviewed-on: https://go-review.googlesource.com/c/sys/+/499055
Run-TryBot: Ian Lance Taylor <ia...@google.com>
Reviewed-by: Ian Lance Taylor <ia...@google.com>
TryBot-Result: Gopher Robot <go...@golang.org>
Run-TryBot: Ian Lance Taylor <ia...@golang.org>
Auto-Submit: Ian Lance Taylor <ia...@google.com>
Reviewed-by: Tobias Klauser <tobias....@gmail.com>
Reviewed-by: Michael Knyszek <mkny...@google.com>
---
M unix/syscall_linux.go
M unix/zsyscall_linux.go
2 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go
index fbaeb5f..aa0c551 100644
--- a/unix/syscall_linux.go
+++ b/unix/syscall_linux.go
@@ -2420,6 +2420,21 @@
return rtSigprocmask(how, set, oldset, _C__NSIG/8)
}
+//sysnb getresuid(ruid *_C_int, euid *_C_int, suid *_C_int)
+//sysnb getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int)
+
+func Getresuid() (ruid, euid, suid int) {
+ var r, e, s _C_int
+ getresuid(&r, &e, &s)
+ return int(r), int(e), int(s)
+}
+
+func Getresgid() (rgid, egid, sgid int) {
+ var r, e, s _C_int
+ getresgid(&r, &e, &s)
+ return int(r), int(e), int(s)
+}
+
/*
* Unimplemented
*/
diff --git a/unix/zsyscall_linux.go b/unix/zsyscall_linux.go
index da63d9d..722c29a 100644
--- a/unix/zsyscall_linux.go
+++ b/unix/zsyscall_linux.go
@@ -2172,3 +2172,17 @@
}
return
}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getresuid(ruid *_C_int, euid *_C_int, suid *_C_int) {
+ RawSyscallNoError(SYS_GETRESUID, uintptr(unsafe.Pointer(ruid)), uintptr(unsafe.Pointer(euid)), uintptr(unsafe.Pointer(suid)))
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getresgid(rgid *_C_int, egid *_C_int, sgid *_C_int) {
+ RawSyscallNoError(SYS_GETRESGID, uintptr(unsafe.Pointer(rgid)), uintptr(unsafe.Pointer(egid)), uintptr(unsafe.Pointer(sgid)))
+ return
+}
To view, visit change 499055. To unsubscribe, or for help writing mail filters, visit settings.