]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: check faccessat flags parameter on Linux
authorTobias Klauser <tklauser@distanz.ch>
Wed, 20 Jun 2018 13:41:37 +0000 (15:41 +0200)
committerTobias Klauser <tobias.klauser@gmail.com>
Thu, 21 Jun 2018 06:47:46 +0000 (06:47 +0000)
Port CL 119495 from golang.org/x/sys/unix to the syscall package.

Currently Linux faccessat(2) syscall implementation doesn't support the
flags parameter. As per the discussion in #25845, permit the same flags
as glibc [1].

[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;h=ea42b2303ff4b2d2d6548ea04376fb265f773436;hb=HEAD

Updates #25845

Change-Id: I132b33275a9cc72b3a97acea5482806c7f47d7f7
Reviewed-on: https://go-review.googlesource.com/120015
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
25 files changed:
src/syscall/syscall_linux.go
src/syscall/syscall_linux_test.go
src/syscall/types_linux.go
src/syscall/zsyscall_linux_386.go
src/syscall/zsyscall_linux_amd64.go
src/syscall/zsyscall_linux_arm.go
src/syscall/zsyscall_linux_arm64.go
src/syscall/zsyscall_linux_mips.go
src/syscall/zsyscall_linux_mips64.go
src/syscall/zsyscall_linux_mips64le.go
src/syscall/zsyscall_linux_mipsle.go
src/syscall/zsyscall_linux_ppc64.go
src/syscall/zsyscall_linux_ppc64le.go
src/syscall/zsyscall_linux_s390x.go
src/syscall/ztypes_linux_386.go
src/syscall/ztypes_linux_amd64.go
src/syscall/ztypes_linux_arm.go
src/syscall/ztypes_linux_arm64.go
src/syscall/ztypes_linux_mips.go
src/syscall/ztypes_linux_mips64.go
src/syscall/ztypes_linux_mips64le.go
src/syscall/ztypes_linux_mipsle.go
src/syscall/ztypes_linux_ppc64.go
src/syscall/ztypes_linux_ppc64le.go
src/syscall/ztypes_linux_s390x.go

index 8d0532e216cfea0664f78b619bf54f4458a7b554..1a304c4966308191b9411caef1aadaa4fa59f40b 100644 (file)
@@ -35,6 +35,17 @@ func Creat(path string, mode uint32) (fd int, err error) {
        return Open(path, O_CREAT|O_WRONLY|O_TRUNC, mode)
 }
 
+//sys  faccessat(dirfd int, path string, mode uint32) (err error)
+
+func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
+       if flags & ^(_AT_SYMLINK_NOFOLLOW|_AT_EACCESS) != 0 {
+               return EINVAL
+       } else if flags&(_AT_SYMLINK_NOFOLLOW|_AT_EACCESS) != 0 {
+               return EOPNOTSUPP
+       }
+       return faccessat(dirfd, path, mode)
+}
+
 //sys  fchmodat(dirfd int, path string, mode uint32) (err error)
 
 func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
@@ -840,7 +851,6 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
 //sysnb        EpollCreate(size int) (fd int, err error)
 //sysnb        EpollCreate1(flag int) (fd int, err error)
 //sysnb        EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error)
-//sys  Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
 //sys  Fallocate(fd int, mode uint32, off int64, len int64) (err error)
 //sys  Fchdir(fd int) (err error)
 //sys  Fchmod(fd int, mode uint32) (err error)
