diff options
| author | Dave Cheney <dave@cheney.net> | 2015-07-29 19:36:55 +1000 |
|---|---|---|
| committer | Dave Cheney <dave@cheney.net> | 2015-07-30 20:30:26 +0000 |
| commit | 4e15092006b105c92678b440167ae005bd8511eb (patch) | |
| tree | bcedd887795c0b8c6c020b2d38bedd38b226668f /src/syscall/syscall_linux_arm64.go | |
| parent | a5d23fceab47ff3f0cfacfecbe74f2f853a6ed1c (diff) | |
| download | go-4e15092006b105c92678b440167ae005bd8511eb.tar.xz | |
syscall: use fchownat(2) in place of lchown(2) for linux/arm64
Fixes #11918
Replace calls to lchown(2) with fchownat(2) for linux/arm64 as the former is not suppored.
This change has also landed on the x/sys repo as CL 12837.
Change-Id: I58d4b144e051e36dd650ec9b7f3a02610ea943e5
Reviewed-on: https://go-review.googlesource.com/12833
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Dave Cheney <dave@cheney.net>
Run-TryBot: Dave Cheney <dave@cheney.net>
Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/syscall/syscall_linux_arm64.go')
| -rw-r--r-- | src/syscall/syscall_linux_arm64.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/syscall/syscall_linux_arm64.go b/src/syscall/syscall_linux_arm64.go index 7ca4164544..3d55181150 100644 --- a/src/syscall/syscall_linux_arm64.go +++ b/src/syscall/syscall_linux_arm64.go @@ -16,7 +16,6 @@ const _SYS_dup = SYS_DUP3 //sysnb Getgid() (gid int) //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) //sysnb Getuid() (uid int) -//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 //sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64 @@ -37,6 +36,10 @@ func Stat(path string, stat *Stat_t) (err error) { return Fstatat(_AT_FDCWD, path, stat, 0) } +func Lchown(path string, uid int, gid int) (err error) { + return Fchownat(_AT_FDCWD, path, uid, gid, _AT_SYMLINK_NOFOLLOW) +} + func Lstat(path string, stat *Stat_t) (err error) { return Fstatat(_AT_FDCWD, path, stat, _AT_SYMLINK_NOFOLLOW) } |
