summaryrefslogtreecommitdiffhomepage
path: root/pkg
diff options
context:
space:
mode:
authorBrian Geffon <bgeffon@google.com>2018-10-09 09:51:01 -0700
committerShentubot <shentubot@google.com>2018-10-09 09:52:14 -0700
commitacf7a951894a1b445ff61e945e32c989892f476f (patch)
treeb3478390a10454c70dd619924efa22414fa42b0f /pkg
parentae5122eb87b5b453d51b70cffe2a253333af9eb4 (diff)
Add memunit to sysinfo(2).
Also properly add padding after Procs in the linux.Sysinfo structure. This will be implicitly padded to 64bits so we need to do the same. PiperOrigin-RevId: 216372907 Change-Id: I6eb6a27800da61d8f7b7b6e87bf0391a48fdb475
Diffstat (limited to 'pkg')
-rw-r--r--pkg/abi/linux/linux.go1
-rw-r--r--pkg/sentry/syscalls/linux/sys_sysinfo.go1
2 files changed, 2 insertions, 0 deletions
diff --git a/pkg/abi/linux/linux.go b/pkg/abi/linux/linux.go
index a946849c5..de2af80dc 100644
--- a/pkg/abi/linux/linux.go
+++ b/pkg/abi/linux/linux.go
@@ -31,6 +31,7 @@ type Sysinfo struct {
TotalSwap uint64
FreeSwap uint64
Procs uint16
+ _ [6]byte // Pad Procs to 64bits.
TotalHigh uint64
FreeHigh uint64
Unit uint32
diff --git a/pkg/sentry/syscalls/linux/sys_sysinfo.go b/pkg/sentry/syscalls/linux/sys_sysinfo.go
index bd0ffcd5c..6560bac57 100644
--- a/pkg/sentry/syscalls/linux/sys_sysinfo.go
+++ b/pkg/sentry/syscalls/linux/sys_sysinfo.go
@@ -36,6 +36,7 @@ func Sysinfo(t *kernel.Task, args arch.SyscallArguments) (uintptr, *kernel.Sysca
Uptime: t.Kernel().MonotonicClock().Now().Seconds(),
TotalRAM: totalSize,
FreeRAM: totalSize - totalUsage,
+ Unit: 1,
}
_, err := t.CopyOut(addr, si)
return 0, nil, err