index 4490fc24cae4b4917ce0c43cbc869ff767180429..24158bb8b88a05c96de27f652946d2d23b3189ab 100644 (file)
@@ -56,8 +56,39 @@ func touch(t *testing.T, name string) {
 const (
        _AT_SYMLINK_NOFOLLOW = 0x100
        _AT_FDCWD            = -0x64
+       _AT_EACCESS          = 0x200
 )
 
+func TestFaccessat(t *testing.T) {
+       defer chtmpdir(t)()
+       touch(t, "file1")
+
+       err := syscall.Faccessat(_AT_FDCWD, "file1", syscall.O_RDONLY, 0)
+       if err != nil {
+               t.Errorf("Faccessat: unexpected error: %v", err)
+       }
+
+       err = syscall.Faccessat(_AT_FDCWD, "file1", syscall.O_RDONLY, 2)
+       if err != syscall.EINVAL {
+               t.Errorf("Faccessat: unexpected error: %v, want EINVAL", err)
+       }
+
+       err = syscall.Faccessat(_AT_FDCWD, "file1", syscall.O_RDONLY, _AT_EACCESS)
+       if err != syscall.EOPNOTSUPP {
+               t.Errorf("Faccessat: unexpected error: %v, want EOPNOTSUPP", err)
+       }
+
+       err = os.Symlink("file1", "symlink1")
+       if err != nil {
+               t.Fatal(err)
+       }
+
+       err = syscall.Faccessat(_AT_FDCWD, "symlink1", syscall.O_RDONLY, _AT_SYMLINK_NOFOLLOW)
+       if err != syscall.EOPNOTSUPP {
+               t.Errorf("Faccessat: unexpected error: %v, want EOPNOTSUPP", err)
+       }
+}
+
 func TestFchmodat(t *testing.T) {
        defer chtmpdir(t)()
 
index 125f69d60e594a436de79abcf6799349a0538784..3c4c2f2cfd767cf0ab14756e26cb5329bb893113 100644 (file)
@@ -405,6 +405,7 @@ const (
        _AT_FDCWD            = C.AT_FDCWD
        _AT_REMOVEDIR        = C.AT_REMOVEDIR
        _AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
+       _AT_EACCESS          = C.AT_EACCESS
 )
 
 // Terminal handling
index 2877be60e7a8779a3ecc2e0dc3294e28bef070fe..ef79b3e3e24f899e429a168a4ba520b374f5b774 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))
        if e1 != 0 {
index 59d376a45c39361f835da451413e337e5e645bcb..b6638269bebb8cdc59dfc50f278ce2693d233585 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
        if e1 != 0 {
index 4baf713e6132595474be87fcb620ddcc70d102ae..216924ff2037cacb761d796da53de5db3b8f94f8 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))
        if e1 != 0 {
index 4c79cffa9f5b5d1b5c1533f6c05df283a3b2d8de..f2dffa4bacc0e5e99e0eadc86cc3ba99a675ae49 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
        if e1 != 0 {
index 787b5d7b7ed3d69db017b5191d74ab51324b3a85..72eabac8ecd4359f2d445d61d32b2be89ff98ea6 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off>>32), uintptr(off), uintptr(len>>32), uintptr(len))
        if e1 != 0 {
index 63cae60d478073af14fe88775f6619055b692fc3..4180ed1908c61ee82ada91785a4e9ef0199f2ea1 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
        if e1 != 0 {
index e2cf9b8910d27d241fce360d6bbf7474de34f7c5..3b4b5da5397012139943961ca7d520d851218768 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
        if e1 != 0 {
index be5294cd1c62d10984c88436b23cd908161e171e..7114093a11535dada4de7f383c5e3e7eb7904e40 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(off>>32), uintptr(len), uintptr(len>>32))
        if e1 != 0 {
index 2f6db68c4714b0312bdb4a7d5d3e616c1fbf6d9a..b76944e96cde447597226adfd69d7d090a53e89b 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
        if e1 != 0 {
index 44d5c5c87a5f86c9a4b9f9d19f08ec554ae43ed4..613793b0bf310c9e9c972383f9ee1d2fbee01a6e 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
        if e1 != 0 {
index ebad9f3080726e723badb78e005df8a80e13fd5c..7c63c3db5832fd93526357e76d66a486d7adf6ce 100644 (file)
@@ -9,6 +9,21 @@ import "unsafe"
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
+func faccessat(dirfd int, path string, mode uint32) (err error) {
+       var _p0 *byte
+       _p0, err = BytePtrFromString(path)
+       if err != nil {
+               return
+       }
+       _, _, e1 := Syscall(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode))
+       if e1 != 0 {
+               err = errnoErr(e1)
+       }
+       return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
 func fchmodat(dirfd int, path string, mode uint32) (err error) {
        var _p0 *byte
        _p0, err = BytePtrFromString(path)
@@ -354,21 +369,6 @@ func EpollCtl(epfd int, op int, fd int, event *EpollEvent) (err error) {
 
 // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
 
-func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
-       var _p0 *byte
-       _p0, err = BytePtrFromString(path)
-       if err != nil {
-               return
-       }
-       _, _, e1 := Syscall6(SYS_FACCESSAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-       if e1 != 0 {
-               err = errnoErr(e1)
-       }
-       return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
 func Fallocate(fd int, mode uint32, off int64, len int64) (err error) {
        _, _, e1 := Syscall6(SYS_FALLOCATE, uintptr(fd), uintptr(mode), uintptr(off), uintptr(len), 0, 0)
        if e1 != 0 {
index a73c91770f909e6ec234a697a761efda493d9c56..c92dfad11464cb8c3543228bbb97e62633e8f9a5 100644 (file)
@@ -576,6 +576,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index 4cbd5d899de9c7d4e938b8422cc70e65c44d687a..623585a63929f8e047d0f2c3eaeb12ad1a2e763b 100644 (file)
@@ -594,6 +594,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index 16aa014adac56c6e39198c8dae16a9bfed2fab4d..0c0a94a52f8791d55b4a78ce82a34fbcfa6a3bb8 100644 (file)
@@ -565,6 +565,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index e5d669cdba712555157a054a563cef686e891cfc..ea682c4efa7e40e45ac4ee41163dec0e7150c4dd 100644 (file)
@@ -572,6 +572,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index 7a8d34dfc24b544f7a388bf20a5f90c8e2246dbf..6d42e48d60fa9fdde6b780b613669a6ba317b93d 100644 (file)
@@ -571,6 +571,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index 8c5a0d1d76c3a4aa358493efd9f9d94ed5e0cc17..397ded1f4d0a72c446812c738340a76ac06bf225 100644 (file)
@@ -577,6 +577,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index 8c5a0d1d76c3a4aa358493efd9f9d94ed5e0cc17..397ded1f4d0a72c446812c738340a76ac06bf225 100644 (file)
@@ -577,6 +577,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index 7a8d34dfc24b544f7a388bf20a5f90c8e2246dbf..6d42e48d60fa9fdde6b780b613669a6ba317b93d 100644 (file)
@@ -571,6 +571,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index 087a70d4436f427efe08797583d5ae7cb7fe08c5..3d295390f6531e01a7ba10958015feba40de9474 100644 (file)
@@ -583,6 +583,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index 8412bddbfab84fea8ddef6b40a101fc6c54d1196..220083d9c54080cc6eec90c1b2dbd4ffdb42f381 100644 (file)
@@ -583,6 +583,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {
index 63c4a83b19cfe6efaf813818dc7da36a50701ad0..280596677436dd3c3856fdfc93168f13cca424c8 100644 (file)
@@ -597,6 +597,7 @@ const (
        _AT_FDCWD            = -0x64
        _AT_REMOVEDIR        = 0x200
        _AT_SYMLINK_NOFOLLOW = 0x100
+       _AT_EACCESS          = 0x200
 )
 
 type Termios struct {