diff options
author | Haibo Xu <haibo.xu@arm.com> | 2019-10-30 03:06:34 +0000 |
---|---|---|
committer | Haibo Xu <haibo.xu@arm.com> | 2019-10-30 05:21:36 +0000 |
commit | 80d0db274ef88f4c53d2d08df52c0f9c58ca53ac (patch) | |
tree | ee10c89b2aada2f623d1c741712d3fdddac19e0f /runsc/fsgofer/fsgofer_unsafe.go | |
parent | dc21c5ca16dbc43755185ffdf53764c7bb4c3a12 (diff) |
Enable runsc/fsgofer support on arm64.
newfstatat() syscall is not supported on arm64, so we resort
to use the fstatat() syscall.
Signed-off-by: Haibo Xu <haibo.xu@arm.com>
Change-Id: I9e89d46c5ec9ae07db201c9da5b6dda9bfd2eaf0
Diffstat (limited to 'runsc/fsgofer/fsgofer_unsafe.go')
-rw-r--r-- | runsc/fsgofer/fsgofer_unsafe.go | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/runsc/fsgofer/fsgofer_unsafe.go b/runsc/fsgofer/fsgofer_unsafe.go index ff2556aee..542b54365 100644 --- a/runsc/fsgofer/fsgofer_unsafe.go +++ b/runsc/fsgofer/fsgofer_unsafe.go @@ -18,34 +18,9 @@ import ( "syscall" "unsafe" - "gvisor.dev/gvisor/pkg/abi/linux" "gvisor.dev/gvisor/pkg/syserr" ) -func statAt(dirFd int, name string) (syscall.Stat_t, error) { - nameBytes, err := syscall.BytePtrFromString(name) - if err != nil { - return syscall.Stat_t{}, err - } - namePtr := unsafe.Pointer(nameBytes) - - var stat syscall.Stat_t - statPtr := unsafe.Pointer(&stat) - - if _, _, errno := syscall.Syscall6( - syscall.SYS_NEWFSTATAT, - uintptr(dirFd), - uintptr(namePtr), - uintptr(statPtr), - linux.AT_SYMLINK_NOFOLLOW, - 0, - 0); errno != 0 { - - return syscall.Stat_t{}, syserr.FromHost(errno).ToError() - } - return stat, nil -} - func utimensat(dirFd int, name string, times [2]syscall.Timespec, flags int) error { // utimensat(2) doesn't accept empty name, instead name must be nil to make it // operate directly on 'dirFd' unlike other *at syscalls. |