From a9441aea2780da8c93da1c73da860219f98438de Mon Sep 17 00:00:00 2001 From: Ayush Ranjan Date: Wed, 3 Mar 2021 10:23:55 -0800 Subject: [op] Replace syscall package usage with golang.org/x/sys/unix in pkg/. The syscall package has been deprecated in favor of golang.org/x/sys. Note that syscall is still used in the following places: - pkg/sentry/socket/hostinet/stack.go: some netlink related functionalities are not yet available in golang.org/x/sys. - syscall.Stat_t is still used in some places because os.FileInfo.Sys() still returns it and not unix.Stat_t. Updates #214 PiperOrigin-RevId: 360701387 --- pkg/usermem/BUILD | 1 + pkg/usermem/access_type.go | 12 +++++------- pkg/usermem/usermem_arm64.go | 7 ++++--- 3 files changed, 10 insertions(+), 10 deletions(-) (limited to 'pkg/usermem') diff --git a/pkg/usermem/BUILD b/pkg/usermem/BUILD index 6c9ada9c7..054269b59 100644 --- a/pkg/usermem/BUILD +++ b/pkg/usermem/BUILD @@ -36,6 +36,7 @@ go_library( "//pkg/log", "//pkg/safemem", "//pkg/syserror", + "@org_golang_x_sys//unix:go_default_library", ], ) diff --git a/pkg/usermem/access_type.go b/pkg/usermem/access_type.go index 9c1742a59..2cfca29af 100644 --- a/pkg/usermem/access_type.go +++ b/pkg/usermem/access_type.go @@ -14,9 +14,7 @@ package usermem -import ( - "syscall" -) +import "golang.org/x/sys/unix" // AccessType specifies memory access types. This is used for // setting mapping permissions, as well as communicating faults. @@ -54,17 +52,17 @@ func (a AccessType) Any() bool { return a.Read || a.Write || a.Execute } -// Prot returns the system prot (syscall.PROT_READ, etc.) for this access. +// Prot returns the system prot (unix.PROT_READ, etc.) for this access. func (a AccessType) Prot() int { var prot int if a.Read { - prot |= syscall.PROT_READ + prot |= unix.PROT_READ } if a.Write { - prot |= syscall.PROT_WRITE + prot |= unix.PROT_WRITE } if a.Execute { - prot |= syscall.PROT_EXEC + prot |= unix.PROT_EXEC } return prot } diff --git a/pkg/usermem/usermem_arm64.go b/pkg/usermem/usermem_arm64.go index fdfc30a66..7e7529585 100644 --- a/pkg/usermem/usermem_arm64.go +++ b/pkg/usermem/usermem_arm64.go @@ -18,13 +18,14 @@ package usermem import ( "encoding/binary" - "syscall" + + "golang.org/x/sys/unix" ) const ( // PageSize is the system page size. // arm64 support 4K/16K/64K page size, - // which can be get by syscall.Getpagesize(). + // which can be get by unix.Getpagesize(). // Currently, only 4K page size is supported. PageSize = 1 << PageShift @@ -47,7 +48,7 @@ var ( func init() { // Make sure the page size is 4K on arm64 platform. - if size := syscall.Getpagesize(); size != PageSize { + if size := unix.Getpagesize(); size != PageSize { panic("Only 4K page size is supported on arm64!") } } -- cgit v1.2.3