blob: 3c12314a9c7d4495458e922f5838b8ec99d5756b [file] [log] [blame]
// Copyright 2024 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build unix
package unix
import (
"runtime"
"syscall"
)
func Eaccess(path string, mode uint32) error {
if runtime.GOOS == "android" {
// syscall.Faccessat for Android implements AT_EACCESS check in
// userspace. Since Android doesn't have setuid programs and
// never runs code with euid!=uid, AT_EACCESS check is not
// really required. Return ENOSYS so the callers can fall back
// to permission bits check.
return syscall.ENOSYS
}
return faccessat(AT_FDCWD, path, mode, AT_EACCESS)
}