Reuse readlink parameter, add sockaddr max.

PiperOrigin-RevId: 213058623
Change-Id: I522598c655d633b9330990951ff1c54d1023ec29
This commit is contained in:
Michael Pratt
2018-09-14 16:00:02 -07:00
committed by Shentubot
parent d7a05b4e63
commit 3aa50f18a4
2 changed files with 8 additions and 1 deletions
+4
View File
@@ -140,6 +140,10 @@ const (
SO_TYPE = 3
)
// SockAddrMax is the maximum size of a struct sockaddr, from
// uapi/linux/socket.h.
const SockAddrMax = 128
// SockAddrInt is struct sockaddr_in, from uapi/linux/in.h.
type SockAddrInet struct {
Family uint16
+4 -1
View File
@@ -23,6 +23,9 @@ import (
ktime "gvisor.googlesource.com/gvisor/pkg/sentry/kernel/time"
)
// NulByte is a single NUL byte. It is passed to readlinkat as an empty string.
var NulByte byte = '\x00'
func createLink(fd int, name string, linkName string) error {
namePtr, err := syscall.BytePtrFromString(name)
if err != nil {
@@ -50,7 +53,7 @@ func readLink(fd int) (string, error) {
n, _, errno := syscall.Syscall6(
syscall.SYS_READLINKAT,
uintptr(fd),
uintptr(unsafe.Pointer(syscall.StringBytePtr(""))),
uintptr(unsafe.Pointer(&NulByte)), // ""
uintptr(unsafe.Pointer(&b[0])),
uintptr(l),
0, 0)